GPS-трекер для livegpstracks.com с помощью приложения Tasker.
Отправка данных производится на адрес https://livegpstracks.com/tasker.php методом GET или POST (без разницы) Сервис бесплатный для личного использования.
Используются следующие параметры: DEVTID - уникальный индентификатор устройства. Обычно это IMEI. Для определения этого параметра Tasker'у требуется разрешение "телефон". Если не хочется давать разрешение, то можно указать IMEI самостоятельно, обычным текстом. Если не хочется указывать IMEI, то можно задать произвольный (буквы-цифры английского алфавита), но уникальный идентификатор. LOC - координаты LOCACC - точность LOCALT - высота в метрах LOCSPD - скорость в метрах в секунду TIMES - время старта определения координат (unixtime) LOCTMS - время получения координат (unixtime) BATT - заряд батареи в процентах GPSFIX - типа координат - GPS, LBS или PING. PING-пакет отправляется в том случае, если не удалось получить ни LOC, ни LOCN.
Эти же параметры (кроме GPSFIX) являются глобальными переменными в Tasker. Т.е. в общем случае параметры в Tasker должны выглядеть примерно так:
Код: DEVTID=%DEVTID&LOC=%LOC&BATT=%BATT&LOCACC=%LOCACC&LOCALT=%LOCALT&LOCSPD=%LOCSPD&TIMES=%TIMES Сам трекер работает по приниципу таймера - раз в N минут получили гео-данные, отправили. Если отправка прошла не успешно - данные запоминаются и будет сделана попытка отправить их в следующий раз.
Выше указан основной набор параметров, но можно указать любой набор параметров, на сайте они будут видны в панели дополнительных данных, при построении графиков, использоваться для уведомлений и т.д. Свои параметры доступны трех типов - int, double и string. Тип указывается с помощью префикса. По-умолчанию string, поэтому string можно не указывать. Для чего указывать тип - если это будет параметр типа string, то на график, к примеру, он не выведется. Пример передачи дополнительных параметров:
Код: &GPS=%GPS&INT_BRIGHT=%BRIGHT&%DOUBLE_LOCNACC=%LOCNACC
Код профиля
Код: Profile: GPS Tracker (4) Time: From 12:00AM every 10m Till 11:59PM Enter: TrackerSend (6) Stay Awake A1: Variable Set [ Name:%time_locate_start To:%TIMES Recurse Variables:Off Do Maths:Off Append:Off Max Rounding Digits:3 ] A2: Get Location [ Source:Any Timeout (Seconds):20 Continue Task Immediately:Off Keep Tracking:Off ] A3: If [ %LOCTMS > %time_locate_start | %LOCTMS = %time_locate_start ] A4: Variable Set [ Name:%loc_temp To:DEVTID=%DEVTID&LOC=%LOC&LOCACC=%LOCACC&LOCALT=%LOCALT&LOCSPD=%LOCSPD&TIMES=%time_locate_start&LOCTMS=%LOCTMS&BATT=%BATT&GPSFIX=GPS Recurse Variables:Off Do Maths:Off Append:Off Max Rounding Digits:3 ] A5: Variable Set [ Name:%black_temp To:LOC:%LOC|LOCACC:%LOCACC|LOCALT:%LOCALT|LOCSPD:%LOCSPD|TIMES:%time_locate_start|LOCTMS:%LOCTMS|BATT:%BATT|GPSFIX:GPS; Recurse Variables:Off Do Maths:Off Append:Off Max Rounding Digits:3 ] A6: Else If [ %LOCNTMS > %time_locate_start | %LOCNTMS = %time_locate_start ] A7: Variable Set [ Name:%loc_temp To:DEVTID=%DEVTID&LOC=%LOCN&LOCACC=%LOCNACC&LOCALT=0&LOCSPD=0&TIMES=%time_locate_start&LOCTMS=%LOCNTMS&BATT=%BATT&GPSFIX=LBS Recurse Variables:Off Do Maths:Off Append:Off Max Rounding Digits:3 ] A8: Variable Set [ Name:%black_temp To:LOC:%LOCN|LOCACC:%LOCNACC|LOCALT:0|LOCSPD:0|TIMES:%time_locate_start|LOCTMS:%LOCNTMS|BATT:%BATT|GPSFIX:LBS; Recurse Variables:Off Do Maths:Off Append:Off Max Rounding Digits:3 ] A9: Else A10: If [ %LOCTMS > 0 | %LOCNTMS > 0 ] A11: If [ %LOCTMS > %LOCNTMS | %LOCTMS = LOCNTMS ] A12: Variable Set [ Name:%loc_temp To:DEVTID=%DEVTID&LOC=%LOC&LOCACC=%LOCACC&LOCALT=%LOCALT&LOCSPD=%LOCSPD&TIMES=%time_locate_start&LOCTMS=%LOCTMS&BATT=%BATT&GPSFIX=PING Recurse Variables:Off Do Maths:Off Append:Off Max Rounding Digits:3 ] A13: Variable Set [ Name:%black_temp To:LOC:%LOC|LOCACC:%LOCACC|LOCALT:%LOCALT|LOCSPD:%LOCSPD|TIMES:%time_locate_start|LOCTMS:%LOCTMS|BATT:%BATT|GPSFIX:PING; Recurse Variables:Off Do Maths:Off Append:Off Max Rounding Digits:3 ] A14: Else A15: Variable Set [ Name:%loc_temp To:DEVTID=%DEVTID&LOC=%LOCN&LOCACC=%LOCNACC&LOCALT=0&LOCSPD=0&TIMES=%time_locate_start&LOCTMS=%LOCNTMS&BATT=%BATT&GPSFIX=PING Recurse Variables:Off Do Maths:Off Append:Off Max Rounding Digits:3 ] A16: Variable Set [ Name:%black_temp To:LOC:%LOCN|LOCACC:%LOCNACC|LOCALT:0|LOCSPD:0|TIMES:%time_locate_start|LOCTMS:%LOCNTMS|BATT:%BATT|GPSFIX:LBS; Recurse Variables:Off Do Maths:Off Append:Off Max Rounding Digits:3 ] A17: End If A18: Else A19: Stop [ With Error:Off Task: ] A20: End If A21: End If A22: If [ %BlackCount > 50 ] A23: Variable Clear [ Name:%Black Pattern Matching:Off Local Variables Only:Off ] A24: Variable Set [ Name:%BlackCount To:0 Recurse Variables:Off Do Maths:Off Append:Off Max Rounding Digits:3 ] A25: End If A26: If [ %BlackCount > 0 ] A27: HTTP Request [ Method:POST URL:https://livegpstracks.com/tasker.php Headers:content-type:application/x-www-form-urlencoded Query Parameters: Body:DEVTID=%DEVTID&Black=%Black File To Send: File To Save With Output: Timeout (Seconds):30 Trust Any Certificate:Off Continue Task After Error:On ] A28: If [ %http_data eq OK ] A29: Variable Clear [ Name:%Black Pattern Matching:Off Local Variables Only:Off ] A30: Variable Set [ Name:%BlackCount To:0 Recurse Variables:Off Do Maths:Off Append:Off Max Rounding Digits:3 ] A31: Else A32: Variable Set [ Name:%Black To:%black_temp Recurse Variables:Off Do Maths:Off Append:On Max Rounding Digits:3 ] A33: Variable Add [ Name:%BlackCount Value:1 Wrap Around:0 ] A34: Stop [ With Error:Off Task: ] A35: End If A36: End If A37: HTTP Request [ Method:POST URL:https://livegpstracks.com/tasker.php Headers:content-type:application/x-www-form-urlencoded Query Parameters: Body:%loc_temp File To Send: File To Save With Output: Timeout (Seconds):30 Trust Any Certificate:Off Continue Task After Error:On ] A38: If [ %http_data neq OK ] A39: Variable Set [ Name:%Black To:%black_temp Recurse Variables:Off Do Maths:Off Append:Off Max Rounding Digits:3 ] A40: Variable Add [ Name:%BlackCount Value:1 Wrap Around:0 ] A41: End If
По аналогии можно сделать не только по таймеру, конечно же, но и по любому событию.
Так же профиль прикреплен к посту в виде xml. Или же ссылка на taskernet.
|