Hirdetés

Új hozzászólás Aktív témák

  • Teasüti

    nagyúr

    Tasker autós projekt.

    Azt tudja, hogy az accelero szenzort figyeli és ha rázkódást érzékel, akkor elindít egy segélykérő (SOS, ha tetszik) protokollt. Ez elsőkörben megbizonyosodik arról egy kérdéssel, hogy cselekvőképes vagy-e.
    Ha időn belül nem reagálsz, akkor segélykérő sms-eket küld ki előre beállított számokra. Majd figyeli a bejövő hívásokat és ha nem veszed fel a telefont, elküldi a hivónak a helyzetedet, amit menet közben bemér. Az sms-ben a következő infókat küldi ki: becsült, vagy pontos koordináták (vagy GPS-ről vagy GSM háló alapján); a postai cím, ahova a koordináták mutatnak; egy google maps link rövidítve. Ezekhez mobilnetre van szükség, mivel a Get Location action internetről gyárt koordinátát a gms cella infóból, valamint a program a Google rendszereit használja a címfordításhoz, illetve egy short url szolgáltatást a gmaps link rövidítéséhez (ha nincs net, akkor a hosszú linket küldi el, illetve ismeretlen címet mutat). Ha nincs GPS koordináta, akkor addig próbálkozik, míg sikerül pontosan meghatározni a jelet, ha az akku 40%-nál több, vagy töltőre van kötve. Ha sikerül bemérni, akkor újra elküldi az sms-t a pontos koordinátákkal.

    Tehát max 4 sms-t küldhet 1 számra:
    -segélykérő,
    -nem fogadott hívásnál egy értesítő a hívónak,
    -először egy kis időtúllépéssel megpróbálja bemérni a helyzetet, majd elküldi a hívónak,
    -ha elsőre nincs gps jel, akkor nagyobb időtúllépésekkel addig próbálkozik, amíg lesz, vagy amíg elegendő energia van hozzá, majd elküldi a pontos helyet is.

    Jelenleg kb ennyi a funkciója. Később még kiegészülhet passzív segítségekkel is, tervbe van véve a folyamat végén egy olyan protokoll, amíg a baleset helyszínén nyújthat segítséget figyelemfelkeltéssel, illetve a tulajdonosra vonatkozó információk közlésével pl. mentősöknek személyazonossággal, és a mentéshez szükséges infókkal, mint mittomén, vércsoport, allergiák, stb. Majd lezárja a telefont az illetéktelen használattól (külső alkalmazással - Seal).

    Ami kell hozzá:
    Svox Mariska a beszédszintetizáláshoz, Secure Settings a gps kezeléséhez, feladatkezelőben Tasker engedély, kisegítő lehetőségekben szintén engedély (ez nagyon fontos, enélkül nincs hívás figyelés), egy Bit.ly regisztráció a link rövidítéshez (vagy másik szolgáltatót használtok); jah és mobilnet, mert enélkül "csak" a koordinátákat és a teljes gmaps linket küldi el (viszont net nélkül nem működik a Get Location Net!!!)

    A projekt 10 profilból, 11 Task-ból, kb 200 Action-ből és 1 jelenetből áll jelenleg.
    Az Incar task kezdi a folyamatot, ezt egy parancsikonról hívhatjátok meg az asztalról mondjuk. Ez tartalmazza azokat a beállításokat, amig érvényesülnek egy autóban (vagyis ide adhatjátok hozzá a saját dolgaitokat, mint pl bluetooth bekapcsolása, stb). Fő feladata viszont, hogy bekapcsolja a mobilnetet és a Charge profilt, ami figyeli a töltést, és ha töltőre dugtad, akkor aktiválja az accelero-t és a képernyőt állandóra állítja (a legtöbb telefonon csak bekapcsolt képernyő mellett működik az accelero!).
    A Crash 1-2-3 profil meg az érzékelőt figyeli. Itt az érzékenységgel tessék kísérletezgetni kicsit, mivel itt egy kicsit primitív a Tasker - nem tudni, hogy pontosan mekkora erőknél lép életbe. Ezért is van három profil, mivel nem épp ilyen feladatra szánta a fejlesztő és csak tengelyenként érzékel egy context-ben. A Crash Task-ot futtatja a három profil, ez a Task a gerince a projektnek, ez hívja meg az összes többit. Első körben egy jelenetben érdeklődik a hogylétünk felől, és 10 másodpercünk van válaszolni, aztán intézkedik. Átállítja 2G-re a hálózatot, majd kiküldi a segélykéréseket, bekapcsolja a hívásfigyelést többek közt és elkezdi bemérni a helyzetet először kis timeout-tal, hogy gyorsan tudjon válaszolni a hívásokra, majd ha nincs gps fix, csupán gsm, akkor nagyobb timeout-tal addig próbálkozik újra és újra, míg töltőre van dugva, vagy az akku >40%. Itt vége van. Ezzel párhuzamosan fut az a rész, ami a hívásokra válaszol (Missed call profil). Ez küldözgeti az sms-eket 2 lépcsőben. Minden hívásnál elmenti a hívó számát, és ezek alapján dönti el, hogy kinek és mit kell küldenie. Ha egyszer hívott és nem vettük fel, akkor egy értesítést küld "hogy hát helyzet van, vmiért nem vettem fel, aztán ha újra hívsz, a telefon elküldi a helyzetet". Második hívásnál küldi a bemért infókat, ha pontos, ha becsült. Majd ha nem volt gps fix, akkor addig vár, míg lesz és újra elküldi. The End - ez feltakarít a projekt után, parancsikonról hívható, esetleg berakhatjátok az értesítési sávra.

    Amit személyre kell szabnotok:
    Egyik-másik task végén láthattok Stop parancsokat, azután olyasmiket, amik csak nálam találhatók meg (meg esetleg azoknál, akik az én profiljaimat használják). Ezek némelyike tesztelés céllal maradt bent, némelyiket meg azért raktam ide, hogy ne kelljen kitörölnöm a saját példányomból, amíg publikálom.
    Short Url Task-ban a legelső parancsnál módosítanotok kell a linket a sajátotokra, ami így fog kinézni (ha bitly-t használjátok):
    http://api.bitly.com/v3/shorten?domain=j.mp&login=név&apiKey=jelszó&format=txt&longUrl=%par1

    regisztrálás után itt nézhető meg az API key (jelszó):
    http://bitly.com/a/your_api_key

    Vagy kicserélitek másik linkre, van még kismillió url rövidítő, bár amit én használok, annál rövidebbet még nem láttam. Ha már úgy is szerkesztitek, nyugodtan átrakhatjátok a Path és Attributes mezőkbe a paramétereket e szerint: com/ utáni rész megy a Path-ba egészen a kérdőjelig. Kérdőjel nem kell, azutáni részek meg soronként mennek az Attributes-ban (egy sor pedig egy paraméter, amiket a "&" jel választ el, ezt a jelet szintén nem kell kiírni. Sorok közt enter van.).

    Send Sms Help Taskban vannak a telefonszámok és az sms szövegek. Ezt is mindenki saját szája ízére szabhatja. A helyzetjelentés nem itt van, hanem az Sms and Location Task-ban. Azt nem javaslom megváltoztatni. Kényes kapcsolatok vannak a Task-ok között, kezdve az alprogramok meghívásától egészen a visszaadott értékig és a hiba kikerüléséig.

    Ennyi jutott hirtelen eszembe.

    A használatáért nem vállalok semmilyen felelősséget, a programnak alapvető korlátot szabnak a különböző telefonokon futó különböző feltételek, nem garantálom, h ami nálam működik, az mindenkinél fog és mindenkinél ugyanúgy fog. Illetve a helyzetbemérés alapvetően a telefonon múlik, a címfordítás és a gmaps linkek a Google szolgáltatásaihoz tartoznak, a visszaadott cím nem minden esetben tükrözi a valóságot. Csak a Gps által rögzített koordináták tekinthetők pontosnak, minden más csak tájékoztató jellegű. Tapasztalataim szerint a 2G-s gms hálós bemérés egész pontosnak tekinthető, legalábbis térképen közel ott szokott lenni a kijelölt körzet központja, ahol ténylegesen tartózkodom, szórása a közeli tornyoktól és a gsm cellék felbontásától függ. Ez lehet néhány száz méteres, de akár több kilométeres is.

    A programot ebben a formában tesztelgettem mesterséges körülmények között, hibák előfordulhatnak benne, bár elvileg kiszűrtem mindet, amivel találkoztam. Élesben még nem próbáltam, így e miatt jelenleg béta állapotúnak tekinthető.

    Használjátok egészséggel! :)

    [ Szerkesztve ]

Új hozzászólás Aktív témák