Weiter zum Inhalt
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Hell
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dunkel
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Русский
  3. ioBroker
  4. ioBroker драйвера
  5. Драйвер Mqtt + Arduino

NEWS

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    18
    1
    788

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    18
    1
    6.2k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.5k

Драйвер Mqtt + Arduino

Geplant Angeheftet Gesperrt Verschoben ioBroker драйвера
244 Beiträge 18 Kommentatoren 81.2k Aufrufe
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • E Offline
    E Offline
    electric69
    schrieb am zuletzt editiert von
    #142

    @Haus:

    2. Довольно часто сервер теряет связь с Arduino, как можно сделать чтобы Arduino реконектнулась (если на Arduino нажать ресет всё работает дальше)? `
    С этим тоже намучился, и пока связь потеряна и не восстановлена - данные что передаются в этот промежуток времени безвозвратно потеряны((

    По поводу восстановления связи, я в коде задал таймер, который раз в 10 (настраивается) секунд проверяет коннект, если нет - то рвет и переподключается, подписываясь заново…

    unsigned long lastTime = 0;
    unsigned long timeout = 10; // по-умолчанию таймаут перед восстановлением соединения 10 сек
    
    
      //Если соединение не активно в течении таймаута, восстанавливаем
      if(millis() > (lastTime + timeout*1000)) {
        lastTime = millis();
        if (!client.connected()) {
          //Разрываем коннект
          client.disconnect();
          Serial.print("Reconnect to MQTT-boker...  ");
          //пытаемся восстановить
          if (client.connect("PLC35_DoorVaultSecur")) {
            Serial.println("success");
            //Публикуем, подписываемся заново
            client.subscribe("PLC35_DoorVaultSecur/mode");
            client.subscribe("common/PLC38_PLC35_RelayLight2");
            client.subscribe("common/PLC33_PLC35_FlashRFID");
          }  else {
            Serial.println("failed!");
          }
        }
      }
    
    

    Вот так как то…

    1 Antwort Letzte Antwort
    0
    • H Offline
      H Offline
      Haus
      schrieb am zuletzt editiert von
      #143

      Это в void loop записать? Сейчас ваш пример скачаю. Где то читал что это ещё проблемы ENC28J60, вообще кода почти нет а при компиляции 85% забито. Можно как то библиотеку облегчить но для меня это темный лес 😢

      Чего то сделал

      #include <spi.h>
      #include <uipethernet.h>                                  // UIP Ethernet Library to support ENC28J60 ethernet module. 
      #include <pubsubclient.h>                                 // MQTT publisher/subscriber client library
      #include <wire.h>
      #include <liquidcrystal_i2c.h>                            // i2C bus converter compatible library for LCD
      
      LiquidCrystal_I2C lcd(0x27,16,2);
      
      byte mac[]    = {  0xDE, 0xED, 0xBA, 0xFE, 0xFE, 0xED }; // Set the mac address for the arduino nano mcu 
      byte server[] = { 192, 168, 1, 11 };                     // Set MQTT broker server IP address
      //char server[] = "xxx.xxxxxxx.xxx";                       // Set MQTT broker server domain address 
      byte ip[]     = { 192, 168, 1, 16 };                     // Set the IP address for the arduino nano mcu 
      
      #define id_connect "LCD-accumulator_tanks_1"
      #define Prefix_subscribe "myhome/Boiler_room/"
      
      unsigned long lastTime = 0;
      unsigned long timeout = 10; // по-умолчанию таймаут перед восстановлением соединения 10 сек
      
      void callback(char* topic, byte* payload, unsigned int length) {
        payload[length] = '\0';
        String strTopic = String(topic);
        String strPayload = String((char*)payload);
          if (strcmp(topic, "myhome/Boiler_room/Temp_accum_tanks_1_1")==0){
          lcd.setCursor(3,0);
          lcd.print(strPayload);
          //lcd.print((char)223);
          }
          if (strcmp(topic, "myhome/Boiler_room/Temp_accum_tanks_1_2")==0){
          lcd.setCursor(3,1);
          lcd.print(strPayload);
          //lcd.print((char)223);
          }
          if (strcmp(topic, "myhome/Boiler_room/Temp_accum_tanks_1_3")==0){
          lcd.setCursor(12,0);
          lcd.print(strPayload);
          //lcd.print((char)223);
          }
          if (strcmp(topic, "myhome/Boiler_room/Temp_accum_tanks_1_4")==0){
          lcd.setCursor(12,1);
          lcd.print(strPayload);
          //lcd.print((char)223);
          } 
      }
      
      EthernetClient ethClient;
      PubSubClient client(server, 1883, callback, ethClient);
      
      void setup() {
        lcd.init();
        lcd.backlight();
        lcd.clear();
        lcd.setCursor(0,0);
        lcd.print("T1:");
        lcd.setCursor(0,1);
        lcd.print("T2:");
        lcd.setCursor(9,0);
        lcd.print("T3:");
        lcd.setCursor(9,1);
        lcd.print("T4:");
      
        Ethernet.begin(mac, ip);
        if (client.connect(id_connect)) {                    // Check the MQTT broker connectivity
          client.publish("myhome/Boiler_room/Temp_accum_tanks_1_1", " ");
          client.publish("myhome/Boiler_room/Temp_accum_tanks_1_2", " ");
          client.publish("myhome/Boiler_room/Temp_accum_tanks_1_3", " ");
          client.publish("myhome/Boiler_room/Temp_accum_tanks_1_4", " ");
          client.subscribe("myhome/Boiler_room/#");
        }
      }
      
      void loop() {
        client.loop();
          if (!client.connected()) {
            if (client.connect(id_connect)) {
            client.subscribe("myhome/Boiler_room/#");
            }
          }
      //Если соединение не активно в течении таймаута, восстанавливаем
          if(millis() > (lastTime + timeout*1000)) {
          lastTime = millis();
            if (!client.connected()) {
      //Разрываем коннект
            client.disconnect();
      //пытаемся восстановить
            if (client.connect(id_connect)) {
      //Публикуем, подписываемся заново
            client.subscribe("myhome/Boiler_room/#");
            }
          }
        }
      }</liquidcrystal_i2c.h></wire.h></pubsubclient.h></uipethernet.h></spi.h>
      

      js-controller: 1.5.7 / node.js: v8.15.1/ npm: 6.4.1

      admin: 3.6.0

      javascript: 4.1.10

      web: 2.4.1 vis: 1.1.10

      cloud: 2.6.2

      Server: DELL FX170 / linux: Debian 9.5 Stretch

      Adapter: MegaD-2561, Mega-ES…

      1 Antwort Letzte Antwort
      0
      • H Offline
        H Offline
        Haus
        schrieb am zuletzt editiert von
        #144

        Увы результата недал, гдето через 5 часов пропала связь :(

        js-controller: 1.5.7 / node.js: v8.15.1/ npm: 6.4.1

        admin: 3.6.0

        javascript: 4.1.10

        web: 2.4.1 vis: 1.1.10

        cloud: 2.6.2

        Server: DELL FX170 / linux: Debian 9.5 Stretch

        Adapter: MegaD-2561, Mega-ES…

        1 Antwort Letzte Antwort
        0
        • I Offline
          I Offline
          instalator
          schrieb am zuletzt editiert von
          #145

          @Haus:

          Увы результата недал, гдето через 5 часов пропала связь :( `
          Когда связь пропадает ардуина пингуется вообще? Езернет шилд какой пользуешь?

          Высокий уровень Децибел вреден для здоровья!

          http://blog.instalator.ru/

          1 Antwort Letzte Antwort
          0
          • H Offline
            H Offline
            Haus
            schrieb am zuletzt editiert von
            #146

            @instalator:

            @Haus:

            Увы результата недал, гдето через 5 часов пропала связь :( Когда связь пропадает ардуина пингуется вообще? Езернет шилд какой пользуешь?
            Не пингуется, ENC28J60

            mqtt-0	2016-01-12 19:45:55	info	Client [LCD-accumulator_tanks_1] closed
            mqtt-0	2016-01-12 19:45:55	warn	[LCD-accumulator_tanks_1] Error: read ETIMEDOUT
            sayit-0	2016-01-12 19:30:11	info	saying: Дисплей. Пропала связь!
            sayit-0	2016-01-12 19:30:07	info	saying: /opt/iobroker/node_modules/iobroker.sayit/gong.mp3
            javascript-0	2016-01-12 19:30:07	info	script.js.Ping_0_say: Дисплей. Пропала связь!
            

            Если рестартануть драйвер результата 0, если ресетнуть ардуину всё работает

            Может я код который предложил electric69 не так прописал?

            js-controller: 1.5.7 / node.js: v8.15.1/ npm: 6.4.1

            admin: 3.6.0

            javascript: 4.1.10

            web: 2.4.1 vis: 1.1.10

            cloud: 2.6.2

            Server: DELL FX170 / linux: Debian 9.5 Stretch

            Adapter: MegaD-2561, Mega-ES…

            1 Antwort Letzte Antwort
            0
            • E Offline
              E Offline
              electric69
              schrieb am zuletzt editiert von
              #147

              @Haus:

              Не пингуется, ENC28J60 `
              Если не пингуется, то код вообще не причем…

              Попробуйте без MQTT, просто по HTTP погонять - будет ли работать.

              Или просто залить скетч тестовый из библиотеки изернета, пустить пинг тестовый и проверить через часов 5-10 будет ли пинговаться, может "дело не в бобине" ))

              1 Antwort Letzte Antwort
              0
              • B Offline
                B Offline
                bondrogeen
                schrieb am zuletzt editiert von
                #148

                Подскажите пожалуйста в чем может быть проблема.

                iobroker подключен в качестве клиента к CloudMQTT

                CloudMQTT поступают данные с планшета, на странице CloudMQTT отображаются корректно.

                admin/DEXP Ursus 8E2 mini 3G/sensors/battery 100

                admin/DEXP Ursus 8E2 mini 3G/sensors/bright 166

                admin/DEXP Ursus 8E2 mini 3G/sensors/temp %TEMP

                admin/DEXP Ursus 8E2 mini 3G/sensors/time 22.46

                admin/DEXP Ursus 8E2 mini 3G/sensors/date 22.01.2016

                admin/DEXP Ursus 8E2 mini 3G/sensors/wifi >>> SCAN <<<

                admin/DEXP Ursus 8E2 mini 3G/sensors/device DEXP Ursus 8E2 mini 3G

                admin/DEXP Ursus 8E2 mini 3G/sensors/uptime 353479

                admin/DEXP Ursus 8E2 mini 3G/sensors/ram 58MB

                admin/DEXP Ursus 8E2 mini 3G/sensors/statusblue off

                admin/DEXP Ursus 8E2 mini 3G/sensors/statusscreen on

                а вот в iobrokere нет значений

                380_12124.jpg

                но если публикуешь в корне то отображается правильно

                test 6576

                1 Antwort Letzte Antwort
                0
                • H Offline
                  H Offline
                  Haus
                  schrieb am zuletzt editiert von
                  #149

                  @bondrogeen:

                  Подскажите пожалуйста в чем может быть проблема.

                  iobroker подключен в качестве клиента к CloudMQTT

                  CloudMQTT поступают данные с планшета, на странице CloudMQTT отображаются корректно.

                  admin/DEXP Ursus 8E2 mini 3G/sensors/battery 100

                  admin/DEXP Ursus 8E2 mini 3G/sensors/bright 166

                  admin/DEXP Ursus 8E2 mini 3G/sensors/temp %TEMP

                  admin/DEXP Ursus 8E2 mini 3G/sensors/time 22.46

                  admin/DEXP Ursus 8E2 mini 3G/sensors/date 22.01.2016

                  admin/DEXP Ursus 8E2 mini 3G/sensors/wifi >>> SCAN <<<

                  admin/DEXP Ursus 8E2 mini 3G/sensors/device DEXP Ursus 8E2 mini 3G

                  admin/DEXP Ursus 8E2 mini 3G/sensors/uptime 353479

                  admin/DEXP Ursus 8E2 mini 3G/sensors/ram 58MB

                  admin/DEXP Ursus 8E2 mini 3G/sensors/statusblue off

                  admin/DEXP Ursus 8E2 mini 3G/sensors/statusscreen on

                  а вот в iobrokere нет значений

                  но если публикуешь в корне то отображается правильно

                  test 6576 `
                  Наверно дело в структуре, вот так выглядит у меня
                  443_screencapture-192-168-1-11-8081-1453552081222.png

                  js-controller: 1.5.7 / node.js: v8.15.1/ npm: 6.4.1

                  admin: 3.6.0

                  javascript: 4.1.10

                  web: 2.4.1 vis: 1.1.10

                  cloud: 2.6.2

                  Server: DELL FX170 / linux: Debian 9.5 Stretch

                  Adapter: MegaD-2561, Mega-ES…

                  1 Antwort Letzte Antwort
                  0
                  • B Offline
                    B Offline
                    bondrogeen
                    schrieb am zuletzt editiert von
                    #150

                    В режиме брокера именно такая структура и у меня, а вот как клиент получается так.

                    Как брокер локально по сети нормально все передается.

                    Решил попробовать через cloudmqtt.com и подключится как клиент и тут такие проблемы.

                    380_3333.jpg
                    может что тут нужно поставить?

                    1 Antwort Letzte Antwort
                    0
                    • H Offline
                      H Offline
                      Haus
                      schrieb am zuletzt editiert von
                      #151

                      @bondrogeen:

                      В режиме брокера именно такая структура и у меня, а вот как клиент получается так.

                      Как брокер локально по сети нормально все передается.

                      Решил попробовать через cloudmqtt.com и подключится как клиент и тут такие проблемы.

                      filename="3333.jpg" index="0">~~
                      может что тут нужно поставить? `
                      Там внизу есть кнопка "проверить настройки" может она чем поможет, посмотри у немцев там много инфы только google так коряво переводит :)

                      js-controller: 1.5.7 / node.js: v8.15.1/ npm: 6.4.1

                      admin: 3.6.0

                      javascript: 4.1.10

                      web: 2.4.1 vis: 1.1.10

                      cloud: 2.6.2

                      Server: DELL FX170 / linux: Debian 9.5 Stretch

                      Adapter: MegaD-2561, Mega-ES…

                      1 Antwort Letzte Antwort
                      0
                      • B Offline
                        B Offline
                        bondrogeen
                        schrieb am zuletzt editiert von
                        #152

                        нажимал я на нее только не чего не происходит

                        1 Antwort Letzte Antwort
                        0
                        • H Offline
                          H Offline
                          Haus
                          schrieb am zuletzt editiert von
                          #153

                          @bondrogeen:

                          нажимал я на нее только не чего не происходит `
                          Есть помощь по драйверу. Правда на аглицком. https://github.com/ioBroker/ioBroker.mqtt#configuration

                          js-controller: 1.5.7 / node.js: v8.15.1/ npm: 6.4.1

                          admin: 3.6.0

                          javascript: 4.1.10

                          web: 2.4.1 vis: 1.1.10

                          cloud: 2.6.2

                          Server: DELL FX170 / linux: Debian 9.5 Stretch

                          Adapter: MegaD-2561, Mega-ES…

                          1 Antwort Letzte Antwort
                          0
                          • B Offline
                            B Offline
                            bondrogeen
                            schrieb am zuletzt editiert von
                            #154

                            читал, но не чего нового для себя не узнал

                            1 Antwort Letzte Antwort
                            0
                            • I Offline
                              I Offline
                              instalator
                              schrieb am zuletzt editiert von
                              #155

                              @bondrogeen:

                              В режиме брокера именно такая структура и у меня, а вот как клиент получается так.

                              Как брокер локально по сети нормально все передается.

                              Решил попробовать через cloudmqtt.com и подключится как клиент и тут такие проблемы.

                              filename="3333.jpg" index="0">~~
                              может что тут нужно поставить? `
                              Может из за пробелов в именах переменных?

                              Высокий уровень Децибел вреден для здоровья!

                              http://blog.instalator.ru/

                              1 Antwort Letzte Antwort
                              0
                              • B Offline
                                B Offline
                                bondrogeen
                                schrieb am zuletzt editiert von
                                #156

                                имена менял, пробовал по разному.

                                И главное iobroker на сервер отправляет корректные данные.

                                лог с сервера

                                system/adapter/mqtt/0/alive true

                                system/adapter/mqtt/0/connected true

                                system/adapter/mqtt/0/memHeapUsed 8.25

                                system/adapter/mqtt/0/memHeapTotal 18.74

                                system/adapter/mqtt/0/memRss 27.73

                                system/adapter/mqtt/0/uptime 0

                                system/adapter/mqtt/upload 0

                                system/adapter/history/0/alive true

                                system/adapter/history/0/connected true

                                system/adapter/history/0/memHeapUsed 11.47

                                system/adapter/history/0/memHeapTotal 18.74

                                system/adapter/history/0/memRss 29.48

                                system/adapter/history/0/uptime 331

                                system/adapter/history/upload 0

                                system/host/Roman-PC/alive true

                                system/host/Roman-PC/load 0

                                system/host/Roman-PC/uptime 331

                                system/host/Roman-PC/memRss 104.86

                                system/host/Roman-PC/memHeapTotal 78.13

                                system/host/Roman-PC/memHeapUsed 54.86

                                system/host/Roman-PC/mem 56

                                system/adapter/admin/0/alive true

                                system/adapter/admin/0/connected true

                                system/adapter/admin/0/memHeapUsed 24.37

                                system/adapter/admin/0/memHeapTotal 55.52

                                system/adapter/admin/0/memRss 71.23

                                system/adapter/admin/0/uptime 331

                                1 Antwort Letzte Antwort
                                0
                                • B Offline
                                  B Offline
                                  bondrogeen
                                  schrieb am zuletzt editiert von
                                  #157

                                  Сегодня пробовал на другом сервисе (брокере)

                                  Получается название всего топика присваивается как переменная.

                                  380_3333.jpg

                                  1 Antwort Letzte Antwort
                                  0
                                  • I Offline
                                    I Offline
                                    instalator
                                    schrieb am zuletzt editiert von
                                    #158

                                    @bondrogeen:

                                    имена менял, пробовал по разному.

                                    И главное iobroker на сервер отправляет корректные данные.

                                    лог с сервера

                                    system/adapter/mqtt/0/alive true

                                    system/adapter/mqtt/0/connected true

                                    system/adapter/mqtt/0/memHeapUsed 8.25

                                    system/adapter/mqtt/0/memHeapTotal 18.74

                                    system/adapter/mqtt/0/memRss 27.73

                                    system/adapter/mqtt/0/uptime 0

                                    system/adapter/mqtt/upload 0

                                    system/adapter/history/0/alive true

                                    system/adapter/history/0/connected true

                                    system/adapter/history/0/memHeapUsed 11.47

                                    system/adapter/history/0/memHeapTotal 18.74

                                    system/adapter/history/0/memRss 29.48

                                    system/adapter/history/0/uptime 331

                                    system/adapter/history/upload 0

                                    system/host/Roman-PC/alive true

                                    system/host/Roman-PC/load 0

                                    system/host/Roman-PC/uptime 331

                                    system/host/Roman-PC/memRss 104.86

                                    system/host/Roman-PC/memHeapTotal 78.13

                                    system/host/Roman-PC/memHeapUsed 54.86

                                    system/host/Roman-PC/mem 56

                                    system/adapter/admin/0/alive true

                                    system/adapter/admin/0/connected true

                                    system/adapter/admin/0/memHeapUsed 24.37

                                    system/adapter/admin/0/memHeapTotal 55.52

                                    system/adapter/admin/0/memRss 71.23

                                    system/adapter/admin/0/uptime 331 `
                                    Лог ниочем.

                                    Получается iobroker не может подписаться

                                    Высокий уровень Децибел вреден для здоровья!

                                    http://blog.instalator.ru/

                                    1 Antwort Letzte Antwort
                                    0
                                    • B Offline
                                      B Offline
                                      bondrogeen
                                      schrieb am zuletzt editiert von
                                      #159

                                      Это лог с сервера CloudMQTT

                                      Данные получены от ibrokera

                                      На сколько я понимаю проблема в том, что iobroker не разбивает на топики полученные данные от CloudMQTT, а выдает все одной строкой.

                                      380_1223.jpg

                                      Хотя во вкладке "состояния" значения отображаются.

                                      380_12234.jpg

                                      А в обьектах нет

                                      380_122345.jpg

                                      CloudMQTT

                                      1 Antwort Letzte Antwort
                                      0
                                      • BluefoxB Offline
                                        BluefoxB Offline
                                        Bluefox
                                        schrieb am zuletzt editiert von
                                        #160

                                        @bondrogeen:

                                        Сегодня пробовал на другом сервисе (брокере)

                                        Получается название всего топика присваивается как переменная.

                                        filename="3333.jpg" index="0">~~ `
                                        Сегодня переписываю mqtt. Была полная путаница с конвертацией имён.

                                        1 Antwort Letzte Antwort
                                        0
                                        • B Offline
                                          B Offline
                                          bondrogeen
                                          schrieb am zuletzt editiert von
                                          #161

                                          Спасибо, что ответили, очень жду результата.
                                          3514_alexa2_matthias.log

                                          1 Antwort Letzte Antwort
                                          0

                                          Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.

                                          Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.

                                          Mit deinem Input könnte dieser Beitrag noch besser werden 💗

                                          Registrieren Anmelden
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          593

                                          Online

                                          32.8k

                                          Benutzer

                                          82.7k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe