gps и доступ извне

Разработка дополнительных модулей, подключение различных приложений.

Модератор: immortal

Logrus
Сообщения: 2079
Зарегистрирован: Пт апр 07, 2017 12:20 pm
Благодарил (а): 313 раз
Поблагодарили: 457 раз

Re: Модуль GPS-трекер

Сообщение Logrus » Ср апр 18, 2018 7:28 pm

про имена, намедни я так понял модуль (другой) аналогично обзывает класс, ну и далее
может как в простых устройствах если класс модуля вначале м и т.д.
так к слову
Telegram | Блог
Raspberry Pi3, с образа от Сергея 3.31, PHP 7, флешка 16 Гб работает с 10.09.2017
Почти всё время уходит на исправление ошибок, оставшееся - на их повторение. (с) ))) Спасибо
xneo
Сообщения: 21
Зарегистрирован: Пн апр 24, 2017 4:35 am
Благодарил (а): 4 раза
Поблагодарили: 1 раз

Re: Модуль GPS-трекер

Сообщение xneo » Чт апр 26, 2018 1:13 pm

А как запускать оптимизацию лога из планировщка например или еще как нибудь? Например раз в неделю.
Аватара пользователя
ipc2002
Сообщения: 125
Зарегистрирован: Пн май 15, 2017 8:13 pm
Откуда: Москва
Благодарил (а): 102 раза
Поблагодарили: 14 раз
Контактная информация:

Re: Модуль GPS-трекер

Сообщение ipc2002 » Пт июн 08, 2018 1:00 am

Подскажите, пожалуйста, а можно как-то сделать так, чтоб во вкладке Действия, в выполняющемся по событию коде использовать поля Местоположение и Пользователь? Как, например, реализовано обращение к $host['TITLE'] в приложении Устройства Онлайн?

Код: Выделить всё

say("Устройство ".$host['TITLE']." появилось в сети." ,0);
Т.е. чтобы, например, создать универсальный сценарий вроде:

Код: Выделить всё

say($action['USER'].' в '.$action['LOCATION'].'. Позвони, если что-то нужно купить',1);
а вместо переменных автоматически подставлялись значения в зависимости от выбранных полей во вкладке Действия модуля...

P.S.: Надеюсь понятно объяснил))
За это сообщение автора ipc2002 поблагодарил:
Samir77 (Сб июн 30, 2018 10:26 pm)
Рейтинг: 1.16%
Аватара пользователя
igorewa
Сообщения: 515
Зарегистрирован: Ср дек 21, 2016 11:54 pm
Откуда: Киев
Благодарил (а): 12 раз
Поблагодарили: 43 раза

Re: Модуль GPS-трекер

Сообщение igorewa » Сб июн 09, 2018 12:17 am

xneo писал(а):
Чт апр 26, 2018 1:13 pm
А как запускать оптимизацию лога из планировщка например или еще как нибудь? Например раз в неделю.
Присоединяюсь к вопросу
За это сообщение автора igorewa поблагодарил:
Samir77 (Ср авг 01, 2018 4:30 pm)
Рейтинг: 1.16%
ASUS H110T, I5 7500, DDR4-16Gb, SSD256 . WIN10 64 (LTSB)
Аватара пользователя
xor
Сообщения: 2038
Зарегистрирован: Сб ноя 22, 2014 8:45 pm
Благодарил (а): 284 раза
Поблагодарили: 629 раз

Re: Модуль GPS-трекер

Сообщение xor » Сб июн 09, 2018 11:36 am

Код оптимизации лога лежит в ...\modules\app_gpstrack\gpslog_search.inc.php

