По вопросу на вашем форуме. Немного не правильно описано представление работы брокера. Представим, что какое либо устройство опубликовало "топик". Брокер отсылает данные этого топика всем подписчикам которые в сети. Если появится новый подписчик, то брокер ничего ему не отправит. Но вы заметите, что на облачных сервисах не так. Да, я лично проверял, спустя несколько месяцев включаю еспэшку и она загружает данные. Так что же делать локально?Golan писал(а): ↑20.07.2018{, 10:36}После танцев с подключением и прошивкой ESP-01, никак не соображу как в программе сделать чтобы при нажатии кнопки однократно уходило ON, а при отпускании OFF, то есть как в приложении на смартфоне. И счетчик пробовал и триггеры с переключателями ни фига, к МОТТ конечно это не относится, но чтобы не плодить темы. "Проект" внизу
Отправлено спустя 5 минут 21 секунду:СпойлерПоказать1.jpg
Сегодня у себя на форуме мне задали вопрос, ответить я не смог, знаниЁФФ маловато еще.
Почему нельзя клиенту непосредственно обращаться к publisher?
Просто представь такую картину
У тебя в каждой комнате есть монитор, на котором отображаются все датчики которые есть по дому. Да ещё скажем, ты можешь посмотреть что было неделю назад. Все они берут информацию с брокера. А тот в свою очередь берёт информацию с датчиков и сохраняет историю. Все мониторы подписаны так, что должны в обязательном порядке получать информацию. Значит брокер должен её хранить до тех пор, пока не передаст. А опрашивает он датчики какие-то раз в секунду, а какие-то раз в минуту. И вот у одного монитора села батарейка. Соответственно он не отписался, а просто пропал. И брокер начинает для него информацию копить. Надолго его памяти хватит?
Так почему бы тому, кому нужна информация, не обращаться за ней непосредственно к датчику?
Решений несколько. Костыльное, публиковать данные по таймеру. Но как только публикатор замолчит, вновь прибывшие подписчики ничего не получат.
Еще одно решение, в блоках которые я выкладывал ранее на этом форуме есть функция перезапрашивать у брокера последние данные. Но и брокер должен это уметь и быть правильно настроен.
Ну и еще, существуют версии протокола QoS0 , QoS1, QoS2 и другие.