Страница 13 из 33
MQTT для Arduino, ESP8266, ESP32
Добавлено: 17 фев 2019, 23:13
texbez
Добрый день!
Помогите разобраться -пытаюсь первый раз разобраться с MQTT.
При прошивке esp IDE выкидывает вот это[spoiler]
Screenshot_2.png
[/spoiler].
Что ей надо?
Проект:
Проба MQTT esp.flp
MQTT для Arduino, ESP8266, ESP32
Добавлено: 17 фев 2019, 23:50
User8
smol писал(а): 17 фев 2019, 22:27вопрос. на выходе блока подписки сообщение присутствует на время ?? цикла? до смены сообщения в этом топике? еще как?
всегда, пока не придет новое сообщение в топик.
texbez писал(а): 17 фев 2019, 23:13Что ей надо?
Скачайте
https://github.com/me-no-dev/ESPAsyncTC ... master.zip и установите в arduino ide.
MQTT для Arduino, ESP8266, ESP32
Добавлено: 17 фев 2019, 23:58
int2246
smol писал(а): 17 фев 2019, 22:27Привет Всем!
Не смейтесь, чей-то никак ни могу подсоенить блоки для Arduino ....
no matching function for call to 'PubSubClient::PubSubClient(EthernetClient&, const char [14], int)'
PubSubClient client(mqttClient, "192.168.0.104", 1883);
Отправлено спустя 30 минут 40 секунд:
уфф разобрался....
подскажи что сделал? использую блок MQTT Ethernet Pub v4.1 ардуину нано и ентернет w5100 выскакивает такоеже сообщение при компеляции
exit status 1
no matching function for call to 'PubSubClient::PubSubClient(EthernetClient&, const char [13], int)'
PubSubClient client(mqttClient, "192.168.12.2", 1883);
чем лечил?
MQTT для Arduino, ESP8266, ESP32
Добавлено: 18 фев 2019, 13:14
smol
Снес все библиотеки publishclient , она у меня в двух местах лежала и поставил рекомендуемую
MQTT для Arduino, ESP8266, ESP32
Добавлено: 02 мар 2019, 21:16
smol
Блок отличный, но вот проблем как и где можно выцепить признак прихода сообщения по подписке
Отправлено спустя 5 минут 32 секунды:
никак не могу логику сделать, так чтобы переменную (выход) можно было установить True/False подпиской и паралельно кнопкой сбросить если True и установить если False.
Что скажет коллективный разум?
MQTT для Arduino, ESP8266, ESP32
Добавлено: 05 мар 2019, 18:21
User8
[ref]smol[/ref], примерно так, не проверял работает или нет.
try.png
MQTT для Arduino, ESP8266, ESP32
Добавлено: 06 мар 2019, 13:14
smol
Спасибо, идею понял ....
MQTT для Arduino, ESP8266, ESP32
Добавлено: 08 мар 2019, 14:01
int2246
подскажите, а есть у блока какое то ограничение на использование Pub и Sub? Использую нано и W5500 блоки серии MQTT Ethernet Main v4.1 и больше 4 Pub не работает. Это я что то делаю не так или какое то ограничение?
MQTT для Arduino, ESP8266, ESP32
Добавлено: 08 мар 2019, 22:53
starshoy81
[ref]int2246[/ref], посмотрите при компиляции, сколько места занимает программа. Если больше половины оперативки, то может глючить.
MQTT для Arduino, ESP8266, ESP32
Добавлено: 10 мар 2019, 00:29
smol
Еще вопрос обществу.
Возможно ли принять по подписке импульс - изменение значения т.е. подаем в топик к примеру "1" на выходе формируется импульс, через некоторое время опять "1" и опять импульс. в предлагаемом блоке значение подписки постоянно находится на выходе до момента изменения.
MQTT для Arduino, ESP8266, ESP32
Добавлено: 10 мар 2019, 00:54
Anydy
starshoy81 писал(а): 08 мар 2019, 22:53Если больше половины оперативки, то может глючить.
Ну не половины, а больше 80% ...хотя наверное зависит от конкретного скетча....
smol писал(а): 10 мар 2019, 00:29Возможно ли принять по подписке импульс - изменение значения
Не вижу ничего сложного такое сделать, думаю будет полезно!
MQTT для Arduino, ESP8266, ESP32
Добавлено: 10 мар 2019, 06:28
User8
[ref]smol[/ref], создайте переменную, подключите к выходу sub и изменяйте как хотите. Я выше схему прилагал, там так и работает или я не понял чего вам надо.
MQTT для Arduino, ESP8266, ESP32
Добавлено: 10 мар 2019, 09:57
smol
Переменная на выходе sub существует до момента прихода следующего значения. А здесь так сказать самосброс, переменная существует определенное время а потом возвращается в исходное.
MQTT для Arduino, ESP8266, ESP32
Добавлено: 10 мар 2019, 11:09
User8
[ref]smol[/ref], ну так я и говорю выход sub на переменную и уже с этой переменной делайте что хотите, или лучше после блока сравнения строк на переменную, чтобы память не терять лишнюю используя переменные String.
MQTT для Arduino, ESP8266, ESP32
Добавлено: 10 мар 2019, 15:39
texbez
Вопрос сообществу-пробую осваивать MQTT.Установил брокер пока на винде,подцепил датчик температуры и влажности,часы.В качестве панели использую virtunio mqtt.Данные передаются успешно,ещё есть кнопка которая зажигает светодиод и ползунок задатчик числа-всё работает.
Теперь я подключаю ещё одну панель с другого телефона к брокеру ,в нём все компоненты как и в первом,но данные температуры и влажности идут,задатчик в в виде ползунка работает с обеих телефонов,а кнопка только с первого,даже если первый телефон отключить,то со второго кнопка всё равно не работает.И ещё когда к брокеру подключены два телефона ,то работают по очереди(индикаторы подключения моргают и сообщения постоянно всплывают).Это что брокер нен поддерживает одновременно два соединения?
MQTT для Arduino, ESP8266, ESP32
Добавлено: 10 мар 2019, 20:31
Parashutik
User8 писал(а): 03 янв 2019, 01:04
Блоки для Arduino Ethernet:
Библиотека:
https://github.com/Imroy/pubsubclient
Если при компиляции или загрузке выдает ошибку, удалите папку pubsubclient по пути flprog\ideV2\libraries\
Если у вас portable версия flprog, удалите папку pubsubclient по пути flprog\ideV2\portable\sketchbook\libraries\
Столкнулись с такой проблемой. На меге работал modbus. С неё же запуcтили клиента MQTT. Modbus перестал работать. Выяснилось, что шилд 5100 получает два MAC адреса и два IP соответственно. Проблема в пользовательском блоке main. Получается вызов два раза библиотеки ethernet.h и присвоение двух MAC адресов. Подкорректировали Ваш блок. Теперь всё работает. Если использутся только MQTT на шилде 5100, то брать Ваш main блок. Если используется ещё какой нибудь стандартный блок(WEB сервер или modbus TCP), то исправленный наш блок. Тогда всё работает нормально.
MQTT_Ethernet_Main_4_1_без_5100_(CODE).ubi
Исправленный блок main.flp
Отправлено спустя 1 минуту 43 секунды:
texbez писал(а): 10 мар 2019, 15:39Вопрос сообществу-пробую осваивать MQTT.Установил брокер пока на винде,подцепил датчик температуры и влажности,часы.В качестве панели использую virtunio mqtt.Данные передаются успешно,ещё есть кнопка которая зажигает светодиод и ползунок задатчик числа-всё работает.
Теперь я подключаю ещё одну панель с другого телефона к брокеру ,в нём все компоненты как и в первом,но данные температуры и влажности идут,задатчик в в виде ползунка работает с обеих телефонов,а кнопка только с первого,даже если первый телефон отключить,то со второго кнопка всё равно не работает.И ещё когда к брокеру подключены два телефона ,то работают по очереди(индикаторы подключения моргают и сообщения постоянно всплывают).Это что брокер нен поддерживает одновременно два соединения?
У Вас на телефонах должен быть разный ID. Это обязательное условие.
MQTT для Arduino, ESP8266, ESP32
Добавлено: 11 мар 2019, 17:51
smol
Проблема решена подправил блок подписки теперь выход срабатывает на время цикла при приходе в топик соответсвующего значения
Отправлено спустя 1 минуту 8 секунд:
Спасибо User8
MQTT для Arduino, ESP8266, ESP32
Добавлено: 11 мар 2019, 18:32
User8
[ref]smol[/ref], я догнал что вы хотите, чтобы каждый раз при отправки единицы в топик срабатывала единица на выходе. Это не совсем правильное решение, так как если в топик будет приходить например температура, то после прихода она сразу же сбросится и текущей температуры мы не увидим. Решить ваш вопрос можно проще не переделывая блок, можно сразу после прихода единицы, отправлять в этот же топик 0, в таком случае все будет работать как вам нужно.
MQTT для Arduino, ESP8266, ESP32
Добавлено: 11 мар 2019, 23:33
smol
Это для управления порт дернуть. Заметил больше 4 блоков контроллер не переваривает.
Отправлено спустя 1 минуту 40 секунд:
Для передачи температуры использую не патченый блок.
MQTT для Arduino, ESP8266, ESP32
Добавлено: 12 мар 2019, 00:08
Anydy
[ref]User8[/ref], сделайте просто в каждом цикле программы отправку еденички на выход ..и сброс после .....это же вроде просто!