Код: Выделить всё

  set_time_limit(6000);
  $records=SQLSelect("SELECT gpslog.ID, gpslog.DEVICEID, gpslog.LOCATION_ID, gpsdevices.ID as GPS_DEVICE_ID FROM gpslog LEFT JOIN gpsdevices ON gpslog.DEVICE_ID=gpsdevices.ID ORDER BY gpslog.DEVICEID, gpslog.ADDED DESC");
  $total=count($records);
  $to_delete=array();
  for($i=1;$i<$total-1;$i++) {
   if (!$records[$i]['GPS_DEVICE_ID']) {
    SQLExec("DELETE FROM gpslog WHERE ID=".$records[$i]['ID']);
    continue;
   }
   if (!$records[$i]['LOCATION_ID']) continue;
   if ($records[$i]['LOCATION_ID']==$records[$i+1]['LOCATION_ID'] && $records[$i]['LOCATION_ID']==$records[$i-1]['LOCATION_ID']
      && $records[$i]['GPS_DEVICE_ID']==$records[$i+1]['GPS_DEVICE_ID'] && $records[$i]['GPS_DEVICE_ID']==$records[$i-1]['GPS_DEVICE_ID']) {
    //$to_delete[]=$records[$i]['ID'];
    SQLExec("DELETE FROM gpslog WHERE ID=".$records[$i]['ID']);
   }

   if ($i%200==0) {
     echo ".";
     echo str_repeat(' ', 1024);
     flush();
     flush();
   }

  }
  /*
  if ($to_delete[0]) {
   $total=count($to_delete);
   for($i=0;$i<$total;$i++) {
    SQLExec("DELETE FROM gpslog WHERE ID=".$to_delete[$i]);
   }
   $this->redirect("?");
  }
  */
  SQLExec("OPTIMIZE TABLE `gpslog`");

     echo " DONE";
     echo str_repeat(' ', 1024);
     flush();
     flush();

     exit;
Можно оформить его скриптом и пользоваться.
За это сообщение автора xor поблагодарил:
Samir77 (Пн фев 10, 2020 12:00 am)
Рейтинг: 1.16%
dmw
Сообщения: 469
Зарегистрирован: Вт мар 12, 2013 1:22 am
Благодарил (а): 41 раз
Поблагодарили: 81 раз

Re: Модуль GPS-трекер

Сообщение dmw » Чт июн 21, 2018 11:12 am

