IoT Manager - предложения по расширению функционала

Victor

Administrator
Команда форума
Было бы хорошо сделать управление с календарем, или хотя бы с дневным расписанием, например для уличного фонаря. А так же какое-то управление девайсами при отключенном интернете, но это больше к скетчам.
Будет не очень разумно полагаться на то, что мобильный телефон будет выполнять какие-либо действия без участия человека (включение чего-либо по расписанию и т.п.) по следующим причинам
1. Коннект с брокером не гарантирован - вы легко можете оказаться в месте, где интернет недоступен
2. Поддержание коннекта с брокером влечет большие накладные расходы по питанию - батарея на телефоне умрет за пару часов, если телефон в фоне будет держать линк

Так что да, это больше относится к скетчам в ваших устройствах
 

Alex403

New member
Я имел ввиду что сам скетч "запоминал" настройки, расписание, и без управления мобильным уже совершал необходимые действия.
Вопрос немного не по теме, есть описание как правильно использовать виджеты, как отправить их в приложение, и как потом обновлять, и получать от них информацию. Сложно на угад сейчас ковырять готовые скетчи, тк в разных местах все происходит.
 

Victor

Administrator
Команда форума
скетч "запоминал" настройки
Здесь реализовано сохранение данных iot-manager-demo/platformio/heater at master · 4refr0nt/iot-manager-demo · GitHub
Просто примеры получаются очень уж объемистые, если туда кучу дополнительных функций добавлять.
Примеры предназначены для того, чтобы было легче разобраться как взаимодействовать с приложением. Как сделать все остальное - в сети навалом.
 

pvvx

Активный участник сообщества
Вопрос - зачем нужен посредник в виде отдельного MQTT?
На RtlDuino (RTL8710AF) Websocket с SSL/TSL уже написал - можно как-то прямо на него выйти, если фиксированный IP? MQTT сервер доставляется без проблем...
 

KAlexK

New member
если фиксированный IP?
А если не фиксированный? Все, пролетает ваша RtlDuino :) Да и вообще, для конечного пользователя проще завести аккаунт на публичном сервере, чем свой городить, да и надежнее в итоге будет. Так что внешний MQTT - это чуть ли не единственное универсальное решение для простеньких IoT.
 

pvvx

Активный участник сообщества
А если не фиксированный? Все, пролетает ваша RtlDuino :)
Не пролетает. Работает динамический DNS от производителя роутера. Ещё ни разу не сбойнул.
Пролетают всегда только бедные, за НАТ-ом... Но они всегда пролетают, даже через ГСМ - у ESP8266 MTU больше чем пролазит в них. + у ESP всего 128 бит фиксированное шифрование и держать управление "Умным домом" за SHA1 уже прикольно :)
Если не дописать "кексов" в "Дурину" на другие модули к IoT Manager-у, то он может совсем завять...
 
Последнее редактирование:

KAlexK

New member
Работает динамический DNS от производителя роутера.
Да-да, костыли наше все. Вы поймите, конечному пользователю нужно чтобы через минимум действие получить результат, и единственный приемлемый вариант воспользоваться сторонним облачным сервисом. Пока внешний MQTT удобнее всего.

Если не дописать "кексов" в "Дурину" на другие модули к IoT Manager-у, то он может совсем завять...
Вы имеете в виду Arduino? Если да, то пишете правильно, так понятнее. Да, и очевидно, что IoT Manager вообще никак и никаким боком не привязан ни к одному модулю. Пишите клиентов под них, при чем тут "предложения по расширению функционала"?
 

pvvx

Активный участник сообщества
Вы имеете в виду Arduino? Если да, то пишете правильно, так понятнее. Да, и очевидно, что IoT Manager вообще никак и никаким боком не привязан ни к одному модулю. Пишите клиентов под них, при чем тут "предложения по расширению функционала"?
Привязан, да ещё как, а создавать эмуляторы библиотек ESP8266 на других модулях нет никакого желания.
 

pvvx

Активный участник сообщества
Боюсь, вы заблуждаетесь. Примеры на nodejs, которые хоть на PC запускаются, должны вас разубедить :)
Не вижу - iot-manager-demo/ArduinoIDE at master · 4refr0nt/iot-manager-demo · GitHub - Только ESP8266.
Т.е. вы предлагаете использовать PC, а не разнообразные модули в качестве исполнительных устройств? :eek:

