Страница 3 из 6

MQTT для новичков

Добавлено: 20 июл 2018, 12:18
Kotafey
Golan писал(а): 20 июл 2018, 10:36После танцев с подключением и прошивкой ESP-01, никак не соображу как в программе сделать чтобы при нажатии кнопки однократно уходило ON, а при отпускании OFF, то есть как в приложении на смартфоне. И счетчик пробовал и триггеры с переключателями ни фига, к МОТТ конечно это не относится, но чтобы не плодить темы. "Проект" :smile171: внизу

[spoiler]1.jpg[/spoiler]

Отправлено спустя 5 минут 21 секунду:
Сегодня у себя на форуме мне задали вопрос, ответить я не смог, знаниЁФФ маловато еще.
Почему нельзя клиенту непосредственно обращаться к publisher?
Просто представь такую картину
У тебя в каждой комнате есть монитор, на котором отображаются все датчики которые есть по дому. Да ещё скажем, ты можешь посмотреть что было неделю назад. Все они берут информацию с брокера. А тот в свою очередь берёт информацию с датчиков и сохраняет историю. Все мониторы подписаны так, что должны в обязательном порядке получать информацию. Значит брокер должен её хранить до тех пор, пока не передаст. А опрашивает он датчики какие-то раз в секунду, а какие-то раз в минуту. И вот у одного монитора села батарейка. Соответственно он не отписался, а просто пропал. И брокер начинает для него информацию копить. Надолго его памяти хватит?
Так почему бы тому, кому нужна информация, не обращаться за ней непосредственно к датчику?
По вопросу на вашем форуме. Немного не правильно описано представление работы брокера. Представим, что какое либо устройство опубликовало "топик". Брокер отсылает данные этого топика всем подписчикам которые в сети. Если появится новый подписчик, то брокер ничего ему не отправит. Но вы заметите, что на облачных сервисах не так. Да, я лично проверял, спустя несколько месяцев включаю еспэшку и она загружает данные. Так что же делать локально?
Решений несколько. Костыльное, публиковать данные по таймеру. Но как только публикатор замолчит, вновь прибывшие подписчики ничего не получат.
Еще одно решение, в блоках которые я выкладывал ранее на этом форуме есть функция перезапрашивать у брокера последние данные. Но и брокер должен это уметь и быть правильно настроен.
Ну и еще, существуют версии протокола QoS0 , QoS1, QoS2 и другие.

MQTT для новичков

Добавлено: 20 июл 2018, 12:23
Anydy
Kotafey писал(а): 20 июл 2018, 11:58 Длительности импульса р триггера может не хватить для публикации.
Что вы такое говорите? Длительность импульса может быть хоть 0.00001 мкс, главное что бы вызвалась команда публикации. Так что это тут не при чем.

MQTT для новичков

Добавлено: 20 июл 2018, 12:27
Golan
Kotafey писал(а): 20 июл 2018, 12:18QoS0 , QoS1, QoS2
Читал мельком, не было цели подробнее узнать.
Вопрос был в другом у моего коллеги, зачем вообще нужен брокер, когда можно той же кнопке отослать данные сразу получателю?
Я в принципе понимаю зачем, только вот в словах сбульбулировать не могу.

MQTT для новичков

Добавлено: 20 июл 2018, 12:36
Anydy
У меня в блоках пока что не реализована возможность отправки сообщений с QOS1 или QOS2, но это не проблема включить.
Смысл этого в том что брокер будет постоянно слать эти сообщения клиенту, пока клиент не отчитается о получении данного сообщения.
Я тоже не профессионал в этом протоколе, обьясняю как сам понял)))

MQTT для новичков

Добавлено: 20 июл 2018, 12:40
Kotafey
Anydy писал(а): 20 июл 2018, 12:23
Kotafey писал(а): 20 июл 2018, 11:58 Длительности импульса р триггера может не хватить для публикации.
Что вы такое говорите? Длительность импульса может быть хоть 0.00001 мкс, главное что бы вызвалась команда публикации. Так что это тут не при чем.
Приму к сведению. Все время забываю, что это не эл.схема, а программа.

MQTT для новичков

Добавлено: 20 июл 2018, 12:41
Anydy
Golan писал(а): 20 июл 2018, 12:27Вопрос был в другом у моего коллеги, зачем вообще нужен брокер, когда можно той же кнопке отослать данные сразу получателю?
Брокер это посредник, клиент отправил сообщение другому клиенту - пока последний не в сети - сообщение лежит на брокере, клиент включился - сообщение ушло. Как то так))

MQTT для новичков

Добавлено: 20 июл 2018, 12:46
Golan
А если клиент всегда в сети, то в этом случае, брокер бесполезный посредник?

MQTT для новичков

Добавлено: 20 июл 2018, 12:51
Sancho
Golan писал(а): 20 июл 2018, 12:46А если клиент всегда в сети, то в этом случае, брокер бесполезный посредник?
Я тоже хотел быть в курсе, но сейчас не в сети. А сосед хотел знать только содержание влаги, сейчас не в состоянии принять сообщение. :)

Отправлено спустя 47 секунд:
Подписчиков, кол-во, на топик не ограничено.

MQTT для новичков

Добавлено: 20 июл 2018, 12:51
Anydy
Golan писал(а): 20 июл 2018, 12:46А если клиент всегда в сети, то в этом случае, брокер бесполезный посредник?
Ну протокол MQTT подразумевается в работе только клиент - брокер.
Публикация сообщений брокеру может быть "без подтверждения" и С "подтверждением"

MQTT для новичков

Добавлено: 20 июл 2018, 12:54
Kotafey
Anydy писал(а): 20 июл 2018, 12:36У меня в блоках пока что не реализована возможность отправки сообщений с QOS1 или QOS2, но это не проблема включить.
Смысл этого в том что брокер будет постоянно слать эти сообщения клиенту, пока клиент не отчитается о получении данного сообщения.
Я тоже не профессионал в этом протоколе, обьясняю как сам понял)))
Правильно. QOS это качество обслуживания.

MQTT для новичков

Добавлено: 20 июл 2018, 12:56
Golan
Давайте по другому.
Есть лампочка в одной комнате, она всегда в вайфай сидит, это так упрощенно, в другой комнате кнопка включения, тоже всегда в сети.
Можно же данные о нажатии кнопки напрямую передать к лампочке, без всяких брокеров, ну теоретически?

MQTT для новичков

Добавлено: 20 июл 2018, 13:06
Kotafey
Если при отправке данных не установлен флаг Retain, то брокер рассылает всем подписчикам данные и стирает их. Дальше этот топик пуст до новой публикации.

Отправлено спустя 2 минуты 18 секунд:
Golan писал(а): 20 июл 2018, 12:56Давайте по другому.
Есть лампочка в одной комнате, она всегда в вайфай сидит, это так упрощенно, в другой комнате кнопка включения, тоже всегда в сети.
Можно же данные о нажатии кнопки напрямую передать к лампочке, без всяких брокеров, ну теоретически?
Может. Через веб сервер, но нужен протокол, TCP, MODBASE, MQTT и т.п

Отправлено спустя 4 минуты 50 секунд:
Golan писал(а): 20 июл 2018, 12:56Давайте по другому.
Есть лампочка в одной комнате, она всегда в вайфай сидит, это так упрощенно, в другой комнате кнопка включения, тоже всегда в сети.
Можно же данные о нажатии кнопки напрямую передать к лампочке, без всяких брокеров, ну теоретически?
Представте, вам нужно доставить груз(данные) из точки А в точку Б. Дорога между точками WiFi. Можно в руках, можно тачкой, можно машиной. Транспорт это и есть протоколы. А можно катапультой? Нет. Дорога это WiFi.

