mosquitto рулит. Даже под Win естьПора подымать свой MQTT.
Как?
Кратенько - смог.
да не, там все предельно просто (уж попроще Arduino JSON это точно)
вот виджет в JSON в профайле
это и есть JSON, а именно такие конфиги вы и собираете в скетчах, только приходится высчитывать кавычки и т.д., т.к. в Arduino это делать неудобно.Код:[{ "name": "My home", "id": 1, "pages": [{ "pageId": 1, "pageName": "Kitchen" }], "widgets": [{ "descr": "Temp", "id": 1, "idx": 100, "pageId": 1, "widget": "anydata", "topic": "domoticz/out", "class1": "item no-border", "style2": "font-size:20px;float:left", "style3": "font-size:40px;font-weight:bold;float:right" }], "active": true }]
А тут редактируем обычный файл в любом текстовом редакторе.
Есть еще такое такое решение легкого конструирования конфигов. Идея была как раз снизить порог вхождения в тему.
Рассказываю про профайлы.
Изначально тоже была идея снизить порог вхождения, чтобы IoT Manager можно было использовать вообще без программирования. Оказалось вполне такое возможно. Есть такая прошивка ESPEasy (позволяет подключить кучу разных сенсоров прямо через свой веб интерфейс - скетчи править не надо)
И хотим отображать данные с устройств, которые шлют в MQTT одно сообщение (например, температуру) и нельзя настроить логику отправки конфига по HELLO. (это не только ESPEasy, а любой сенсор, совместимый с Domoticz)
Берем за основу протокол DomoticzMQTT, смысл которого заключается в отправке сообщений вида [inline]{"idx":100, "svalue": 22}[/inline] в топик [inline]domoticz/in[/inline], IoT Manager подписывается на этот топик и перехватывает сообщения. Теперь нужно эти данные оформить в виджет. Можно конфиг заранее загрузить "со стороны". Вот profiler именно это и делает: отправляет через MQTT в IoT Manager конфиги наших виджетов. IoT Manager их хранит, между ними можно переключаться (активировать один или несколько профилей). Т.е. профиль это набор виджетов, которые мы прорисовываем при старте, а когда прилетят данные, то вставляем их в виджет в соответствии с заданным в конфиге оформлением. Т.е. вы можете отправлять профиль и вручную через любой MQTT клиент, но profiler проверяет валидность конфига и освобождает от ручных операций. У меня есть один пользователь из Испании, который написал для себя в несколько строчек утилиту на python, которая делает почти тоже самое (только не проверяет вроде)
А сами файлы конфигов вы делаете в любом текстовом редакторе (я делаю в Sublime Text 3 - он раскрашивает и выравнивает для красоты и читабельности).
Вот и предлагаю: раз механизм хранения конфигов уже есть в IoT Manager (с включением/выключение групп виджетов, т.е. профилей), то попробуйте его использовать
home/ HELLO
home//ids 38941007-443f-41e6-9f28-f469cd45439d
home//device {"connection":"WiFi","width":393,"height":762,"platform":"android","platformVersion":7.1,"uuid":"36bb1ae35be173cf"}
home//36bb1ae35be173cf/request {"command":"getPages","param":""}
home//36bb1ae35be173cf/request {"command":"getPageById","param":0}
Давно не проверял, но после "борьбы с ТЕЛЕГРАММ" у меня cloudMQTT не доступен. Пришлось подымать свой MQTT.у меня данные отправляются на cloudMQTT
Не получается несколько графиков в одном виджете...Новый виджет chart
16 14:50:12 GMT+0400 (MSK) Parsed status: for widget id=204 from /Eagle-owl/Clock-Bt/B_chart/status -> {"status":[0,0,0]}
17 14:50:12 GMT+0400 (MSK) Parsed status: for widget id=204 from /Eagle-owl/Clock-Bt/B_chart/status -> {"status":[3,5,1]}
18 14:50:12 GMT+0400 (MSK) Parsed status: for widget id=204 from /Eagle-owl/Clock-Bt/B_chart/status -> {"status":[6,10,2]}
19 14:50:12 GMT+0400 (MSK) Parsed status: for widget id=204 from /Eagle-owl/Clock-Bt/B_chart/status -> {"status":[9,15,3]}
20 14:50:12 GMT+0400 (MSK) Parsed status: for widget id=204 from /Eagle-owl/Clock-Bt/B_chart/status -> {"status":[12,20,4]}
21 14:50:12 GMT+0400 (MSK) Parsed status: for widget id=204 from /Eagle-owl/Clock-Bt/B_chart/status -> {"status":[15,25,5]}
22 14:50:12 GMT+0400 (MSK) Parsed status: for widget id=204 from /Eagle-owl/Clock-Bt/B_chart/status -> {"status":[18,30,6]}
23 14:50:12 GMT+0400 (MSK) Parsed status: for widget id=204 from /Eagle-owl/Clock-Bt/B_chart/status -> {"status":[21,35,7]}
Особенности
Этот виджет может принимать как обычные статус сообщения,
например: { "status" : 22 }, так и массивы для построения
нескольких графиков на одном виджете: { "status": [22, 33, 44] }
for (uint8_t i = 0; i < 8; i ++)
{
pubStatus(sTopic[204], "{\"status\": [" + String(i * 3) + ", " + String(i * 5) + ", " + String(i) + "]}");
}
Уважаемый VICTOR пожалуйста загляните в рубрику -<предложения на заказ> может быть вас это заинтересует....мне нужна ваша помощь на тему ArduinoModbus TCP+ TRUslave по каналу RS485да я тут, просто пытаюсь на жизнь как то заработать, поэтому захожу реже.
Времени заниматься развитием проекта пока нет, но надеюсь что это изменится
.........это как понимать? т.е. что ли новый софт? Дайте ссылку пожалуйста , чтобы время не тратить, пока по изучаю. ......насчёт моей просьбы об помощи насчёт связки --//ESP8266_ModbusTCP+RTU Arduino через линию RS485// всё в силе жду с нетерпением(вышли новые версии всего софта из окружения)
Если мне память не изменяет, должно быть это:Может есть примеры какие для push.
#include <WiFiClientSecure.h>
void push(String push_msg)
{
WiFiClientSecure push_client;
if (!push_client.connect("onesignal.com", 443)) return;
String push_data = "{\"app_id\": \"8871958c-5f52-11e5-8f7a-c36f5770ade9\",\"include_player_ids\":[\"вот-тут-код-из-установленного-на-устройстве-ИОТманагера\"],\"android_group\":\"IoT Manager\",\"contents\": {\"en\": \"" + push_msg + "\"}}";
push_client.println("POST /api/v1/notifications HTTP/1.1");
push_client.print("Host:");
push_client.println("onesignal.com");
push_client.println("User-Agent: esp8266.Arduino.IoTmanager");
push_client.print("Content-Length: ");
push_client.println(push_data.length());
push_client.println("Content-Type: application/json");
push_client.println("Connection: close");
push_client.println();
push_client.println(push_data);
}
C:\Users\Monk>ping onesignal.com
Обмен пакетами с onesignal.com [104.16.36.63] с 32 байтами данных:
Превышен интервал ожидания для запроса.
Превышен интервал ожидания для запроса.
Превышен интервал ожидания для запроса.
Превышен интервал ожидания для запроса.
Статистика Ping для 104.16.36.63:
Пакетов: отправлено = 4, получено = 0, потеряно = 4
(100% потерь)
ФЕДЕРАЛЬНАЯ СЛУЖБА ПО НАДЗОРУ В СФЕРЕ СВЯЗИ,
ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ И МАССОВЫХ КОММУНИКАЦИЙ
УНИВЕРСАЛЬНЫЙ СЕРВИС
проверки ограничения доступа к сайтам и (или) страницам сайтов
сети «Интернет»
РЕЗУЛЬТАТ ПОИСКА
Искомый адрес: 104.16.36.63
Всего найдено записей: 1
Обращаем Ваше внимание, что наличие сайта сети "Интернет" в Реестре вовсе не означает полное ограничение доступа к нему, так как доступ может ограничиваться к отдельной странице сайта в сети "Интернет". Способ блокировки отражается в графе "Ограничение доступа".
Статья основания
внесения в реестр Реквизиты основания внесения в реестр
(орган принявший решение, номер, дата) Ограничение доступа
15.1 ФНС
2-6-27/ 2016-03-12-3-АИ
05.04.2016 ограничивается к ip
Да, это печально - мой провайдер заблокировал OneSignal в прошлую субботу...Push перестал работать...