[Приложение] мой MjDM (Android)

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

Модератор: immortal

Аватара пользователя
SmoKE_xDDD
Сообщения: 816
Зарегистрирован: Ср апр 17, 2019 5:00 pm
Откуда: Нижний Новгород
Благодарил (а): 110 раз
Поблагодарили: 899 раз

Re: [Приложение] мой MjDM (Android)

Сообщение SmoKE_xDDD » Чт фев 06, 2020 9:55 pm

Есть еще предложение, а можем реализовать следующее:
В настройках указываем адрес страницы, приложение парсит например JSON и создает уведомление в строке состояния и далее проводит опрос, например каждые 5 минут.
Объясню зачем:
Я отдаю в JSON данные например "Никого нет дома, температура +26" и вижу это в строке состояния. Виджет виджетом, но имхо это компактнее и удобнее...
За это сообщение автора SmoKE_xDDD поблагодарил:
hc2hunter (Пт фев 07, 2020 9:08 am)
Рейтинг: 1.16%
fandaymon
Сообщения: 1570
Зарегистрирован: Сб янв 13, 2018 5:00 pm
Благодарил (а): 40 раз
Поблагодарили: 578 раз

Re: [Приложение] мой MjDM (Android)

Сообщение fandaymon » Пт фев 07, 2020 12:25 am

hc2hunter писал(а):
Чт фев 06, 2020 9:26 pm
fandaymon писал(а):
Чт фев 06, 2020 8:50 pm
Как это нет? На терминале открывается сокет на порту 7999 и слушаются сообщения, которые туда приходят. Если, например, приходит сообщение tts:Текст, то этот текст надо произнести. Всё, после этого терминал добавляется в систему как поддерживающий droidAPI и на него будут приходить сообщения
чтобы они туда приходили, кто-то их должен полылать.
а для этого сначала в системе нужно завести терминал.

но в целом да, все верно. попробуем поработать в этом направлении...
Ну для того чтобы на мажордроид сообщения приходили, его тоже нужно завести как терминал. Просто всё остальное делает сама система, т.е. если у неё есть сообщение и есть терминал с галочкой Может принимать сообщения и типом majordroid, то дальше система сама пришлет в порт 7999 сообщение tts:сообщение
За это сообщение автора fandaymon поблагодарил:
hc2hunter (Пт фев 07, 2020 11:30 am)
Рейтинг: 1.16%
Аватара пользователя
hc2hunter
Сообщения: 507
Зарегистрирован: Сб дек 02, 2017 10:45 am
Откуда: RUS
Благодарил (а): 228 раз
Поблагодарили: 348 раз

Re: [Приложение] мой MjDM (Android)

Сообщение hc2hunter » Пт фев 07, 2020 11:29 am

С сокетом 7999 вроде разобрался... Организовал прием, попробовал.
Да, если устройство завести как терминал, и в системе указать ему "MajorDroid API" и IP-адрес , то по команде sayTo("text",2,"ДЕВАЙС") на него приходит сообщение tts:text

Однако, само API я не нашел нигде... и наверное оно не афишируется? Поэтому сама система думает, что терминал всегда Offline...
Для полноценного обмена, видимо, нужная обратная связь к серверу MDM, чтобы терминал отчитывался о своем состоянии?
fandaymon
Сообщения: 1570
Зарегистрирован: Сб янв 13, 2018 5:00 pm
Благодарил (а): 40 раз
Поблагодарили: 578 раз

Re: [Приложение] мой MjDM (Android)

Сообщение fandaymon » Пт фев 07, 2020 12:35 pm

hc2hunter писал(а):
Пт фев 07, 2020 11:29 am
С сокетом 7999 вроде разобрался... Организовал прием, попробовал.
Да, если устройство завести как терминал, и в системе указать ему "MajorDroid API" и IP-адрес , то по команде sayTo("text",2,"ДЕВАЙС") на него приходит сообщение tts:text

Однако, само API я не нашел нигде... и наверное оно не афишируется? Поэтому сама система думает, что терминал всегда Offline...
Для полноценного обмена, видимо, нужная обратная связь к серверу MDM, чтобы терминал отчитывался о своем состоянии?
Это API и есть 8-) Описание возможных команд и что они должны делать
Терминал офлайн если с ним некоторое время не было общения. Т.е. с него или на него не ходили сообщения. Вернее так раньше было - сейчас вроде дополнительно раз в час пингует ip адрес
Аватара пользователя
hc2hunter
Сообщения: 507
Зарегистрирован: Сб дек 02, 2017 10:45 am
Откуда: RUS
Благодарил (а): 228 раз
Поблагодарили: 348 раз

Re: [Приложение] мой MjDM (Android)

Сообщение hc2hunter » Пт фев 07, 2020 12:38 pm

Если это API, то какое-то оно "небогатое"... :)
Ну да ладно... я тоже предположил, что вполне вероятно сервер сам пытается по ICMP периодически проверять терминал на живость. С другой стороны откуда ему знать, что терминал с MajorDroidAPI не заменили на любой другой девайс, просто откликающийся на пинг? Поэтому и предположил, что вполне вероятно существует и обратный отклик, который нигде не документирован.
fandaymon
Сообщения: 1570
Зарегистрирован: Сб янв 13, 2018 5:00 pm
Благодарил (а): 40 раз
Поблагодарили: 578 раз