Отправлено спустя 41 секунду:
RETAIN – при публикации данных с установленным флагом retain, брокер сохранит его. При следующей подписке на этот топик брокер незамедлительно отправит сообщение с этим флагом.

MQTT для новичков

Добавлено: 20 июл 2018, 13:06
Golan
Воот, то есть нужно рассматривать преимущества и недостатки этих протоколов, нужно в инете поискать может есть таблицы сравнения или что то подобное

MQTT для новичков

Добавлено: 20 июл 2018, 13:06
Anydy
Kotafey писал(а): 20 июл 2018, 13:00Если при отправке данных не установлен флаг Retain, то брокер рассылает всем подписчикам данные и стирает их. Дальше этот топик пуст до новой публикации.
Да, верно!
Golan писал(а): 20 июл 2018, 12:56Есть лампочка в одной комнате, она всегда в вайфай сидит, это так упрощенно, в другой комнате кнопка включения, тоже всегда в сети.
Можно же данные о нажатии кнопки напрямую передать к лампочке, без всяких брокеров, ну теоретически?
Конечно можно, используйте другие протоколы!

MQTT для новичков

Добавлено: 20 июл 2018, 13:10
Kotafey
Третьи сутки работает брокер на есп. Два раза по аварии выключали эл.энергию. Все штатно.

MQTT для новичков

Добавлено: 20 июл 2018, 13:13
Golan
Вам бы тему сделать отдельно по этому и подробнее рассказать что там куды тыкать и пихать :smile171: Андрей говорить это утопия, мне лишь бы посидеть и по бульбулировать, интересно же.

MQTT для новичков

Добавлено: 20 июл 2018, 13:17
Anydy
Kotafey писал(а): 20 июл 2018, 13:10Третьи сутки работает брокер на есп. Два раза по аварии выключали эл.энергию. Все штатно.
Ну это конечно хорошо, но не думаю что брокер на ESP будет работать стабильно всегда.....
И какой смысл? Сэкономить тыщу рублей и потерять стабильность?

Отправлено спустя 1 минуту 22 секунды:
Golan писал(а): 20 июл 2018, 13:13Вам бы тему сделать отдельно по этому и подробнее рассказать что там куды тыкать и пихать Андрей говорить это утопия, мне лишь бы посидеть и по бульбулировать, интересно же.
Не совсем понял про что ты? Предлагай! Сделаю!

MQTT для новичков

Добавлено: 20 июл 2018, 13:18
Kotafey
У кого нибудь греются еспэшки? Ощутимо градусов 45.

MQTT для новичков

Добавлено: 20 июл 2018, 13:20
Golan
Anydy писал(а): 20 июл 2018, 13:17Не совсем понял про что ты? Предлагай! Сделаю!
Да я не тебе, а Константину

Отправлено спустя 1 минуту 7 секунд:
Kotafey писал(а): 20 июл 2018, 13:18У кого нибудь греются еспэшки? Ощутимо градусов 45.
У меня сутки стоят две, выше 36 точно, но не горячие.

MQTT для новичков

Добавлено: 20 июл 2018, 13:21
Kotafey
Anydy писал(а): 20 июл 2018, 13:17
Kotafey писал(а): 20 июл 2018, 13:10Третьи сутки работает брокер на есп. Два раза по аварии выключали эл.энергию. Все штатно.
Ну это конечно хорошо, но не думаю что брокер на ESP будет работать стабильно всегда.....
И какой смысл? Сэкономить тыщу рублей и потерять стабильность?

Отправлено спустя 1 минуту 22 секунды:
Golan писал(а): 20 июл 2018, 13:13Вам бы тему сделать отдельно по этому и подробнее рассказать что там куды тыкать и пихать Андрей говорить это утопия, мне лишь бы посидеть и по бульбулировать, интересно же.
Не совсем понял про что ты? Предлагай! Сделаю!
Вот я и узнаю, сколько он будет работать.