Комментарии 11
А какие сейчас есть устройства для умного дома, которые поддерживают MQTT из коробки?
0
Не то, чтобы изначально разрабатывались для умного дома, но с чем сталкивался я — панели Weintek
0
Тоже не очень из коробки, но весьма просто: Клиент — ESP8266 с прошивкой ESPEasy, и сервер — Domoticz. Заводятся с пол пинка, очень удобно для первого ознакомления.
0
Topics, на мой взгляд, всё-таки лучше называть топиками, а не темами. Так более привычно.
0
А поясните вот какой момент, в MQTT же идет поверх TCP, как я понял из диаграммы, так TCP же и так гарантирует доставку, на каком уровне работает и зачем тогда нужен QoS? поясните пожалуйста непонятливым?
0
MQTT, как протокол, не обязан идти поверх TCP, но тут, как мне видится, несколько хитрее — некая изоляция «кухни» отправки данных от логики клиента/сервера/брокера:
во-первых, может пропасть связь в процессе отправки, тогда датчик может дождаться возврата связи и повторить, причем, ему не надо «думать» о сохранении значений и т.п.
во-вторых, у брокера есть очередь, которую он может доставить подписчикам после их пере-подключения. У того же mosquitto настраивается как/что/сколько хранить в очереди для отправки в зависимости от QoS или «чистоты» отключения клиента (логофф или отвал связи например)
ну и в-третьих, из своего кода я могу сказать что-то типа mqtt.publish(MQTT::Publish("/sens/sensor1/prop", "{new value:12345}").set_qos(1)) в тот момент, когда вовсе нет связи с внешним сервером, а данные будут отправлены где-то mqtt.loop() в тот момент, когда связь появится…
UPD: ну и по-факту, с QoS=0 довольно часто терялись записи на плохом канале, установка в 1 реально помогала…
во-первых, может пропасть связь в процессе отправки, тогда датчик может дождаться возврата связи и повторить, причем, ему не надо «думать» о сохранении значений и т.п.
во-вторых, у брокера есть очередь, которую он может доставить подписчикам после их пере-подключения. У того же mosquitto настраивается как/что/сколько хранить в очереди для отправки в зависимости от QoS или «чистоты» отключения клиента (логофф или отвал связи например)
ну и в-третьих, из своего кода я могу сказать что-то типа mqtt.publish(MQTT::Publish("/sens/sensor1/prop", "{new value:12345}").set_qos(1)) в тот момент, когда вовсе нет связи с внешним сервером, а данные будут отправлены где-то mqtt.loop() в тот момент, когда связь появится…
UPD: ну и по-факту, с QoS=0 довольно часто терялись записи на плохом канале, установка в 1 реально помогала…
0
TCP/IP гарантирует доставку до брокера, а не получателя.
0
А вы можете привести какие-либо примеры готовых решений на базе MQTT, или, может быть, примеров внедрения где-нибудь на производстве, охранных комплексах, системах мониторинга etc. Насколько сложно и/или дорого будет использовать эту технологию, например, в рамках «умного дома»?
0
Зарегистрируйтесь на Хабре , чтобы оставить комментарий
MQTT и Modbus: cравнение протоколов, используемых в шлюзах для IoT