Если из браузера обратиться к модулю то выводится последнее сообщение лога Алисы, причем в английской транскрипции, зачем это так сделано?
Даже на демке также работает (http://md-demo.vpnki.ru/gps.php):
11:07 Sistemnyy status izmenilsya na Krasnyy.
zoldaten
Сообщения: 158
Зарегистрирован: Вт авг 23, 2016 3:08 pm
Откуда: Москва
Благодарил (а): 5 раз
Поблагодарили: 22 раза
Контактная информация:

Re: Модуль GPS-трекер

Сообщение zoldaten » Пт июн 29, 2018 11:44 am

пытаюсь прикрутить самодельный gps-tracker (фото).
tracker обращается к файлу на другом сервере (write.php - аналог gps.php в majordomo) с содержимым:
<?php
$ip = $_SERVER['REMOTE_ADDR']; //получаем IP адрес клиента
$client = $_SERVER['HTTP_USER_AGENT']; //получаем идентификатор HTTP клиента
$today = date("Y.m.d H:i:s"); //получаем текущие дату и время
$f = fopen("log.csv","a"); //открываем файл для добавления данных
$parama = $_REQUEST['a']; //получаем значение переменной "а"
$paramb = $_REQUEST['b']; //получаем значение переменной "b"
$parama0 = $_REQUEST['a0']; //получаем значение переменной "a0"
$parama1 = $_REQUEST['a1']; //получаем значение переменной "a1"
fwrite($f,"<div class='row'><div class='cell1'> $today </div> <div class='cell2'> $ip </div><div class='cell3'> $client </div><div class='cell4'> $parama </div><div class='cell5'> $paramb </div><div class='cell6'><a href='https://yandex.ru/maps/?source=serp_navig&text=$parama + $paramb'>Яндекс.Карты</a></div><div class='cell6'>$parama0</div><div class='cell6'>$parama1</div></div>"); //запись данных в файл
fclose($f); //закрываем файл
?>

что надо поправить в gps.php, чтобы все работало ?
какая строка отправки данных для корректного приема в gps.php ?
или что поправить в строке отправки ?
сейчас строка отправки такая:
tempstr = String("AT+HTTPPARA=\"URL\",\"мой_сайт/gps/write.php?a=" + dataa + "&b=" + datab + "&a0=" + String(dataA0) +"&a1=" + String(dataA1) +"\"");
Вложения
gps-tracker.jpg
gps-tracker.jpg (3.54 МБ) 4077 просмотров
Raspberry pi3 на X820 с собственного образа MJD, broadlink rm mini3, sonoff basic, самодельные погодные станции и wi-fi розетки на esp8266 esp-01.физический robot-дворецкий.
xneo
Сообщения: 21
Зарегистрирован: Пн апр 24, 2017 4:35 am
Благодарил (а): 4 раза
Поблагодарили: 1 раз

Re: Модуль GPS-трекер

Сообщение xneo » Вт июл 17, 2018 4:54 am

Всем привет!
В модуле есть одна незначительная проблема (у меня по крайней мере).
Во вкладке Места при редактировании какого либо места внизу слева есть превью этого места, которое всегда ссылается на гуглокарты (которые без ключа API не работают: "The Google Maps Platform server rejected your request. You must use an API key to authenticate each request to Google Maps Platform APIs. For additional information, please refer to http://g.co/dev/maps-no-account"), несмотря на то что в настройках выбрано использование яндекскарт и в остальных местах подгружаются именно яндекскарты.

Изображения:
СпойлерПоказать
Screenshot_5.png
Screenshot_5.png (18.5 КБ) 4015 просмотров
Screenshot_4.png
Screenshot_4.png (17.17 КБ) 4015 просмотров
Screenshot_3.png
Screenshot_3.png (22.75 КБ) 4015 просмотров
ОБН:
В файле <место где размещен MD>/templates/app_gpstrack/gpslocations_edit.html
(Обычно это /var/www/templates/app_gpstrack/gpslocations_edit.html)
нужно заменить:

Код: Выделить всё

[#if ID!=""#]

<img src="https://maps.googleapis.com/maps/api/staticmap?center=[#LAT#],[#LON#]&size=512x512&maptype=hybrid&sensor=false&zoom=14&markers=[#LAT#],[#LON#]" border="0">

[#endif ID#]
на это (добавлен ключ в конце ссылки [#if "<#API_KEY#>"!=""#]&key=<#API_KEY#>[#endif#]):

Код: Выделить всё

[#if ID!=""#]

<img src="https://maps.googleapis.com/maps/api/staticmap?center=[#LAT#],[#LON#]&size=512x512&maptype=hybrid&sensor=false&zoom=14&markers=[#LAT#],[#LON#][#if "<#API_KEY#>"!=""#]&key=<#API_KEY#>[#endif#]" border="0">

[#endif ID#]
Хотя проблему с отображением через гуглокарты вместо яндекскарт это не решает.
За это сообщение автора xneo поблагодарил:
ipc2002 (Вт июл 17, 2018 10:44 am)
Рейтинг: 1.16%
antonpoll
Сообщения: 6
Зарегистрирован: Вс июл 15, 2018 11:12 pm
Благодарил (а): 10 раз
Поблагодарили: 0

Re: Модуль GPS-трекер

Сообщение antonpoll » Пн июл 23, 2018 11:59 am

Помогите разобраться с проблемой.

Логи если с Таскера приходят не постоянно, принудительно посылаешь приходят через раз. (хотя самом первом тесте все определилось сразу)

1. Устройство определяется, и обновляется раз в 2 минуты, но логи не приходят.
2. Логи не приходят.
Но в какой-то момент прораволо и начали приходить, даже успел записать путь на работу, потом в таскере раз запустил ручками, все больше логов нет.
Перезагружаю телефон, может прийти лог, а может нет, но всего один раз. А может просто в какой-то момент прислать. Вот пока писал этот пост логи стали приходить постонно, но так уже было и не факт что снова не переастанут.

Кто виноват? Трекер, Таскер или я? )))
eygen
Сообщения: 392
Зарегистрирован: Чт сен 25, 2014 5:37 pm
Откуда: Екатеринбург
Благодарил (а): 25 раз
Поблагодарили: 52 раза

Re: Модуль GPS-трекер

Сообщение eygen » Пн июл 23, 2018 1:00 pm

antonpoll писал(а):
Пн июл 23, 2018 11:59 am
Помогите разобраться с проблемой.

Логи если с Таскера приходят не постоянно, принудительно посылаешь приходят через раз. (хотя самом первом тесте все определилось сразу)

1. Устройство определяется, и обновляется раз в 2 минуты, но логи не приходят.
2. Логи не приходят.
Но в какой-то момент прораволо и начали приходить, даже успел записать путь на работу, потом в таскере раз запустил ручками, все больше логов нет.
Перезагружаю телефон, может прийти лог, а может нет, но всего один раз. А может просто в какой-то момент прислать. Вот пока писал этот пост логи стали приходить постонно, но так уже было и не факт что снова не переастанут.

Кто виноват? Трекер, Таскер или я? )))
Подозреваемых несколько больше
в список возможных виновных добавил бы еще
1.Телефон (всякие режимы энергосбережения отключают GPS и передачу данных)
2.Интернет.
Ответить