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

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

Модератор: immortal

skysilver
Сообщения: 3006
Зарегистрирован: Чт авг 21, 2014 8:28 am
Откуда: Киров, Россия
Благодарил (а): 400 раз
Поблагодарили: 1753 раза
Контактная информация:

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

Сообщение skysilver » Чт окт 26, 2017 2:01 pm

Romancho писал(а):UPD. Разобрался. Спасибо за ссылку
Без проблем. Пожалуйста. Для благодарностей есть кнопка "Спасибо", кстати. ;)
MajorDoMo (GitHub) на Cubietruck. ОС Debian 7 (wheezy) (kernel 3.4.105) с переносом на HDD.
Мой CONNECT | Блоги | Telegram
Molostov
Сообщения: 50
Зарегистрирован: Пт янв 17, 2014 1:47 am
Откуда: Карпинск, Свердловская область
Благодарил (а): 135 раз
Поблагодарили: 12 раз

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

Сообщение Molostov » Чт окт 26, 2017 9:15 pm

Создал в классе GPSlocation объект Home, если прописать в методе:

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

Say ('Кто-то пришёл',2);
то всё работает. А вот как узнать кто именно пришёл? Или это проще реализовать в самом приложении?
Не могу сообразить, подскажите пожалуйста.
ученик
Сообщения: 230
Зарегистрирован: Чт фев 12, 2015 2:34 pm
Благодарил (а): 36 раз
Поблагодарили: 6 раз

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

Сообщение ученик » Пт окт 27, 2017 4:17 am

Molostov писал(а):Создал в классе GPSlocation объект Home, если прописать в методе:

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

Say ('Кто-то пришёл',2);
то всё работает. А вот как узнать кто именно пришёл? Или это проще реализовать в самом приложении?
Не могу сообразить, подскажите пожалуйста.
Я у себя сделал так...
В приложении GPS трекер, во вкладке "места", указал координаты геогр. объекта( в яндекс картах, можно узнать координаты ), выбрал радиус действия.
Во вкладке "действия", выбрал раннее созданный в "местах" гоеграф. объект, пользователя, тип действия ( вход в локацию, выход, вход или выход) и пишем код 'say('(сдесь, прописываю к кому это обращение),мама доехала, до центра '), 'say('Хозяин,папа уехал с дачи ').
И еще.
В во всех своих голосовых сообщениях Алисы(Команда say) убрал цифру 2.
Что бы ночью не будила.
Оставил цифру 2 только на определенные голосовые сообщения , но эти сообщения из разряда экстренных.
так как бывали косяки, при включенном ночном режиме, когда Алиса молчит, и все записывает в историю событий, бывает скажет что нить.
server i5, OS-Ubuntu Server 16., 1-wire
php 7, AMS,broadlink rm2,rm3 mini.
Molostov
Сообщения: 50
Зарегистрирован: Пт янв 17, 2014 1:47 am
Откуда: Карпинск, Свердловская область
Благодарил (а): 135 раз
Поблагодарили: 12 раз

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

Сообщение Molostov » Пт окт 27, 2017 12:05 pm

ученик писал(а): Я у себя сделал так...
С этим вопросов нет, так и сделано. Я спрашивал про то, есть ли возможность из класса gpslocation узнать на какого пользователя сработал метод.
Аватара пользователя
xor
Сообщения: 2038
Зарегистрирован: Сб ноя 22, 2014 8:45 pm
Благодарил (а): 284 раза
Поблагодарили: 629 раз

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

Сообщение xor » Пт окт 27, 2017 8:57 pm

В GPS-модуле на вкладке Места есть пункт Виртуальный пользователь.
Не игрались с ним?
Аватара пользователя
xor
Сообщения: 2038
Зарегистрирован: Сб ноя 22, 2014 8:45 pm
Благодарил (а): 284 раза
Поблагодарили: 629 раз

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

Сообщение xor » Пт окт 27, 2017 9:10 pm

+ В обновлённом модуле добавились такие ништяки:
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");
}
За это сообщение автора xor поблагодарил:
Voyager (Пт окт 27, 2017 9:28 pm)
Рейтинг: 1.16%
Аватара пользователя
xor
Сообщения: 2038
Зарегистрирован: Сб ноя 22, 2014 8:45 pm
Благодарил (а): 284 раза
Поблагодарили: 629 раз

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

Сообщение xor » Пт окт 27, 2017 11:07 pm

++Чтобы появился новый функционал взамен старого, как я понял, нужно войти в редактирование существующего Места в GPS-модуле и проверить, что появился Связанный объект с автоназванием LocationNN. У нового объекта заполнено уже свойство Name=названию Места.
Название LocationNN можно поменять на что-нибудь более понятное, но потом придется подправить Связанный объект в Месте GPS-модуля.
directman66
Сообщения: 2801
Зарегистрирован: Пн дек 26, 2016 9:51 am
Откуда: Екатеринбург
Благодарил (а): 380 раз
Поблагодарили: 693 раза
Контактная информация:

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

Сообщение directman66 » Сб окт 28, 2017 2:35 pm

Друзья, как пользователю добавить поле "дату и время последней синхронизации"? В модуле оно отображается, но пользователю это свойство не передается. Есть только время без даты. Может можно поправить что-то в модуле, чтобы в поле .CoordinatesUpdated передавалась и дата?
Если вам помогло данное сообщение, не поленитесь нажать кнопку "спасибо".
CONNECT | Оборудование | Блог | Дополнения | Email | Telegram
eygen
Сообщения: 392
Зарегистрирован: Чт сен 25, 2014 5:37 pm
Откуда: Екатеринбург
Благодарил (а): 25 раз
Поблагодарили: 52 раза

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

Сообщение eygen » Пн окт 30, 2017 9:01 am

Парни подскажите как безопасно передавать gps в mdm! 80 порт открывать наружу что то не хочется. Через connect так понимаю теперь не вариант.
skysilver
Сообщения: 3006
Зарегистрирован: Чт авг 21, 2014 8:28 am
Откуда: Киров, Россия
Благодарил (а): 400 раз
Поблагодарили: 1753 раза
Контактная информация:

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

Сообщение skysilver » Пн окт 30, 2017 9:44 am

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-запрос. Код будет проще.
MajorDoMo (GitHub) на Cubietruck. ОС Debian 7 (wheezy) (kernel 3.4.105) с переносом на HDD.
Мой CONNECT | Блоги | Telegram
Ответить