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

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

Модератор: immortal

ksv
Сообщения: 102
Зарегистрирован: Вт июл 17, 2018 10:19 am

Re: [Модуль] GPS tracker (app_gpstrack)

Сообщение ksv »

Странная проблема - не обновляются поля координат пользователя, подскажите куда копать.

У меня два сервера МД физически в разных местах (оба на RPi3). На одном из них GPS tracker настроен давно и всё хорошо работает. Но я давно не обновлял тот сервер, модуль был установлен December 16, 2018 (17:27). А на втором сервере модуль GPS tracker я удалял и недавно поставил его вновь, устанволен August 13, 2019 (16:12). И вот на втором сервере я настроил всё точно так же, как и на первом, координаты от устройства приходят (телефон шлет координаты сразу на оба сервера), в логе отображаются, устройство к пользователю МД привязано, но в свойствах пользователя пусто - его текущее местоположение не обновляется совсем. Что это может быть?
Аватара пользователя
Vovix
Сообщения: 1155
Зарегистрирован: Пн янв 27, 2014 1:43 am
Откуда: г.Ижевск
Контактная информация:

Re: [Модуль] GPS tracker (app_gpstrack)

Сообщение Vovix »

ksv писал(а): Пт авг 30, 2019 3:55 pm Странная проблема - не обновляются поля координат пользователя, подскажите куда копать.

У меня два сервера МД физически в разных местах (оба на RPi3). На одном из них GPS tracker настроен давно и всё хорошо работает. Но я давно не обновлял тот сервер, модуль был установлен December 16, 2018 (17:27). А на втором сервере модуль GPS tracker я удалял и недавно поставил его вновь, устанволен August 13, 2019 (16:12). И вот на втором сервере я настроил всё точно так же, как и на первом, координаты от устройства приходят (телефон шлет координаты сразу на оба сервера), в логе отображаются, устройство к пользователю МД привязано, но в свойствах пользователя пусто - его текущее местоположение не обновляется совсем. Что это может быть?
iPhone? и iDevice?
Мой -CONNECT-
Windows 7(PHP 7.2) + Raspberry Pi(освещение на 1-Wire) + MP751(управление) + ESP8266(сенсоры) + LAN(сенсоры)
-=: Если вам помогло моё сообщение, нажмите кнопку "Поблагодарить за сообщение автора: Vovix" (кнопка Спасибо) справа! :=-
Аватара пользователя
Divan
Сообщения: 859
Зарегистрирован: Пн июл 08, 2019 5:04 pm

Re: [Модуль] GPS tracker (app_gpstrack)

Сообщение Divan »

У меня была подобная проблема, я решил таким образом. Настроил app_gpstrack так, чтобы все локации не были привязаны к одному пользователю, каждая локация имеет свой объект, по мне это правильно, теперь работает исправно.
Вложения
app_gpstrack.jpg
app_gpstrack.jpg (46.43 КБ) 4265 просмотров
Xpenology DSM 6.2.2 + Ubuntu Server 18.10 + Majordomo + MariaDB
Аватара пользователя
Vovix
Сообщения: 1155
Зарегистрирован: Пн янв 27, 2014 1:43 am
Откуда: г.Ижевск
Контактная информация:

Re: [Модуль] GPS tracker (app_gpstrack)

Сообщение Vovix »

Divan писал(а): Пт авг 30, 2019 8:49 pm У меня была подобная проблема, я решил таким образом. Настроил app_gpstrack так, чтобы все локации не были привязаны к одному пользователю, каждая локация имеет свой объект, по мне это правильно, теперь работает исправно.
там у человека другая проблема!
в общем если используется iDevices, то вот решение: viewtopic.php?f=5&t=4930&start=70#p106866
Мой -CONNECT-
Windows 7(PHP 7.2) + Raspberry Pi(освещение на 1-Wire) + MP751(управление) + ESP8266(сенсоры) + LAN(сенсоры)
-=: Если вам помогло моё сообщение, нажмите кнопку "Поблагодарить за сообщение автора: Vovix" (кнопка Спасибо) справа! :=-
ksv
Сообщения: 102
Зарегистрирован: Вт июл 17, 2018 10:19 am

Re: [Модуль] GPS tracker (app_gpstrack)

Сообщение ksv »

Нет, не айфон у меня. Данные телефон отправляет через Таскер. Данные идут исправно, лог жпс-трекера отображает все корректно. А в свойствах пользователя пусто.
ksv
Сообщения: 102
Зарегистрирован: Вт июл 17, 2018 10:19 am

Re: [Модуль] GPS tracker (app_gpstrack)

Сообщение ksv »

Все что мог перепробовал. Добавил нового юзера, назначил на него. Обновил модуль. Потом удалил его и снова поставил после перезагрузки. Ничего не помогает. То ли я капитально упускаю какую-то мелочь, то-ли реально косяк где-то. Подскажите, как это дебажить? Какой конкретно код выполняет запись данных в объект пользователя? Может у меня файл какой пропал.
Аватара пользователя
xor
Сообщения: 2045
Зарегистрирован: Сб ноя 22, 2014 8:45 pm

