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

Контроллеры на основе ESP8266
Аватара пользователя
Kotafey
Лейтенант
Сообщения: 311
Зарегистрирован: 18 июл 2018, 15:03
Откуда: Геленджик
Имя: Константин

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

Сообщение Kotafey »

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

[spoiler]1.jpg[/spoiler]

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

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

Сообщение Anydy »

Kotafey писал(а): 20 июл 2018, 11:58 Длительности импульса р триггера может не хватить для публикации.
Что вы такое говорите? Длительность импульса может быть хоть 0.00001 мкс, главное что бы вызвалась команда публикации. Так что это тут не при чем.
Аватара пользователя
Golan
Капитан
Сообщения: 827
Зарегистрирован: 26 ноя 2017, 23:18
Откуда: Деревня, 98 домов в Мордовии
Имя: Владимир
Контактная информация:

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

Сообщение Golan »

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

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

Сообщение Anydy »

У меня в блоках пока что не реализована возможность отправки сообщений с QOS1 или QOS2, но это не проблема включить.
Смысл этого в том что брокер будет постоянно слать эти сообщения клиенту, пока клиент не отчитается о получении данного сообщения.
Я тоже не профессионал в этом протоколе, обьясняю как сам понял)))
Аватара пользователя
Kotafey
Лейтенант
Сообщения: 311
Зарегистрирован: 18 июл 2018, 15:03
Откуда: Геленджик
Имя: Константин

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

Сообщение Kotafey »

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

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

Сообщение Anydy »

Golan писал(а): 20 июл 2018, 12:27Вопрос был в другом у моего коллеги, зачем вообще нужен брокер, когда можно той же кнопке отослать данные сразу получателю?
Брокер это посредник, клиент отправил сообщение другому клиенту - пока последний не в сети - сообщение лежит на брокере, клиент включился - сообщение ушло. Как то так))
Аватара пользователя
Golan
Капитан
Сообщения: 827
Зарегистрирован: 26 ноя 2017, 23:18
Откуда: Деревня, 98 домов в Мордовии
Имя: Владимир
Контактная информация:

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

Сообщение Golan »

А если клиент всегда в сети, то в этом случае, брокер бесполезный посредник?
Добро не ценится в современном мире, люди от него наглеют!
Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25 дек 2015, 17:32
Откуда: Ярославль.
Имя: Александр
Поблагодарили: 5 раз
Контактная информация:

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

Сообщение Sancho »

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

Отправлено спустя 47 секунд:
Подписчиков, кол-во, на топик не ограничено.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
Anydy

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

Сообщение Anydy »

Golan писал(а): 20 июл 2018, 12:46А если клиент всегда в сети, то в этом случае, брокер бесполезный посредник?
Ну протокол MQTT подразумевается в работе только клиент - брокер.
Публикация сообщений брокеру может быть "без подтверждения" и С "подтверждением"
Аватара пользователя
Kotafey
Лейтенант
Сообщения: 311
Зарегистрирован: 18 июл 2018, 15:03
Откуда: Геленджик
Имя: Константин

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

Сообщение Kotafey »

Anydy писал(а): 20 июл 2018, 12:36У меня в блоках пока что не реализована возможность отправки сообщений с QOS1 или QOS2, но это не проблема включить.
Смысл этого в том что брокер будет постоянно слать эти сообщения клиенту, пока клиент не отчитается о получении данного сообщения.
Я тоже не профессионал в этом протоколе, обьясняю как сам понял)))
Правильно. QOS это качество обслуживания.
Аватара пользователя
Golan
Капитан
Сообщения: 827
Зарегистрирован: 26 ноя 2017, 23:18
Откуда: Деревня, 98 домов в Мордовии
Имя: Владимир
Контактная информация:

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

Сообщение Golan »

Давайте по другому.
Есть лампочка в одной комнате, она всегда в вайфай сидит, это так упрощенно, в другой комнате кнопка включения, тоже всегда в сети.
Можно же данные о нажатии кнопки напрямую передать к лампочке, без всяких брокеров, ну теоретически?
Добро не ценится в современном мире, люди от него наглеют!
Аватара пользователя
Kotafey
Лейтенант
Сообщения: 311
Зарегистрирован: 18 июл 2018, 15:03
Откуда: Геленджик
Имя: Константин

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

Сообщение Kotafey »

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

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

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

Отправлено спустя 41 секунду:
RETAIN – при публикации данных с установленным флагом retain, брокер сохранит его. При следующей подписке на этот топик брокер незамедлительно отправит сообщение с этим флагом.
Аватара пользователя
Golan
Капитан
Сообщения: 827
Зарегистрирован: 26 ноя 2017, 23:18
Откуда: Деревня, 98 домов в Мордовии
Имя: Владимир
Контактная информация:

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

Сообщение Golan »

Воот, то есть нужно рассматривать преимущества и недостатки этих протоколов, нужно в инете поискать может есть таблицы сравнения или что то подобное
Добро не ценится в современном мире, люди от него наглеют!
Anydy

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

Сообщение Anydy »

Kotafey писал(а): 20 июл 2018, 13:00Если при отправке данных не установлен флаг Retain, то брокер рассылает всем подписчикам данные и стирает их. Дальше этот топик пуст до новой публикации.
Да, верно!
Golan писал(а): 20 июл 2018, 12:56Есть лампочка в одной комнате, она всегда в вайфай сидит, это так упрощенно, в другой комнате кнопка включения, тоже всегда в сети.
Можно же данные о нажатии кнопки напрямую передать к лампочке, без всяких брокеров, ну теоретически?
Конечно можно, используйте другие протоколы!
Аватара пользователя
Kotafey
Лейтенант
Сообщения: 311
Зарегистрирован: 18 июл 2018, 15:03
Откуда: Геленджик
Имя: Константин

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

Сообщение Kotafey »

Третьи сутки работает брокер на есп. Два раза по аварии выключали эл.энергию. Все штатно.
Аватара пользователя
Golan
Капитан
Сообщения: 827
Зарегистрирован: 26 ноя 2017, 23:18
Откуда: Деревня, 98 домов в Мордовии
Имя: Владимир
Контактная информация:

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

Сообщение Golan »

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

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

Сообщение Anydy »

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

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

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

Сообщение Kotafey »

У кого нибудь греются еспэшки? Ощутимо градусов 45.
Аватара пользователя
Golan
Капитан
Сообщения: 827
Зарегистрирован: 26 ноя 2017, 23:18
Откуда: Деревня, 98 домов в Мордовии
Имя: Владимир
Контактная информация:

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

Сообщение Golan »

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

Отправлено спустя 1 минуту 7 секунд:
Kotafey писал(а): 20 июл 2018, 13:18У кого нибудь греются еспэшки? Ощутимо градусов 45.
У меня сутки стоят две, выше 36 точно, но не горячие.
Добро не ценится в современном мире, люди от него наглеют!
Аватара пользователя
Kotafey
Лейтенант
Сообщения: 311
Зарегистрирован: 18 июл 2018, 15:03
Откуда: Геленджик
Имя: Константин

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

Сообщение Kotafey »

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

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

Вернуться в «ESP8266»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 4 гостя