Страница 1 из 2
Контроль соединения с контроллером
Добавлено: Ср дек 20, 2017 7:30 pm
karsotrade
Подскажите пожалуйста как можно осуществить контроль за наличием соединения с контроллером температуры (Arduino Nano с DHT датчиками, данные передаются через вэб переменные). В случае пропадания связи МЖД с контроллером хотелось бы, чтоб при этом показания температуры и влажности обнулялись (в вэб переменные или в свойства элемента сцены прописывались нули). Может уже есть готовые решения, хотелось бы знать о "пропадании" контроллера.
Re: Контроль соединения с контроллером
Добавлено: Ср дек 20, 2017 7:42 pm
Vovix
karsotrade писал(а):Подскажите пожалуйста как можно осуществить контроль за наличием соединения с контроллером температуры (Arduino Nano с DHT датчиками, данные передаются через вэб переменные). В случае пропадания связи МЖД с контроллером хотелось бы, чтоб при этом показания температуры и влажности обнулялись (в вэб переменные или в свойства элемента сцены прописывались нули). Может уже есть готовые решения, хотелось бы знать о "пропадании" контроллера.
если он у вас через локалку подключен, дак и проверяйте пинг ip адреса! хоть в ручную, хоть через Устройства ONLINE!
Re: Контроль соединения с контроллером
Добавлено: Ср дек 20, 2017 8:03 pm
Берендей
Я зделал это через анализ updatedText, та как если контролер в сети, но данные не шлет, то пингование не выявит проблемы...
Re: Контроль соединения с контроллером
Добавлено: Ср дек 20, 2017 9:16 pm
karsotrade
Берендей писал(а):Я зделал это через анализ updatedText, та как если контролер в сети, но данные не шлет, то пингование не выявит проблемы...
Если датчики "отваливаются" то всё нормально, данные сразу обнуляються, а вот если контроллер отсоединить, то в МЖД в вэб-переменных остаётся последнее значение и оно не обнуляеться. Вот и хочу этот вопрос как то разрешить.
Re: Контроль соединения с контроллером
Добавлено: Ср дек 20, 2017 10:09 pm
Берендей
Я делал так:
Это вызывается в Cron каждую минуту
Код: Выделить всё
if (substr(gg('Sensor_temp03.updatedText'),0,8)=="5 мин")
{ sg('Sensor_temp03.alive',0);
say("Внимание нет связи с метеостанцией",2);
}
Через 5 минут после последнего обновлениея значения датчика сбрасываем alive в 0, и сигнализируем о проблеме.
Re: Контроль соединения с контроллером
Добавлено: Ср дек 20, 2017 11:17 pm
karsotrade
А не подскажите как мне обнулять значение температуры и влажности. Например, в МЖД в сцене есть элемент "Температура/влажность гостинной" с кодом:
%DHTSens1.Temp%℃
%DHTSens1.Hum%%
Соответственно созданы вэб переменные DHTSens1.Temp и DHTSens1.Hum которые опрашивают периодически контроллер.
Каким кодом и где обнулять данные?
Re: Контроль соединения с контроллером
Добавлено: Ср дек 20, 2017 11:20 pm
Molostov
Код: Выделить всё
sg('DHTSens1.Temp',0);
sg('DHTSens1.Hum',0);
Вроде так.
Re: Контроль соединения с контроллером
Добавлено: Ср дек 20, 2017 11:34 pm
Берендей
Выше советовали пинговать Нанку. В Cron создаете событие каждую минуту, в нем пингуете, и вслучае неудачи присваиваете переменым "0".
Re: Контроль соединения с контроллером
Добавлено: Чт дек 21, 2017 12:44 am
xor
Если данные читаются через веб-переменные, можно вывести ещё одну - счетчик любой, типа время или счетчик внутреннего цикла - и читать кроме ваших влажностей и температур и значение счетчика. Если счетчик не меняется, то - всё. Пинговать - время терять, неск. секунд.
Re: Контроль соединения с контроллером
Добавлено: Чт дек 21, 2017 8:33 am
Vovix
Вы тут сейчас насоветуете человеку.... Crone....
Пинговать... я как раз рекомендовал бы через Устройства ONLINE, т.е. завести там запись!
Обнулять... сделайте код с двумя строчками указанными выше (или еще туда чего-нибудь затолкайте)
Код: Выделить всё
sg('DHTSens1.Temp',0);
sg('DHTSens1.Hum',0);
и вызывайте его стандартно вписав в "Действие при переходе в Offline:" в устройствах ONLINE
любители Линукса блин...

, а если у человека MDM на Windows? Он ведь не указывает систему?