Re: [Модуль] GPS tracker (app_gpstrack)

Сообщение xor »

ksv писал(а): Вс сен 01, 2019 4:31 pm Все что мог перепробовал. Добавил нового юзера, назначил на него. Обновил модуль. Потом удалил его и снова поставил после перезагрузки. Ничего не помогает. То ли я капитально упускаю какую-то мелочь, то-ли реально косяк где-то. Подскажите, как это дебажить? Какой конкретно код выполняет запись данных в объект пользователя? Может у меня файл какой пропал.
вы можете прямо в консоли мажора выполнить для проверки гет-запрос с вашими данными из таскера и посмотреть, попадает в свойства юзера что-нибудь.

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

getURL('192.168.1.7/gps.php?latitude=10&longitude=10&provider=Tasker&deviceid=123456',0)
у меня после этого появилось новое устройство, если его привязать к юзеру и повторить вызов команды, данные юзера обновляются. если это не так, смотрите, что таскер шлёт
2019-09-01_17-13-06.png
2019-09-01_17-13-06.png (16.5 КБ) 4205 просмотров
ksv
Сообщения: 102
Зарегистрирован: Вт июл 17, 2018 10:19 am

Re: [Модуль] GPS tracker (app_gpstrack)

Сообщение ksv »

Проверил через консоль. Не помогло. Причем я задал ссылку не из таскера, а тупо из вашего примера но со своим айпишником. Всё тоже самое - в лог GPG-трекера данные приходят, а пользователь не обновляется. Да, новое устройство 123456 появилось, да, пользователя к нему привязал, пробовал и другого пользователя. Глухо как в танке, ничего не обновлется у юзера в свойствах. Тут уж точно таскер ни причём.

На всякий случай, привязать пользователя - это ведь достаточно на вкладе Устройства в трекере выбрать устроство и в нём в поле Пользователь выбрать из выпадающего списка пользователя? Больше ведь ничего не требуется? У меня ощущение,что я что-то забыл сделать, что-то очевидное...
ksv
Сообщения: 102
Зарегистрирован: Вт июл 17, 2018 10:19 am

Re: [Модуль] GPS tracker (app_gpstrack)

Сообщение ksv »

Посмотрел базу данных. В таблице gpsdevices устройство зарегистрировано, ссылка на юзера имеется (USER_ID), ссылка верная, в таблице users пользователь с таким ID в наличии. Всё в порядке. Но в таблице pvalues записей с PROPERTY_ID, соответствующих свойству Coordinates, только одна - у админа, с пустым значением, это созданная системой дефолтная запись. Других нет. Где-то разорвана связь, не пойму куда копать дальше.
Аватара пользователя
xor
Сообщения: 2045
Зарегистрирован: Сб ноя 22, 2014 8:45 pm

Re: [Модуль] GPS tracker (app_gpstrack)

Сообщение xor »

ksv писал(а): Вс сен 01, 2019 8:13 pm Проверил через консоль. Не помогло. Причем я задал ссылку не из таскера, а тупо из вашего примера но со своим айпишником. Всё тоже самое - в лог GPG-трекера данные приходят, а пользователь не обновляется. Да, новое устройство 123456 появилось, да, пользователя к нему привязал, пробовал и другого пользователя. Глухо как в танке, ничего не обновлется у юзера в свойствах. Тут уж точно таскер ни причём.

На всякий случай, привязать пользователя - это ведь достаточно на вкладе Устройства в трекере выбрать устроство и в нём в поле Пользователь выбрать из выпадающего списка пользователя? Больше ведь ничего не требуется? У меня ощущение,что я что-то забыл сделать, что-то очевидное...
Проверьте ваш gps.php, поставьте последний с гита

там привязка девайса к юзеру берется так:

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

      $sqlQuery = "SELECT *
                     FROM gpsdevices
                    WHERE DEVICEID = '123456' ";      
      $device = SQLSelectOne($sqlQuery);
в запросе должно быть заполнено поле USER_ID

дальше ищется так уже с использованием USER_ID

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

 $sqlQuery = "SELECT *
                     FROM users
                    WHERE ID = '" . $device['USER_ID'] . "'";
      
      $user = SQLSelectOne($sqlQuery);
там у юзера должен быть заполнен LINKED_OBJECT
и вот туда уже пишутся данные

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

      if ($user['LINKED_OBJECT'])
      {
         setGlobal($user['LINKED_OBJECT'] . '.Coordinates', $rec['LAT'] . ',' . $rec['LON']);
         setGlobal($user['LINKED_OBJECT'] . '.CoordinatesUpdated', date('H:i'));
         setGlobal($user['LINKED_OBJECT'] . '.CoordinatesUpdatedTimestamp', time());
         if($rec['BATTLEVEL']>0){ 
            setGlobal($user['LINKED_OBJECT'] . '.BattLevel', $rec['BATTLEVEL']); 
            setGlobal($user['LINKED_OBJECT'] . '.Charging', $rec['CHARGING']);
         } 
и тд
Ответить