Страница 17 из 53

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

Добавлено: Чт окт 26, 2017 2:01 pm
skysilver
Romancho писал(а):UPD. Разобрался. Спасибо за ссылку
Без проблем. Пожалуйста. Для благодарностей есть кнопка "Спасибо", кстати. ;)

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

Добавлено: Чт окт 26, 2017 9:15 pm
Molostov
Создал в классе GPSlocation объект Home, если прописать в методе:

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

Say ('Кто-то пришёл',2);
то всё работает. А вот как узнать кто именно пришёл? Или это проще реализовать в самом приложении?
Не могу сообразить, подскажите пожалуйста.

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

Добавлено: Пт окт 27, 2017 4:17 am
ученик
Molostov писал(а):Создал в классе GPSlocation объект Home, если прописать в методе:

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

Say ('Кто-то пришёл',2);
то всё работает. А вот как узнать кто именно пришёл? Или это проще реализовать в самом приложении?
Не могу сообразить, подскажите пожалуйста.
Я у себя сделал так...
В приложении GPS трекер, во вкладке "места", указал координаты геогр. объекта( в яндекс картах, можно узнать координаты ), выбрал радиус действия.
Во вкладке "действия", выбрал раннее созданный в "местах" гоеграф. объект, пользователя, тип действия ( вход в локацию, выход, вход или выход) и пишем код 'say('(сдесь, прописываю к кому это обращение),мама доехала, до центра '), 'say('Хозяин,папа уехал с дачи ').
И еще.
В во всех своих голосовых сообщениях Алисы(Команда say) убрал цифру 2.
Что бы ночью не будила.
Оставил цифру 2 только на определенные голосовые сообщения , но эти сообщения из разряда экстренных.
так как бывали косяки, при включенном ночном режиме, когда Алиса молчит, и все записывает в историю событий, бывает скажет что нить.

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

Добавлено: Пт окт 27, 2017 12:05 pm
Molostov
ученик писал(а): Я у себя сделал так...
С этим вопросов нет, так и сделано. Я спрашивал про то, есть ли возможность из класса gpslocation узнать на какого пользователя сработал метод.

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

Добавлено: Пт окт 27, 2017 8:57 pm
xor
В GPS-модуле на вкладке Места есть пункт Виртуальный пользователь.
Не игрались с ним?

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

Добавлено: Пт окт 27, 2017 9:10 pm
xor
+ В обновлённом модуле добавились такие ништяки:
function install($data='') {
parent::install();
addClass('GPSLocations');
addClassMethod('GPSLocations','userEntered','//$params["USER_OBJECT"]'."\n");
addClassMethod('GPSLocations','userLeft','//$params["USER_OBJECT"]'."\n");
addClassProperty('GPSLocations','locationTitle');
addClassProperty('GPSLocations','latestVisit');

addClassMethod('Users','enteredLocation','//$params["LOCATION_OBJECT"], $params["LOCATION"]'."\n");
addClassMethod('Users','leftLocation','//$params["LOCATION_OBJECT"], $params["LOCATION"]'."\n");
}

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

Добавлено: Пт окт 27, 2017 11:07 pm
xor
++Чтобы появился новый функционал взамен старого, как я понял, нужно войти в редактирование существующего Места в GPS-модуле и проверить, что появился Связанный объект с автоназванием LocationNN. У нового объекта заполнено уже свойство Name=названию Места.
Название LocationNN можно поменять на что-нибудь более понятное, но потом придется подправить Связанный объект в Месте GPS-модуля.

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

Добавлено: Сб окт 28, 2017 2:35 pm
directman66
Друзья, как пользователю добавить поле "дату и время последней синхронизации"? В модуле оно отображается, но пользователю это свойство не передается. Есть только время без даты. Может можно поправить что-то в модуле, чтобы в поле .CoordinatesUpdated передавалась и дата?

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

Добавлено: Пн окт 30, 2017 9:01 am
eygen
Парни подскажите как безопасно передавать gps в mdm! 80 порт открывать наружу что то не хочется. Через connect так понимаю теперь не вариант.

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

Добавлено: Пн окт 30, 2017 9:44 am
skysilver
eygen писал(а):Парни подскажите как безопасно передавать gps в mdm! 80 порт открывать наружу что то не хочется. Через connect так понимаю теперь не вариант.
Что-то похожее я делал для webhook telegram. С gps, думаю, можно аналогично сделать.

В апач добавил виртуальный хост, который висит на порту 8443. В /var/www соответственно добавил директорию для этого хоста, у меня это tgwebhook. В ней создал папку, имя которой известно только мне (набор цифр и букв, подобие уникального токена). И туда уже поместил файл webhook_tlg.php с кодом:

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

$content = file_get_contents("php://input");
$update = json_decode($content, TRUE);

$today_file = 'log_' . date('Y-m-d') . '-telegram.php.txt';
$data = date("H:i:s")." " . $content . "\n";
file_put_contents($today_file, $data, FILE_APPEND | LOCK_EX);

$datas = $update;
$data_string = json_encode($datas);

$ch = curl_init('http://127.0.0.1:80/webhook_telegram.php');
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
    'Content-Type: application/json',                                                                                
    'Content-Length: ' . strlen($data_string))
);

curl_exec($ch); 
Суть простая. Все, что приходит, пишем в лог и затем перенаправляем POST-запросом уже в основную систему на 80ый порт ('http://127.0.0.1:80/webhook_telegram.php'). В случае модуля GPS, вероятно, потребуется обычный GET-запрос. Код будет проще.