Если переводить иначе – требования к исполнительным устройствам для работы с IotManager:

1) Полнофункциональный PC
2) ESP8266.

Всё остальное не подходит? :confused: (для быстрого освоения пользователями).

На сегодняшний день и ближайшее время устройства модулей для IoT не поддерживают “nodejs” и возможно никогда не будут.

На сегодня уже сотни модулей имеет поддержку MQTT, WebSocketcTSL/SSL. Но проект не имеет примеров работы с ними и гибкости в выборе исполнительных устройств. А это является определяющим в его распространении. По вашему - пусть так и останется. Ну и ладно... Хозяин-барин :)
 
Последнее редактирование:

KAlexK

New member
Т.е. вы предлагаете использовать PC
Вы искажаете смысл моего поста ;) Поясню, что я только привел пример, как клиента для работы с IoT Manager можно запустить и на PC, никакой привязки именно к ESP8266 нет ни в одном месте.

Но проект не имеет примеров работы с ними
Ну так пишите :) ИМХО автор предоставил более чем достаточно информации и объяснений, чтобы писать клиентов под что угодно, и все ваши претензии выдуманные и не имеют никаких оснований.
 

roiksv

Member
Хотелось бы иметь 2 варианта подключения: 1-в домашней сети (по ssid и mac роутера), 2-вне дома (например по ip или ddns). Приоритет выставляет пользователь
 

Victor

Administrator
Команда форума
Хотелось бы иметь 2 варианта подключения: 1-в домашней сети (по ssid и mac роутера), 2-вне дома (например по ip или ddns). Приоритет выставляет пользователь
Если вы имеете ввиду 2 и более брокера, то этого пока в планах нет.
А про ssid я не понял.
 

roiksv

Member
Домашний брокер крутится на 10.10.10.10. Домашняя сеть SSID home_WIFi, mac Xxxxx.... Как только телефон дома-соединение с 10.10.10.10, вне дома-с роутером на внешний ip и открытый порт, или через ddns сервисы. Приоритет такого соединения выбирает пользователь как и саму ее возможность.
 

Victor

Administrator
Команда форума
Домашний брокер крутится на 10.10.10.10
да, теперь понял.
Но сейчас пока возможности получить имя подключенной WiFi сети нет, чтобы реализовать данный функционал, возможно позднее получится это сделать.
 

Browny

New member
Добрый вечер!
Прошу прощения, если это уже реализовано, например, с помощью стилей css, но: хотелось бы получить форматный вывод значения для виджета anydata, например, аналогично форматированию sprintf. Например: "%s C". Почему не формировать готовую строку? Чтобы разные подписчики получали числовое значение без лишнего "обвеса". Например, где-то по температуре будет строиться график, а где-то она будет отображаться с суффиксом "C".
Кстати, коды UTF-символов можно передавать/размещать в виджете?
 

Victor

Administrator
Команда форума
форматный вывод значения для виджета anydata
у нас все в стиле HTML5+CSS, но и сишные штуки прикрутить можно, но писать придется вручную парсер, т.е. в HTML5 сишные алгоритмы... как-то не кошерно. Однако вы можете в anydata с устройства отправлять уже отформатированную строку, например [inline]20,2 C[/inline] - все в ваших руках
 

Browny

New member
@Victor, я как раз хотел бы избавиться от форматирования на стороне отправителя, чтобы температура имела числовое значение в отправляемом сообщении mqtt. В свою очередь, если бы можно было в виджете иметь возможность форматировать результат - было бы удобно. Хотя бы иметь две строковые переменные, подставляемые перед и после значения. Необязательно делать маску на базе сишного синтаксиса - можно использовать шаблоны, теги, главное - чтобы можно было, отдавая виджет в config, разместить в самом виджете шаблон отображаемых данных.
 

Browny

New member
@Victor, не помогло. Точнее, проблемы с парсингом JSON: "Error parsing JSON arrived message...". Возможно, парсер реагирует на фигурную скобку, пытаясь выполнить разбор JSON?
 
Сверху Снизу