NEWS
Драйвер MQTT
-
а не можешь попробовать откатить на 1.2.5 ? она у меня стабильно работает со стандартными настройками без плясок с бубном.
а на последней сплошные зависания. `
Вроде де бы писали уже, что обрывы из за 2х галочек:-
отсылать состояния при старте
-
использовать chunking заплатку.
Первое: MQTT клиент не может переварить обрушивающийся на него поток данных при старте.
А второе - криворукие и ленивые программисты esp библиотеки, которые думают, что TCP это пакетная передача.
Тоже используешь wifi-iot? `
Может и писал где-то)))Я пошёл по пути (у других работает, а у мну нет, значит проблема у меня) вот и не доставал вопросами "Почему?" Просто опытным путём так сказать дошёл
Наверное эту инфу нужно разместить чтобы все видели (- отсылать состояния при старте
- использовать chunking заплатку.) `
Да я уже всерьёз подумываю её включить по умолчанию. Может вы всё же потормошите максима с wifi iot ? Я считаю, что это наплевательское отношение к клиентам, тем более вроде бы не бесплатно.
-
-
В двух словах, что нужно ему сказать поправить?
Если ещё буду приобретать хоть одну лицензию на ESP, перед приобретением вынесу мозг ему по возможности
-
Да я уже всерьёз подумываю её включить по умолчанию. Может вы всё же потормошите максима с wifi iot ? Я считаю, что это наплевательское отношение к клиентам, тем более вроде бы не бесплатно. `
максима тормошить бесполезно. они сейчас esp32 пилят, новая игрушка.. а клиенты…
-
но другого работающего решения из коробки для ESP нет. `
http://ab-log.ru/forum/viewtopic.php?f=1&t=1130http://forum.iobroker.net/viewtopic.php?f=16&t=3525 `
Вот бы сюда прикрутить PZEM 004 ВольтАмперВаттметр с функцией счётчика. было бы идеально.никто случайно не занимался этим вопросом? При беглом просмотре темы не обнаружил подобного.
-
но другого работающего решения из коробки для ESP нет. `
http://ab-log.ru/forum/viewtopic.php?f=1&t=1130http://forum.iobroker.net/viewtopic.php?f=16&t=3525 `
Вот бы сюда прикрутить PZEM 004 ВольтАмперВаттметр с функцией счётчика. было бы идеально.никто случайно не занимался этим вопросом? При беглом просмотре темы не обнаружил подобного. `
http://forum.iobroker.net/viewtopic.php … =80#p54226 -
В двух словах, что нужно ему сказать поправить?
Если ещё буду приобретать хоть одну лицензию на ESP, перед приобретением вынесу мозг ему по возможности `
` > Привет Максим,
Речь идёт о https://wifi-iot.com/p/wiki/23/ru/ и приёме пакетов.
Например пакет connack выглядит следующим образом: 0x20 0x02 0x00 0x00
Если посылать эти байты по отдельности, то ваш клиент не отвечает. Хотя должен, т.к. TCP это поток, а не пакетный протокол.
Вот переписка по этому поводу на гите: https://github.com/mqttjs/mqtt-packet/issues/24 `
Конкретно речь идёт об этой функции:
https://github.com/tuanpmt/esp_mqtt/blo … qtt.c#L290
Которая должна быть модифицирована, так, что она может принимать на вход отрезки байтов произвольной длинны и сама должна дробить или соединять их, как сделано здесь: https://github.com/knolleary/pubsubclie ... t.cpp#L232
-
….
Как у Вас все заморочено... Не, у меня проще, в качестве сервера WB контроллер (который фактически является ядром) c RS-485, а уж с него MQTT на ioBroker. Может когда-нибудь прикручу к Orange Pi, где также стоит ioBroker, RS-485 - UART и отправлю прямо туда modbus RTU. Но пока нужды нет. `
WB контроллер с RS-485 это что? можно подробнее?
-
-
В двух словах, что нужно ему сказать поправить?
Если ещё буду приобретать хоть одну лицензию на ESP, перед приобретением вынесу мозг ему по возможности `
` > Привет Максим,
Речь идёт о https://wifi-iot.com/p/wiki/23/ru/ и приёме пакетов.
Например пакет connack выглядит следующим образом: 0x20 0x02 0x00 0x00
Если посылать эти байты по отдельности, то ваш клиент не отвечает. Хотя должен, т.к. TCP это поток, а не пакетный протокол.
Вот переписка по этому поводу на гите: https://github.com/mqttjs/mqtt-packet/issues/24 `
Конкретно речь идёт об этой функции:
https://github.com/tuanpmt/esp_mqtt/blo … qtt.c#L290
Которая должна быть модифицирована, так, что она может принимать на вход отрезки байтов произвольной длинны и сама должна дробить или соединять их, как сделано здесь: https://github.com/knolleary/pubsubclie ... t.cpp#L232 `
Я так понял у кого стены крепче…Есть у меня москито на роутере, есть сервер mqtt на винде, нет вопросов работает с прошивкой Максима без проблем, на мобилке приложения управляют без проблем. Проблемы начались после переустановки ioBroker ( умерла миниСД, какой был драйвер до этого был не знаю, но заплаток не было). Вторые сутки колбасит все те устройства которые до этого работали с ioBroker, ложит их в safe mode. Ничего сделать не могу. Я не силен в том должен быть это поток или не поток, знаю только что это протокол и есть его описание. Прошивка Максима работает с двумя серверами которые на данный момент я могу запустить, и протестировал. Так у меня возникает резонный вопрос кого лечить надо, меня, Максима или драйвер? Извините, злой очень. -
Так у меня возникает резонный вопрос кого лечить надо, меня, Максима или драйвер? Извините, злой очень. `
Ошибка в библиотеке MQTT которую Максим использует в своей прошивке. Для обхода этой проблемы Bluefox вставил заплатку в драйвер MQTT на ioBroker-е, заплатка активируется чекбоксом на второй страничке драйвера "Pathch für Chunking"
-
Так у меня возникает резонный вопрос кого лечить надо, меня, Максима или драйвер? Извините, злой очень. `
Ошибка в библиотеке MQTT которую Максим использует в своей прошивке. Для обхода этой проблемы Bluefox вставил заплатку в драйвер MQTT на ioBroker-е, заплатка активируется чекбоксом на второй страничке драйвера "Pathch für Chunking" `
Странная ошибка однако…Только драйвер ioBroker ее видит, причем прозрел недавно. Месяц назад другой драйвер ее в упор не видел. -
` > Например пакет connack выглядит следующим образом: 0x20 0x02 0x00 0x00
Если посылать эти байты по отдельности, то ваш клиент не отвечает. Хотя должен, т.к. TCP это поток, а не пакетный протокол.
Вот переписка по этому поводу на гите: https://github.com/mqttjs/mqtt-packet/issues/24 `
Че то я в танке…"Например пакет connack" тут говорим пакет, потом говорим а вот давайте мы этот пакет отправим отдельными байтами :shock: дальше больше, TCP это поток, ну и естественно этот поток точно знает куда в какую то сторону "течь" и где этот брокер сидит. Блин я окончательно туплю...Если делать пинг то теряются (иногда) какие то части "потока" и какого то пня их назвали "пакетами"...Ну кто нибудь человеческими словами объяснит почему перед этим четыре устройства с ioBroker работали на ура а после переустановки оного неделю назад, напрочь отказались работать? Устройства не перепрошивались с декабря прошлого года. Почему устройства работают с москитто на OpenWRT и Windows, также нормально общаются с облачными серверами? Да кстати, библиотека Arduino PubSubClient.h (врядли Максим ее использует ) оказывается тоже кривая :shock: . Есть у меня еще одно устройство на ESP в котором работает мой скетч Arduino с выше названной библиотекой так оно при подключении к драйверу ioBroker вообще теряет WiFi клиента и переходит в AP. Еще вопрос, а почему приложения для Андроид очень часто аварийно закрываются при работе с драйвером, чего раньше тоже не было?
-
Да кстати, библиотека Arduino PubSubClient.h (врядли Максим ее использует ) оказывается тоже кривая :shock: . Есть у меня еще одно устройство на ESP в котором работает мой скетч Arduino с выше названной библиотекой так оно при подключении к драйверу ioBroker вообще теряет WiFi клиента и переходит в AP. Еще вопрос, а почему приложения для Андроид очень часто аварийно закрываются при работе с драйвером, чего раньше тоже не было? ` PubSubClient.h работает на 10 ардуинах и одной есп без проблем и с новой и старой версией драйвера.
-
Да кстати, библиотека Arduino PubSubClient.h (врядли Максим ее использует ) оказывается тоже кривая :shock: . Есть у меня еще одно устройство на ESP в котором работает мой скетч Arduino с выше названной библиотекой так оно при подключении к драйверу ioBroker вообще теряет WiFi клиента и переходит в AP. Еще вопрос, а почему приложения для Андроид очень часто аварийно закрываются при работе с драйвером, чего раньше тоже не было?
PubSubClient.h работает на 10 ардуинах и одной есп без проблем и с новой и старой версией драйвера.
На ардуино не знаю работает или нет. А на ESP в моем скетче без всем известной птички у меня не работает, клиент WiFi библиотеки WiFiManager.h включает Configuration Portal по какой причине я исследование не проводил, но что то мне подсказывает что по таймауту, который происходит в PubSubClient.h (это мое имхо ). Наверное что то подобное происходит и в прошивке Максима, она переходит в Safe mode с периодичностью отсылки на mggt (сколько секунд установлено). Я не профи в кодировании, по большей части я технарь. И у нас технарей есть очень хороший девиз:" Не мешай технике работать…" . Просто интересно у программистов есть что то подобное? Зачем было ломать то что работало? Для того что бы потом делать костыли? А как быть с приложением Андроид MQTT IoT? До этого работало без особых нареканий, теперь же слетает через раз.Не поленился посмотрел доки по mqtt. Какие такие байты? Это пакетный протокол который работает поверх TCP/IP (в нашем случае) опять же пакетного сетевого протокола.
Я когда случайно встретил инфу о ioBroker и установил то на радоваться не мог. После Majordomo у которого то циклы останавливаются то не запускаются а установка отдельная песня (даже не песня а ода ), чего стоит только это клинопись (PHP) :shock:. А тут все раз и поехало, так на тебе приехало...Теперь у меня очередной трабл java драйвер останавливается.
-
Просто интересно у программистов есть что то подобное? Зачем было ломать то что работало? Для того что бы потом делать костыли? `
Что тебе мешает использовать старую версию?
! filename="Screenshot at März 19 10-40-30.png" index="0">~~
-
Просто интересно у программистов есть что то подобное? Зачем было ломать то что работало? Для того что бы потом делать костыли? `
Что тебе мешает использовать старую версию?
! Screenshot at März 19 10-40-30.png `
За картинку спасибо. А то я не совсем разобрался как делать откат. Теперь только бы знать какая версия драйвера была :shock: . Ставил ioBroker где то в первой половине января. -
Просто интересно у программистов есть что то подобное? Зачем было ломать то что работало? Для того что бы потом делать костыли?
Просто два программиста решили пропихнуть идею ускорения коммуникации и стали отсылать байты сразу, а не составив сначала полное сообщение.Это в этом пакете https://www.npmjs.com/package/mqtt-packet, который за последний месяц скачали 125 925 раз.
Я не смог их уговорить вернуть изменение обратно.
Они упёрлись, как два барана: "Мы всё сделали по спецификации и отвали".
Что мне оставалось делать? Пусть Максим и Вьетнамцы правят свою библиотеку. Я буду тогда третьим бараном. :lol:
-
@Alex1808:
Просто два программиста решили пропихнуть идею ускорения коммуникации и стали отсылать байты сразу, а не составив сначала полное сообщение.Это в этом пакете https://www.npmjs.com/package/mqtt-packet, который за последний месяц скачали 125 925 раз.
Я не смог их уговорить вернуть изменение обратно.
Они упёрлись, как два барана: "Мы всё сделали по спецификации и отвали".
Что мне оставалось делать? Пусть Максим и Вьетнамцы правят свою библиотеку. Я буду тогда третьим бараном. :lol: `
Я так и думал. Что проблема в экономии количества TCP/IP пакетов для отправки пакетов mqtt, иными словами они решили что нечего гонять иногда полупустые пакеты, умники их…Скорость и трафик ускорить решили :lol:, при этом угробить простоту использования. А еще им начхать что основное применение это МК, а они как известно не безразмерные. Любое усложнение библиотек, увеличивает естественно объем кода и замедляет их работу. Интересно небось хорошо знают http://docs.oasis-open.org/mqtt/mqtt/v3 ... c398718018.
Во дают , "специфическое" понимание спецификации :shock: :lol: . Чего то кажется что это они придумали пятое колесо в телеге. Подергаются и утихнут быстренько рога то отвалятся сами собой :lol: . Платформ которые работают без их "улучшений" значительно больше. Жаль нервную систему :evil:. Не дай Боже найдутся другие "рационализаторы - ускорители" и возьмутся за TCP/IP...
-
Теперь только бы знать какая версия драйвера была :shock: . Ставил ioBroker где то в первой половине января. `
две странички назад самое верхние сообщение.
> После обновления 1.3.0 драйвер в циклическом ребуте.
-
Связка iobroker (на Raspberry) + Arduino общаются по протоколу MQTT (драйвер версии 1.3.2). На Arduino стоит Ethernet Shield и коммуникации по кабелю. Началась проблема с
mqtt.0 2017-09-17 08:41:51.485 warn Client error [Arduino_00]: Error: read ECONNRESET ````и постоянные дисконнекты. Почитал форум и решил поставить в настройках драйвера "Использовать заплатку для Chunking"=YES. После этого, драйвер падает при первом же обращении:
mqtt.0 2017-09-17 09:14:13.387 error TypeError: Cannot read property 'length' of undefined at Function.Buffer.concat (buffer.js:289:24) at publish (/opt/iobroker/node_modules/iobroker.mqtt/node_modules/mqtt-connection/node_module
mqtt.0 2017-09-17 09:14:13.386 error uncaught exception: Cannot read property 'length' of undefinedСобственно вопрос: а как можно избавиться от первоначальной проблемы?