Re: [Приложение] мой MjDM (Android)

Сообщение fandaymon » Пт фев 07, 2020 12:48 pm

hc2hunter писал(а):
Пт фев 07, 2020 12:38 pm
Если это API, то какое-то оно "небогатое"... :)
Ну да ладно... я тоже предположил, что вполне вероятно сервер сам пытается по ICMP периодически проверять терминал на живость. С другой стороны откуда ему знать, что терминал с MajorDroidAPI не заменили на любой другой девайс, просто откликающийся на пинг? Поэтому и предположил, что вполне вероятно существует и обратный отклик, который нигде не документирован.
Всё что надо там есть - чего же не богатое-то?
Так код открыт же - всегда можно посмотреть откуда у флага online ноги растут. Собственно вот код, отвечающий за onine

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

       } elseif ($event == 'HOURLY') {
            // check terminals
            $terminals = SQLSelect("SELECT * FROM terminals WHERE IS_ONLINE=0 AND HOST!=''");
            foreach ($terminals as $terminal) {
                if (ping($terminal['HOST'])) {
                    $terminal['LATEST_ACTIVITY'] = date('Y-m-d H:i:s');
                    $terminal['IS_ONLINE'] = 1;
                    SQLUpdate('terminals', $terminal);
                }
            }
            SQLExec('UPDATE terminals SET IS_ONLINE=0 WHERE LATEST_ACTIVITY < (NOW() - INTERVAL 90 MINUTE)'); //
За это сообщение автора fandaymon поблагодарил:
hc2hunter (Пт фев 07, 2020 1:41 pm)
Рейтинг: 1.16%
Аватара пользователя
hc2hunter
Сообщения: 507
Зарегистрирован: Сб дек 02, 2017 10:45 am
Откуда: RUS
Благодарил (а): 228 раз
Поблагодарили: 348 раз

Re: [Приложение] мой MjDM (Android)

Сообщение hc2hunter » Пт фев 07, 2020 3:36 pm

Понаблюдал - да, действительно, сервер определяет "живость" терминала исключительно пингуя его раз в час...
Что, собственно, и видно из куска кода выше.
Аватара пользователя
tarasfrompir
Сообщения: 3216
Зарегистрирован: Ср мар 02, 2016 8:18 pm
Откуда: Украина Пирятин
Благодарил (а): 223 раза
Поблагодарили: 816 раз

Re: [Приложение] мой MjDM (Android)

Сообщение tarasfrompir » Пт фев 07, 2020 5:09 pm

hc2hunter писал(а):
Пт фев 07, 2020 3:36 pm
Понаблюдал - да, действительно, сервер определяет "живость" терминала исключительно пингуя его раз в час...
Что, собственно, и видно из куска кода выше.
В некоторых вариациях терминалов - время пинга задается вручную. И проверка проводится - проверкой доступности сервиса
Спасибо нам ПОМОЖЕТ..!
Аватара пользователя
tarasfrompir
Сообщения: 3216
Зарегистрирован: Ср мар 02, 2016 8:18 pm
Откуда: Украина Пирятин
Благодарил (а): 223 раза
Поблагодарили: 816 раз

Re: [Приложение] мой MjDM (Android)

Сообщение tarasfrompir » Пт фев 07, 2020 5:13 pm

hc2hunter писал(а):
Пт фев 07, 2020 12:38 pm
Если это API, то какое-то оно "небогатое"... :)
Ну да ладно... я тоже предположил, что вполне вероятно сервер сам пытается по ICMP периодически проверять терминал на живость. С другой стороны откуда ему знать, что терминал с MajorDroidAPI не заменили на любой другой девайс, просто откликающийся на пинг? Поэтому и предположил, что вполне вероятно существует и обратный отклик, который нигде не документирован.
Так реализуй апи с описанием - а мы его затянем в МДМ... Помогу если что
За это сообщение автора tarasfrompir поблагодарил:
hc2hunter (Пт фев 07, 2020 6:42 pm)
Рейтинг: 1.16%
Спасибо нам ПОМОЖЕТ..!
Аватара пользователя
hc2hunter
Сообщения: 507
Зарегистрирован: Сб дек 02, 2017 10:45 am
Откуда: RUS
Благодарил (а): 228 раз
Поблагодарили: 348 раз

Re: [Приложение] мой MjDM (Android)

Сообщение hc2hunter » Пт фев 07, 2020 6:42 pm

tarasfrompir писал(а):
Пт фев 07, 2020 5:13 pm
Так реализуй апи с описанием - а мы его затянем в МДМ... Помогу если что
Не... спасибо, но пока воздержусь...
Мне бы с хотелками пользователей для начала разобраться, а потом уже мечтать о высоких материях :)

Сейчас, вот, сделал голосовое воспроизведение последней команды sayTo на терминал, и уже столкнулся с тем, что в зависимости от системной LOCALE придется писать нехилую обвязку. Так что, работы полно...
Ответить