MQTT клиент для Arduino, ESP8266, ESP32
Правила форума
Рекомендации по размещению блоков:
Автор блока создает подробное описание блока, отличие от подобных(если есть на данный момент).Сложные блоки очень желательно с примерами.
При выходе новых версий редактирует/дополняет свой первый пост с указанием даты, версии, причины.
В каждой теме обсуждается только выложенный автором блок - баги, возможность (или предложение) доработки и прочие хотелки.
Свои блоки, переработанные, с другими библиотеками, протоколами и т.д.- размещаем либо сами отдельно, либо обсуждаем и дорабатываем в форуме Разработка блоков.
Пользователи улучшив блок автора и проверив его работоспособность - могут обратиться к автору или модераторам с просьбой добавить их версию блока в первое сообщение темы.
Рекомендации по размещению блоков:
Автор блока создает подробное описание блока, отличие от подобных(если есть на данный момент).Сложные блоки очень желательно с примерами.
При выходе новых версий редактирует/дополняет свой первый пост с указанием даты, версии, причины.
В каждой теме обсуждается только выложенный автором блок - баги, возможность (или предложение) доработки и прочие хотелки.
Свои блоки, переработанные, с другими библиотеками, протоколами и т.д.- размещаем либо сами отдельно, либо обсуждаем и дорабатываем в форуме Разработка блоков.
Пользователи улучшив блок автора и проверив его работоспособность - могут обратиться к автору или модераторам с просьбой добавить их версию блока в первое сообщение темы.
-
- Лейтенант
- Сообщения: 613
- Зарегистрирован: 06 янв 2018, 19:50
- Благодарил (а): 8 раз
- Поблагодарили: 2 раза
MQTT для Arduino, ESP8266, ESP32
увеличил. буду смотреть.
до этого почему то стабильности не было. То пробовал подключаться то нет
вот фото
[spoiler] [/spoiler]
Отправлено спустя 13 минут 13 секунд:
При keepAlive 500 не соединятся с WIFI. Пытается но соединения нет.
до этого почему то стабильности не было. То пробовал подключаться то нет
вот фото
[spoiler] [/spoiler]
Отправлено спустя 13 минут 13 секунд:
При keepAlive 500 не соединятся с WIFI. Пытается но соединения нет.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
MQTT для Arduino, ESP8266, ESP32
[ref]SerOv[/ref], а как есп может проснуться, если указано что спать нужно 428 сек? Вот так можно попробовать, если на входе mqttConnect есть единица, то esp будет пытаться подключиться к брокеру, в ином случае попыток подключиться не будет.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось User8 04 фев 2019, 22:09, всего редактировалось 1 раз.
-
- Лейтенант
- Сообщения: 613
- Зарегистрирован: 06 янв 2018, 19:50
- Благодарил (а): 8 раз
- Поблагодарили: 2 раза
MQTT для Arduino, ESP8266, ESP32
Я думал что client1/status засыпает вместе с ESP. Потом есть разрешение от выход из сна и Начинает работать client1/status. Так же иногда происходит. Иногда он же не пытается соединится.
Отправлено спустя 20 минут 36 секунд:
Спасибо за блок. Но я теперь не пойму как его подключить. Связать с блоком DeepSleep но у него нет выхода.
Отправлено спустя 20 минут 36 секунд:
Спасибо за блок. Но я теперь не пойму как его подключить. Связать с блоком DeepSleep но у него нет выхода.
MQTT для Arduino, ESP8266, ESP32
[ref]SerOv[/ref], перед тем как подавать единицу на сон, убрать единицу с mqttConnect через переменную
Отправлено спустя 6 минут 31 секунду:
[ref]SerOv[/ref], вот что нашел:
Отправлено спустя 6 минут 31 секунду:
[ref]SerOv[/ref], вот что нашел:
https://esp8266.ru/forum/threads/esp826 ... -son.2870/Пс. deepsleep надо использовать с осторожностью. Если просто так, да и с частотой раз в несколько минут - то через месяц-три можно модуль выкинуть в мусорку. Встроенный SDK по каждому чиху перезаписывает один и тотже кусочек EEPROM памяти. Любые изменения в настройках WiFi, каждое включение/выключение и т.д. приводит к тому, что текущие настройки заново сохраняются в память. Т.е., если наставить всяких "автоконнект выкл" - "автоконнекст вкл" то на ровном месте мы уже два раза перезаписали эту память, плюс сюда процесс подключения - и вот уже третья запись. Таким образом, необдуманно можно добиться нескольких перезаписей (2-5-8) по каждому старту после deepsleep. А если это проиходит каждую минуту - то не трудно подсчитать, через сколько ресурс EEPROM исчерпается и модуль нам "нарисует синий экран смерти"
-
- Лейтенант
- Сообщения: 438
- Зарегистрирован: 25 окт 2016, 21:26
- Откуда: Волгоградская обл.
- Имя: СашкаСаняАлександр
- Благодарил (а): 1 раз
- Поблагодарили: 4 раза
MQTT для Arduino, ESP8266, ESP32
Добрый день.
Такая проблемма, появляется наслоение данных из разных топиков.
Есть 1 есп с экраном которая выводит показания, которые принимает с брокера.
И есть 3 шт есп которые отправляет их на брокер.
У всех разные ID,разные адреса. Топики разные.
Но иногда в например, строчку с температурой вклинивается влажность.
Такая проблемма, появляется наслоение данных из разных топиков.
Есть 1 есп с экраном которая выводит показания, которые принимает с брокера.
И есть 3 шт есп которые отправляет их на брокер.
У всех разные ID,разные адреса. Топики разные.
Но иногда в например, строчку с температурой вклинивается влажность.
MQTT для Arduino, ESP8266, ESP32
[ref]pipapsix[/ref], нужно проверить, если с еще одного клиента подписаться на тот же топик, будет ли такое же наложение
-
- Лейтенант
- Сообщения: 438
- Зарегистрирован: 25 окт 2016, 21:26
- Откуда: Волгоградская обл.
- Имя: СашкаСаняАлександр
- Благодарил (а): 1 раз
- Поблагодарили: 4 раза
MQTT для Arduino, ESP8266, ESP32
У меня уже клиенты кончились))
А если дам логин и пароль от моего брокера?? в личку.
Это не постоянно происходит, а через разные промежутки времени.
MQTT для Arduino, ESP8266, ESP32
[ref]pipapsix[/ref], клиент не обязтательно esp, можно поставить на телефон или винду
-
- Лейтенант
- Сообщения: 438
- Зарегистрирован: 25 окт 2016, 21:26
- Откуда: Волгоградская обл.
- Имя: СашкаСаняАлександр
- Благодарил (а): 1 раз
- Поблагодарили: 4 раза
MQTT для Arduino, ESP8266, ESP32
Вот сейчас на компе запустил,пока все ок.
Вот сейчас за минуту раз пять , глюкануло, на экране.
Может не в эту тему нужно писать, а все дело в экране??
[spoiler] [/spoiler]
Вот сейчас за минуту раз пять , глюкануло, на экране.
Может не в эту тему нужно писать, а все дело в экране??
[spoiler] [/spoiler]
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
- Лейтенант
- Сообщения: 438
- Зарегистрирован: 25 окт 2016, 21:26
- Откуда: Волгоградская обл.
- Имя: СашкаСаняАлександр
- Благодарил (а): 1 раз
- Поблагодарили: 4 раза
MQTT для Arduino, ESP8266, ESP32
Не в экране проблемма.Не понимаю где ошибся.
[spoiler] [/spoiler]
Отправлено спустя 8 минут 25 секунд:
Что за кошмар,? теперь стал температуру с другой есп брать и влеплять в показания))
Топики же разные, кааак.?
У вас нет необходимых прав для просмотра вложений в этом сообщении.
MQTT для Arduino, ESP8266, ESP32
[ref]pipapsix[/ref], попробуй
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
- Лейтенант
- Сообщения: 438
- Зарегистрирован: 25 окт 2016, 21:26
- Откуда: Волгоградская обл.
- Имя: СашкаСаняАлександр
- Благодарил (а): 1 раз
- Поблагодарили: 4 раза
MQTT для Arduino, ESP8266, ESP32
Вот так здорово!
15 минут полет нормальный.
Благодарю.
Кстати это же было и в пред идущих версиях, кажется в 4. я тогда думал что показалось)) вот и не сказал.
- Stepa
- Рядовой
- Сообщения: 64
- Зарегистрирован: 01 май 2018, 00:45
- Откуда: Ковылкино, Мордовия
- Имя: Степан
MQTT для Arduino, ESP8266, ESP32
Ребят подскажите что не так, сто раз это делал, а сейчас ерунда какая то выскакивает, хотя сейчас последнюю версию программы поставил.
Ошибки
[spoiler]Arduino: 1.8.1 (Windows 7), Плата:"Generic ESP8266 Module, 80 MHz, 40MHz, DIO, 115200, 512K (64K SPIFFS), ck, Disabled, None"
........................................................
pr4:13: error: 'WiFiEventHandler' does not name a type
WiFiEventHandler wifiConnectHandler;
^
pr4:14: error: 'WiFiEventHandler' does not name a type
WiFiEventHandler wifiDisconnectHandler;
^
pr4:159: error: 'WiFiEventStationModeGotIP' does not name a type
void onWifiConnect(const WiFiEventStationModeGotIP& event)
^
pr4:159: error: ISO C++ forbids declaration of 'event' with no type [-fpermissive]
void onWifiConnect(const WiFiEventStationModeGotIP& event)
^
pr4:163: error: 'WiFiEventStationModeDisconnected' does not name a type
void onWifiDisconnect(const WiFiEventStationModeDisconnected& event)
^
pr4:163: error: ISO C++ forbids declaration of 'event' with no type [-fpermissive]
void onWifiDisconnect(const WiFiEventStationModeDisconnected& event)
^
C:\Users\Admin\AppData\Local\Temp\flprog\pr4\pr4.ino: In function 'void setup()':
pr4:46: error: 'wifiConnectHandler' was not declared in this scope
wifiConnectHandler = WiFi.onStationModeGotIP(onWifiConnect);
^
pr4:46: error: 'WiFi' was not declared in this scope
wifiConnectHandler = WiFi.onStationModeGotIP(onWifiConnect);
^
pr4:47: error: 'wifiDisconnectHandler' was not declared in this scope
wifiDisconnectHandler = WiFi.onStationModeDisconnected(onWifiDisconnect);
^
C:\Users\Admin\AppData\Local\Temp\flprog\pr4\pr4.ino: At global scope:
pr4:159: error: 'WiFiEventStationModeGotIP' does not name a type
void onWifiConnect(const WiFiEventStationModeGotIP& event)
^
pr4:159: error: ISO C++ forbids declaration of 'event' with no type [-fpermissive]
void onWifiConnect(const WiFiEventStationModeGotIP& event)
^
pr4:163: error: 'WiFiEventStationModeDisconnected' does not name a type
void onWifiDisconnect(const WiFiEventStationModeDisconnected& event)
^
pr4:163: error: ISO C++ forbids declaration of 'event' with no type [-fpermissive]
void onWifiDisconnect(const WiFiEventStationModeDisconnected& event)
^
C:\Users\Admin\AppData\Local\Temp\flprog\pr4\pr4.ino: In function 'void onMqttDisconnect(AsyncMqttClientDisconnectReason)':
pr4:173: error: 'WiFi' was not declared in this scope
if (WiFi.isConnected()) {
^
Используем библиотеку Ticker версии 1.0 из папки: c:\Program Files (x86)\FLprog\ideV2\portable\packages\esp8266\hardware\esp8266\2.3.0-rc2\libraries\Ticker
Используем библиотеку async-mqtt-client версии 0.8.2 из папки: c:\Program Files (x86)\FLprog\ideV2\libraries\async-mqtt-client
Используем библиотеку ESPAsyncTCP версии 1.2.0 из папки: c:\Program Files (x86)\FLprog\ideV2\libraries\ESPAsyncTCP
exit status 1
'WiFiEventHandler' does not name a type[/spoiler]
Проектик Настройки IDE
[spoiler] [/spoiler]
Отправлено спустя 8 минут 49 секунд:
А, черт , все, тупанул, модуль не включил в настройках
Ошибки
[spoiler]Arduino: 1.8.1 (Windows 7), Плата:"Generic ESP8266 Module, 80 MHz, 40MHz, DIO, 115200, 512K (64K SPIFFS), ck, Disabled, None"
........................................................
pr4:13: error: 'WiFiEventHandler' does not name a type
WiFiEventHandler wifiConnectHandler;
^
pr4:14: error: 'WiFiEventHandler' does not name a type
WiFiEventHandler wifiDisconnectHandler;
^
pr4:159: error: 'WiFiEventStationModeGotIP' does not name a type
void onWifiConnect(const WiFiEventStationModeGotIP& event)
^
pr4:159: error: ISO C++ forbids declaration of 'event' with no type [-fpermissive]
void onWifiConnect(const WiFiEventStationModeGotIP& event)
^
pr4:163: error: 'WiFiEventStationModeDisconnected' does not name a type
void onWifiDisconnect(const WiFiEventStationModeDisconnected& event)
^
pr4:163: error: ISO C++ forbids declaration of 'event' with no type [-fpermissive]
void onWifiDisconnect(const WiFiEventStationModeDisconnected& event)
^
C:\Users\Admin\AppData\Local\Temp\flprog\pr4\pr4.ino: In function 'void setup()':
pr4:46: error: 'wifiConnectHandler' was not declared in this scope
wifiConnectHandler = WiFi.onStationModeGotIP(onWifiConnect);
^
pr4:46: error: 'WiFi' was not declared in this scope
wifiConnectHandler = WiFi.onStationModeGotIP(onWifiConnect);
^
pr4:47: error: 'wifiDisconnectHandler' was not declared in this scope
wifiDisconnectHandler = WiFi.onStationModeDisconnected(onWifiDisconnect);
^
C:\Users\Admin\AppData\Local\Temp\flprog\pr4\pr4.ino: At global scope:
pr4:159: error: 'WiFiEventStationModeGotIP' does not name a type
void onWifiConnect(const WiFiEventStationModeGotIP& event)
^
pr4:159: error: ISO C++ forbids declaration of 'event' with no type [-fpermissive]
void onWifiConnect(const WiFiEventStationModeGotIP& event)
^
pr4:163: error: 'WiFiEventStationModeDisconnected' does not name a type
void onWifiDisconnect(const WiFiEventStationModeDisconnected& event)
^
pr4:163: error: ISO C++ forbids declaration of 'event' with no type [-fpermissive]
void onWifiDisconnect(const WiFiEventStationModeDisconnected& event)
^
C:\Users\Admin\AppData\Local\Temp\flprog\pr4\pr4.ino: In function 'void onMqttDisconnect(AsyncMqttClientDisconnectReason)':
pr4:173: error: 'WiFi' was not declared in this scope
if (WiFi.isConnected()) {
^
Используем библиотеку Ticker версии 1.0 из папки: c:\Program Files (x86)\FLprog\ideV2\portable\packages\esp8266\hardware\esp8266\2.3.0-rc2\libraries\Ticker
Используем библиотеку async-mqtt-client версии 0.8.2 из папки: c:\Program Files (x86)\FLprog\ideV2\libraries\async-mqtt-client
Используем библиотеку ESPAsyncTCP версии 1.2.0 из папки: c:\Program Files (x86)\FLprog\ideV2\libraries\ESPAsyncTCP
exit status 1
'WiFiEventHandler' does not name a type[/spoiler]
Проектик Настройки IDE
[spoiler] [/spoiler]
Отправлено спустя 8 минут 49 секунд:
А, черт , все, тупанул, модуль не включил в настройках

У вас нет необходимых прав для просмотра вложений в этом сообщении.
MQTT клиент для Arduino, ESP8266, ESP32
Эта инструкция устарела, qos теперь работает без костылей.
Для того, чтобы на блоке sub работал qos, и после старта esp доходило последнее недоставленное сообщение, нужно сделать следующее:
Используйте прикрепленные блоки к данному сообщению, вместо тех, что в первом посте.
- После создания программы в flprog, нажмите на компилировать проект.
- Когда появится arduino IDE, найдите в начале строку subscribed_47669363_1, цифры у вас будут другие, вам нужно скопировать эти цифры, после чего закрыть Arduino IDE.
- Далее нажмите правой кнопкой мыши на блоке MQTT ESP qosMain v6.5, нажмите "Редактировать".
- Перейдите на вкладку FunctionSection и выберите void messageReceived.
- Скопируйте текст ниже и вставьте в функцию void messageReceived, вместо слова "цифры" укажите цифры которые вы копировали в Arduino IDE.
- Вставьте текст столько раз, сколько у вас блоков sub в проекте.
- Для каждой новой вставке укажите в конце цифр на 1 больше. Вот так у вас должно получиться, если у вас 3 подписки:
- Далее сохраните блок и нажмите обновить блок в проекте.
Теперь вам не придется каждый раз править скетч в ардуино ide. Да это костыли, но в текущей реализации flprog по другому получится только с затратой гораздо большего количества динамической памяти, что критично для микроконтроллеров.
Для того, чтобы на блоке sub работал qos, и после старта esp доходило последнее недоставленное сообщение, нужно сделать следующее:
Используйте прикрепленные блоки к данному сообщению, вместо тех, что в первом посте.
- После создания программы в flprog, нажмите на компилировать проект.
- Когда появится arduino IDE, найдите в начале строку subscribed_47669363_1, цифры у вас будут другие, вам нужно скопировать эти цифры, после чего закрыть Arduino IDE.
- Далее нажмите правой кнопкой мыши на блоке MQTT ESP qosMain v6.5, нажмите "Редактировать".
- Перейдите на вкладку FunctionSection и выберите void messageReceived.
- Скопируйте текст ниже и вставьте в функцию void messageReceived, вместо слова "цифры" укажите цифры которые вы копировали в Arduino IDE.
Код: Выделить всё
if (Topic_цифры_1 == topic) {
Message_цифры_1 = payload;
}
- Для каждой новой вставке укажите в конце цифр на 1 больше. Вот так у вас должно получиться, если у вас 3 подписки:
Код: Выделить всё
if (Topic_47669363_1 == topic) {
Message_47669363_1 = payload;
}
if (Topic_47669363_2 == topic) {
Message_47669363_2 = payload;
}
if (Topic_47669363_3 == topic) {
Message_47669363_3 = payload;
}
Теперь вам не придется каждый раз править скетч в ардуино ide. Да это костыли, но в текущей реализации flprog по другому получится только с затратой гораздо большего количества динамической памяти, что критично для микроконтроллеров.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось User8 29 май 2019, 14:05, всего редактировалось 13 раз.
-
- Лейтенант
- Сообщения: 438
- Зарегистрирован: 25 окт 2016, 21:26
- Откуда: Волгоградская обл.
- Имя: СашкаСаняАлександр
- Благодарил (а): 1 раз
- Поблагодарили: 4 раза
MQTT для Arduino, ESP8266, ESP32
Уже боюсь , что то трогать.
При отключении первой есп, передающая есп, отправляет постоянно последнии показания на народный мониторинг.
Это мне гдето нужно поменять?. раньше внимание не обратил как то.
[spoiler] [/spoiler]
При отключении первой есп, передающая есп, отправляет постоянно последнии показания на народный мониторинг.
Это мне гдето нужно поменять?. раньше внимание не обратил как то.
[spoiler] [/spoiler]
У вас нет необходимых прав для просмотра вложений в этом сообщении.
MQTT для Arduino, ESP8266, ESP32
[ref]pipapsix[/ref], не совсем понятно обьяснил, что как не должно делать и что должно делать? Если после отключения идут постоянно последние данные, то нужно присвоить переменной из которой идут эти данные нужное значение 0 например. Или попробовать использовать второй блог народмон если конечно это возможно.
MQTT для Arduino, ESP8266, ESP32
Кто сталкивался, как лечить?
Из допов включена и используется функциональность пользовательских настроек ESP.
В момент компиляции:
[spoiler]
c:/users/renat/desktop/flprog/idev2/portable/packages/esp8266/tools/xtensa-lx106-elf-gcc/2.5.0-3-20ed2b9/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld.exe: libraries\AsyncMqttClient\AsyncMqttClient.cpp.o:(.text._ZN15AsyncMqttClient7_onDataEP11AsyncClientPcj+0x54): undefined reference to `AsyncMqttClientInternals::ConnAckPacket::ConnAckPacket(AsyncMqttClientInternals::ParsingInformation*, std::function<void (bool, unsigned char)>)'
c:/users/renat/desktop/flprog/idev2/portable/packages/esp8266/tools/xtensa-lx106-elf-gcc/2.5.0-3-20ed2b9/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld.exe: libraries\AsyncMqttClient\AsyncMqttClient.cpp.o:(.text._ZN15AsyncMqttClient7_onDataEP11AsyncClientPcj+0x58): undefined reference to `AsyncMqttClientInternals::PingRespPacket::PingRespPacket(AsyncMqttClientInternals::ParsingInformation*, std::function<void ()>)'
c:/users/renat/desktop/flprog/idev2/portable/packages/esp8266/tools/xtensa-lx106-elf-gcc/2.5.0-3-20ed2b9/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld.exe: libraries\AsyncMqttClient\AsyncMqttClient.cpp.o:(.text._ZN15AsyncMqttClient7_onDataEP11AsyncClientPcj+0x5c): undefined reference to `AsyncMqttClientInternals::SubAckPacket::SubAckPacket(AsyncMqttClientInternals::ParsingInformation*, std::function<void (unsigned short, char)>)'
c:/users/renat/desktop/flprog/idev2/portable/packages/esp8266/tools/xtensa-lx106-elf-gcc/2.5.0-3-20ed2b9/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld.exe: libraries\AsyncMqttClient\AsyncMqttClient.cpp.o:(.text._ZN15AsyncMqttClient7_onDataEP11AsyncClientPcj+0x60): undefined reference to `AsyncMqttClientInternals::UnsubAckPacket::UnsubAckPacket(AsyncMqttClientInternals::ParsingInformation*, std::function<void (unsigned short)>)'
c:/users/renat/desktop/flprog/idev2/portable/packages/esp8266/tools/xtensa-lx106-elf-gcc/2.5.0-3-20ed2b9/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld.exe: libraries\AsyncMqttClient\AsyncMqttClient.cpp.o:(.text._ZN15AsyncMqttClient7_onDataEP11AsyncClientPcj+0x64): undefined reference to `AsyncMqttClientInternals::PublishPacket::PublishPacket(AsyncMqttClientInternals::ParsingInformation*, std::function<void (char*, char*, unsigned char, bool, bool, unsigned int, unsigned int, unsigned int, unsigned short)>, std::function<void (unsigned short, unsigned char)>)'
c:/users/renat/desktop/flprog/idev2/portable/packages/esp8266/tools/xtensa-lx106-elf-gcc/2.5.0-3-20ed2b9/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld.exe: libraries\AsyncMqttClient\AsyncMqttClient.cpp.o:(.text._ZN15AsyncMqttClient7_onDataEP11AsyncClientPcj+0x68): undefined reference to `AsyncMqttClientInternals::PubRelPacket::PubRelPacket(AsyncMqttClientInternals::ParsingInformation*, std::function<void (unsigned short)>)'
c:/users/renat/desktop/flprog/idev2/portable/packages/esp8266/tools/xtensa-lx106-elf-gcc/2.5.0-3-20ed2b9/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld.exe: libraries\AsyncMqttClient\AsyncMqttClient.cpp.o:(.text._ZN15AsyncMqttClient7_onDataEP11AsyncClientPcj+0x6c): undefined reference to `AsyncMqttClientInternals::PubAckPacket::PubAckPacket(AsyncMqttClientInternals::ParsingInformation*, std::function<void (unsigned short)>)'
c:/users/renat/desktop/flprog/idev2/portable/packages/esp8266/tools/xtensa-lx106-elf-gcc/2.5.0-3-20ed2b9/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld.exe: libraries\AsyncMqttClient\AsyncMqttClient.cpp.o:(.text._ZN15AsyncMqttClient7_onDataEP11AsyncClientPcj+0x70): undefined reference to `AsyncMqttClientInternals::PubRecPacket::PubRecPacket(AsyncMqttClientInternals::ParsingInformation*, std::function<void (unsigned short)>)'
c:/users/renat/desktop/flprog/idev2/portable/packages/esp8266/tools/xtensa-lx106-elf-gcc/2.5.0-3-20ed2b9/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld.exe: libraries\AsyncMqttClient\AsyncMqttClient.cpp.o:(.text._ZN15AsyncMqttClient7_onDataEP11AsyncClientPcj+0x74): undefined reference to `AsyncMqttClientInternals::PubCompPacket::PubCompPacket(AsyncMqttClientInternals::ParsingInformation*, std::function<void (unsigned short)>)'
c:/users/renat/desktop/flprog/idev2/portable/packages/esp8266/tools/xtensa-lx106-elf-gcc/2.5.0-3-20ed2b9/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld.exe: libraries\AsyncMqttClient\AsyncMqttClient.cpp.o: in function `AsyncMqttClient::_onData(AsyncClient*, char*, unsigned int)':
c:\Users\Renat\Desktop\FLProg\ideV2\libraries\AsyncMqttClient/AsyncMqttClient.cpp:384: undefined reference to `AsyncMqttClientInternals::ConnAckPacket::ConnAckPacket(AsyncMqttClientInternals::ParsingInformation*, std::function<void (bool, unsigned char)>)'
c:/users/renat/desktop/flprog/idev2/portable/packages/esp8266/tools/xtensa-lx106-elf-gcc/2.5.0-3-20ed2b9/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld.exe: libraries\AsyncMqttClient\AsyncMqttClient.cpp.o: in function `AsyncMqttClient::_onData(AsyncClient*, char*, unsigned int)':
c:\users\renat\desktop\flprog\idev2\portable\packages\esp8266\tools\xtensa-lx106-elf-gcc\2.5.0-3-20ed2b9\xtensa-lx106-elf\include\c++\4.8.2/functional
undefined reference to `AsyncMqttClientInternals::PingRespPacket::PingRespPacket(AsyncMqttClientInternals::ParsingInformation*, std::function<void ()>)'
c:/users/renat/desktop/flprog/idev2/portable/packages/esp8266/tools/xtensa-lx106-elf-gcc/2.5.0-3-20ed2b9/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld.exe: c:\users\renat\desktop\flprog\idev2\portable\packages\esp8266\tools\xtensa-lx106-elf-gcc\2.5.0-3-20ed2b9\xtensa-lx106-elf\include\c++\4.8.2/functional
undefined reference to `AsyncMqttClientInternals::SubAckPacket::SubAckPacket(AsyncMqttClientInternals::ParsingInformation*, std::function<void (unsigned short, char)>)'
c:/users/renat/desktop/flprog/idev2/portable/packages/esp8266/tools/xtensa-lx106-elf-gcc/2.5.0-3-20ed2b9/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld.exe: libraries\AsyncMqttClient\AsyncMqttClient.cpp.o: in function `AsyncMqttClient::_onData(AsyncClient*, char*, unsigned int)':
c:\Users\Renat\Desktop\FLProg\ideV2\libraries\AsyncMqttClient/AsyncMqttClient.cpp:389: undefined reference to `AsyncMqttClientInternals::UnsubAckPacket::UnsubAckPacket(AsyncMqttClientInternals::ParsingInformation*, std::function<void (unsigned short)>)'
c:/users/renat/desktop/flprog/idev2/portable/packages/esp8266/tools/xtensa-lx106-elf-gcc/2.5.0-3-20ed2b9/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld.exe: c:\Users\Renat\Desktop\FLProg\ideV2\libraries\AsyncMqttClient/AsyncMqttClient.cpp:395: undefined reference to `AsyncMqttClientInternals::PublishPacket::PublishPacket(AsyncMqttClientInternals::ParsingInformation*, std::function<void (char*, char*, unsigned char, bool, bool, unsigned int, unsigned int, unsigned int, unsigned short)>, std::function<void (unsigned short, unsigned char)>)'
c:/users/renat/desktop/flprog/idev2/portable/packages/esp8266/tools/xtensa-lx106-elf-gcc/2.5.0-3-20ed2b9/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld.exe: libraries\AsyncMqttClient\AsyncMqttClient.cpp.o: in function `AsyncMqttClient::_onData(AsyncClient*, char*, unsigned int)':
c:\users\renat\desktop\flprog\idev2\portable\packages\esp8266\tools\xtensa-lx106-elf-gcc\2.5.0-3-20ed2b9\xtensa-lx106-elf\include\c++\4.8.2/functional
undefined reference to `AsyncMqttClientInternals::PubRelPacket::PubRelPacket(AsyncMqttClientInternals::ParsingInformation*, std::function<void (unsigned short)>)'
c:/users/renat/desktop/flprog/idev2/portable/packages/esp8266/tools/xtensa-lx106-elf-gcc/2.5.0-3-20ed2b9/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld.exe: libraries\AsyncMqttClient\AsyncMqttClient.cpp.o: in function `AsyncMqttClient::_onData(AsyncClient*, char*, unsigned int)':
c:\Users\Renat\Desktop\FLProg\ideV2\libraries\AsyncMqttClient/AsyncMqttClient.cpp:398: undefined reference to `AsyncMqttClientInternals::PubAckPacket::PubAckPacket(AsyncMqttClientInternals::ParsingInformation*, std::function<void (unsigned short)>)'
c:/users/renat/desktop/flprog/idev2/portable/packages/esp8266/tools/xtensa-lx106-elf-gcc/2.5.0-3-20ed2b9/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld.exe: libraries\AsyncMqttClient\AsyncMqttClient.cpp.o: in function `AsyncMqttClient::_onData(AsyncClient*, char*, unsigned int)':
c:\users\renat\desktop\flprog\idev2\portable\packages\esp8266\tools\xtensa-lx106-elf-gcc\2.5.0-3-20ed2b9\xtensa-lx106-elf\include\c++\4.8.2/functional
undefined reference to `AsyncMqttClientInternals::PubRecPacket::PubRecPacket(AsyncMqttClientInternals::ParsingInformation*, std::function<void (unsigned short)>)'
c:/users/renat/desktop/flprog/idev2/portable/packages/esp8266/tools/xtensa-lx106-elf-gcc/2.5.0-3-20ed2b9/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld.exe: libraries\AsyncMqttClient\AsyncMqttClient.cpp.o: in function `AsyncMqttClient::_onData(AsyncClient*, char*, unsigned int)':
c:\users\renat\desktop\flprog\idev2\portable\packages\esp8266\tools\xtensa-lx106-elf-gcc\2.5.0-3-20ed2b9\xtensa-lx106-elf\include\c++\4.8.2/tuple:140: undefined reference to `AsyncMqttClientInternals::PubCompPacket::PubCompPacket(AsyncMqttClientInternals::ParsingInformation*, std::function<void (unsigned short)>)'
collect2.exe: error: ld returned 1 exit status
exit status 1
Ошибка компиляции для платы LOLIN(WEMOS) D1 R2 & mini.
[/spoiler]
UPD: решение тут: https://github.com/marvinroger/async-mq ... started.md
Просто скопировать библиотеку с гитхаба и положить в папку libraries не подходит.
Из допов включена и используется функциональность пользовательских настроек ESP.
В момент компиляции:
[spoiler]
c:/users/renat/desktop/flprog/idev2/portable/packages/esp8266/tools/xtensa-lx106-elf-gcc/2.5.0-3-20ed2b9/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld.exe: libraries\AsyncMqttClient\AsyncMqttClient.cpp.o:(.text._ZN15AsyncMqttClient7_onDataEP11AsyncClientPcj+0x54): undefined reference to `AsyncMqttClientInternals::ConnAckPacket::ConnAckPacket(AsyncMqttClientInternals::ParsingInformation*, std::function<void (bool, unsigned char)>)'
c:/users/renat/desktop/flprog/idev2/portable/packages/esp8266/tools/xtensa-lx106-elf-gcc/2.5.0-3-20ed2b9/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld.exe: libraries\AsyncMqttClient\AsyncMqttClient.cpp.o:(.text._ZN15AsyncMqttClient7_onDataEP11AsyncClientPcj+0x58): undefined reference to `AsyncMqttClientInternals::PingRespPacket::PingRespPacket(AsyncMqttClientInternals::ParsingInformation*, std::function<void ()>)'
c:/users/renat/desktop/flprog/idev2/portable/packages/esp8266/tools/xtensa-lx106-elf-gcc/2.5.0-3-20ed2b9/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld.exe: libraries\AsyncMqttClient\AsyncMqttClient.cpp.o:(.text._ZN15AsyncMqttClient7_onDataEP11AsyncClientPcj+0x5c): undefined reference to `AsyncMqttClientInternals::SubAckPacket::SubAckPacket(AsyncMqttClientInternals::ParsingInformation*, std::function<void (unsigned short, char)>)'
c:/users/renat/desktop/flprog/idev2/portable/packages/esp8266/tools/xtensa-lx106-elf-gcc/2.5.0-3-20ed2b9/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld.exe: libraries\AsyncMqttClient\AsyncMqttClient.cpp.o:(.text._ZN15AsyncMqttClient7_onDataEP11AsyncClientPcj+0x60): undefined reference to `AsyncMqttClientInternals::UnsubAckPacket::UnsubAckPacket(AsyncMqttClientInternals::ParsingInformation*, std::function<void (unsigned short)>)'
c:/users/renat/desktop/flprog/idev2/portable/packages/esp8266/tools/xtensa-lx106-elf-gcc/2.5.0-3-20ed2b9/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld.exe: libraries\AsyncMqttClient\AsyncMqttClient.cpp.o:(.text._ZN15AsyncMqttClient7_onDataEP11AsyncClientPcj+0x64): undefined reference to `AsyncMqttClientInternals::PublishPacket::PublishPacket(AsyncMqttClientInternals::ParsingInformation*, std::function<void (char*, char*, unsigned char, bool, bool, unsigned int, unsigned int, unsigned int, unsigned short)>, std::function<void (unsigned short, unsigned char)>)'
c:/users/renat/desktop/flprog/idev2/portable/packages/esp8266/tools/xtensa-lx106-elf-gcc/2.5.0-3-20ed2b9/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld.exe: libraries\AsyncMqttClient\AsyncMqttClient.cpp.o:(.text._ZN15AsyncMqttClient7_onDataEP11AsyncClientPcj+0x68): undefined reference to `AsyncMqttClientInternals::PubRelPacket::PubRelPacket(AsyncMqttClientInternals::ParsingInformation*, std::function<void (unsigned short)>)'
c:/users/renat/desktop/flprog/idev2/portable/packages/esp8266/tools/xtensa-lx106-elf-gcc/2.5.0-3-20ed2b9/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld.exe: libraries\AsyncMqttClient\AsyncMqttClient.cpp.o:(.text._ZN15AsyncMqttClient7_onDataEP11AsyncClientPcj+0x6c): undefined reference to `AsyncMqttClientInternals::PubAckPacket::PubAckPacket(AsyncMqttClientInternals::ParsingInformation*, std::function<void (unsigned short)>)'
c:/users/renat/desktop/flprog/idev2/portable/packages/esp8266/tools/xtensa-lx106-elf-gcc/2.5.0-3-20ed2b9/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld.exe: libraries\AsyncMqttClient\AsyncMqttClient.cpp.o:(.text._ZN15AsyncMqttClient7_onDataEP11AsyncClientPcj+0x70): undefined reference to `AsyncMqttClientInternals::PubRecPacket::PubRecPacket(AsyncMqttClientInternals::ParsingInformation*, std::function<void (unsigned short)>)'
c:/users/renat/desktop/flprog/idev2/portable/packages/esp8266/tools/xtensa-lx106-elf-gcc/2.5.0-3-20ed2b9/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld.exe: libraries\AsyncMqttClient\AsyncMqttClient.cpp.o:(.text._ZN15AsyncMqttClient7_onDataEP11AsyncClientPcj+0x74): undefined reference to `AsyncMqttClientInternals::PubCompPacket::PubCompPacket(AsyncMqttClientInternals::ParsingInformation*, std::function<void (unsigned short)>)'
c:/users/renat/desktop/flprog/idev2/portable/packages/esp8266/tools/xtensa-lx106-elf-gcc/2.5.0-3-20ed2b9/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld.exe: libraries\AsyncMqttClient\AsyncMqttClient.cpp.o: in function `AsyncMqttClient::_onData(AsyncClient*, char*, unsigned int)':
c:\Users\Renat\Desktop\FLProg\ideV2\libraries\AsyncMqttClient/AsyncMqttClient.cpp:384: undefined reference to `AsyncMqttClientInternals::ConnAckPacket::ConnAckPacket(AsyncMqttClientInternals::ParsingInformation*, std::function<void (bool, unsigned char)>)'
c:/users/renat/desktop/flprog/idev2/portable/packages/esp8266/tools/xtensa-lx106-elf-gcc/2.5.0-3-20ed2b9/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld.exe: libraries\AsyncMqttClient\AsyncMqttClient.cpp.o: in function `AsyncMqttClient::_onData(AsyncClient*, char*, unsigned int)':
c:\users\renat\desktop\flprog\idev2\portable\packages\esp8266\tools\xtensa-lx106-elf-gcc\2.5.0-3-20ed2b9\xtensa-lx106-elf\include\c++\4.8.2/functional
c:/users/renat/desktop/flprog/idev2/portable/packages/esp8266/tools/xtensa-lx106-elf-gcc/2.5.0-3-20ed2b9/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld.exe: c:\users\renat\desktop\flprog\idev2\portable\packages\esp8266\tools\xtensa-lx106-elf-gcc\2.5.0-3-20ed2b9\xtensa-lx106-elf\include\c++\4.8.2/functional
c:/users/renat/desktop/flprog/idev2/portable/packages/esp8266/tools/xtensa-lx106-elf-gcc/2.5.0-3-20ed2b9/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld.exe: libraries\AsyncMqttClient\AsyncMqttClient.cpp.o: in function `AsyncMqttClient::_onData(AsyncClient*, char*, unsigned int)':
c:\Users\Renat\Desktop\FLProg\ideV2\libraries\AsyncMqttClient/AsyncMqttClient.cpp:389: undefined reference to `AsyncMqttClientInternals::UnsubAckPacket::UnsubAckPacket(AsyncMqttClientInternals::ParsingInformation*, std::function<void (unsigned short)>)'
c:/users/renat/desktop/flprog/idev2/portable/packages/esp8266/tools/xtensa-lx106-elf-gcc/2.5.0-3-20ed2b9/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld.exe: c:\Users\Renat\Desktop\FLProg\ideV2\libraries\AsyncMqttClient/AsyncMqttClient.cpp:395: undefined reference to `AsyncMqttClientInternals::PublishPacket::PublishPacket(AsyncMqttClientInternals::ParsingInformation*, std::function<void (char*, char*, unsigned char, bool, bool, unsigned int, unsigned int, unsigned int, unsigned short)>, std::function<void (unsigned short, unsigned char)>)'
c:/users/renat/desktop/flprog/idev2/portable/packages/esp8266/tools/xtensa-lx106-elf-gcc/2.5.0-3-20ed2b9/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld.exe: libraries\AsyncMqttClient\AsyncMqttClient.cpp.o: in function `AsyncMqttClient::_onData(AsyncClient*, char*, unsigned int)':
c:\users\renat\desktop\flprog\idev2\portable\packages\esp8266\tools\xtensa-lx106-elf-gcc\2.5.0-3-20ed2b9\xtensa-lx106-elf\include\c++\4.8.2/functional
c:/users/renat/desktop/flprog/idev2/portable/packages/esp8266/tools/xtensa-lx106-elf-gcc/2.5.0-3-20ed2b9/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld.exe: libraries\AsyncMqttClient\AsyncMqttClient.cpp.o: in function `AsyncMqttClient::_onData(AsyncClient*, char*, unsigned int)':
c:\Users\Renat\Desktop\FLProg\ideV2\libraries\AsyncMqttClient/AsyncMqttClient.cpp:398: undefined reference to `AsyncMqttClientInternals::PubAckPacket::PubAckPacket(AsyncMqttClientInternals::ParsingInformation*, std::function<void (unsigned short)>)'
c:/users/renat/desktop/flprog/idev2/portable/packages/esp8266/tools/xtensa-lx106-elf-gcc/2.5.0-3-20ed2b9/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld.exe: libraries\AsyncMqttClient\AsyncMqttClient.cpp.o: in function `AsyncMqttClient::_onData(AsyncClient*, char*, unsigned int)':
c:\users\renat\desktop\flprog\idev2\portable\packages\esp8266\tools\xtensa-lx106-elf-gcc\2.5.0-3-20ed2b9\xtensa-lx106-elf\include\c++\4.8.2/functional
c:/users/renat/desktop/flprog/idev2/portable/packages/esp8266/tools/xtensa-lx106-elf-gcc/2.5.0-3-20ed2b9/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld.exe: libraries\AsyncMqttClient\AsyncMqttClient.cpp.o: in function `AsyncMqttClient::_onData(AsyncClient*, char*, unsigned int)':
c:\users\renat\desktop\flprog\idev2\portable\packages\esp8266\tools\xtensa-lx106-elf-gcc\2.5.0-3-20ed2b9\xtensa-lx106-elf\include\c++\4.8.2/tuple:140: undefined reference to `AsyncMqttClientInternals::PubCompPacket::PubCompPacket(AsyncMqttClientInternals::ParsingInformation*, std::function<void (unsigned short)>)'
collect2.exe: error: ld returned 1 exit status
exit status 1
Ошибка компиляции для платы LOLIN(WEMOS) D1 R2 & mini.
[/spoiler]
UPD: решение тут: https://github.com/marvinroger/async-mq ... started.md
Просто скопировать библиотеку с гитхаба и положить в папку libraries не подходит.
MQTT для Arduino, ESP8266, ESP32
Привет Всем!
Не смейтесь, чей-то никак ни могу подсоенить блоки для Arduino ....
no matching function for call to 'PubSubClient::PubSubClient(EthernetClient&, const char [14], int)'
PubSubClient client(mqttClient, "192.168.0.104", 1883);
Отправлено спустя 30 минут 40 секунд:
уфф разобрался....
Отправлено спустя 1 минуту 37 секунд:
вопрос. на выходе блока подписки сообщение присутствует на время ?? цикла? до смены сообщения в этом топике? еще как?
Не смейтесь, чей-то никак ни могу подсоенить блоки для Arduino ....
no matching function for call to 'PubSubClient::PubSubClient(EthernetClient&, const char [14], int)'
PubSubClient client(mqttClient, "192.168.0.104", 1883);
Отправлено спустя 30 минут 40 секунд:
уфф разобрался....
Отправлено спустя 1 минуту 37 секунд:
вопрос. на выходе блока подписки сообщение присутствует на время ?? цикла? до смены сообщения в этом топике? еще как?
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость