Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • 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

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.5k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.0k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    2.7k

Драйвер Mqtt + Arduino

Geplant Angeheftet Gesperrt Verschoben ioBroker драйвера
244 Beiträge 18 Kommentatoren 76.5k 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.
  • P Offline
    P Offline
    Plaha
    schrieb am zuletzt editiert von
    #233

    @instalator:

    Я же тебе писал что проблема в клиенте а не в иоб и драйвере.

    Чтобы было соединение клиент должен быть подписан на топики. `

    Ниже код, который пытается подключиться, ошибка та же: Client error [test1/1]: Error: not implemented

    #include <esp8266wifi.h>
    #include <wificlientsecure.h>
    #include <pubsubclient.h>
    
    const char* ssid = "";
    const char*password = "";
    const char *mqtt_server = "10.1.1.1";
    const int mqtt_port = 1883; 
    unsigned int send_interval = 10;
    unsigned long last_time = 0; 
    char buff[20];
    
    int pin13 = 13; 
    
    WiFiClient ethClient;
    
    void callback(char* topic, byte* payload, unsigned int length);
    
    PubSubClient client(mqtt_server, mqtt_port, callback, ethClient);
    
    void callback(char* topic, byte* payload, unsigned int length) {
      Serial.println ("");
      Serial.println ("-------");
      Serial.println ("New callback of MQTT-broker");
      //преобразуем тему(topic) и значение (payload) в строку
      payload[length] = '\0';
      String strTopic = String(topic);
      String strPayload = String((char*)payload);
      //Исследуем что "прилетело" от сервера по подписке:
      //Управление светодиодом
      if (strTopic == "test1/setdat") {
        if (strPayload == "off" || strPayload == "0" || strPayload == "false") digitalWrite(pin13, LOW);
        if (strPayload == "on" || strPayload == "1" || strPayload == "true") digitalWrite(pin13, HIGH);
      }
      Serial.print (strTopic);
      Serial.print (" ");
      Serial.println (strPayload);
      Serial.println ("-------");
      Serial.println ("");
    }
    
    void wifiConnect() {
      WiFi.begin(ssid, password);
      while (WiFi.status() != WL_CONNECTED) {
        delay(300);
        Serial.print(".");
        digitalWrite(pin13, 0);
        delay(300);
        digitalWrite(pin13, 1);
        delay(300);
      }
    
      Serial.println("");
      Serial.println("WiFi connected");
      Serial.println("IP address: ");
      Serial.println(WiFi.localIP());
      digitalWrite(pin13, 0);
    }
    
    void setup() {
      Serial.begin(115200);
      Serial.begin(115200); 
      pinMode(pin13, OUTPUT); 
      delay(10); 
      wifiConnect();
    }
    
    void loop() {
      //Если соединение MQTT неактивно, то пытаемся установить его и опубликовать/подписаться
      if (!client.connected()) {
        Serial.print("Connect to MQTT-boker... ");
        //Подключаемся и публикуемся/подписываемся
        if (client.connect("test1/1")) {
          Serial.println("success");
          //Значение с датчиков
          client.publish("test1/1", "1");
          //Подписываемся на переменную управления светодиодом
          client.subscribe("test1/setdata");
        } else {
          //Если не подключились, ждем 10 секунд и пытаемся снова
          Serial.print("Failed, rc=");
          Serial.print(client.state());
          Serial.println(" try again in 10 seconds");
          delay (10000);
        }
        //Если соединение активно, то отправляем данные на сервер с заданным интервалом времени
      } else {
        if (millis() > (last_time + send_interval * 1000)) {
          last_time = millis();
          client.publish("test1/1", "1");
        }
      }
      //Проверка входящих соединений по подписке
      client.loop();
    }</pubsubclient.h></wificlientsecure.h></esp8266wifi.h>
    
    1 Antwort Letzte Antwort
    0
    • I Offline
      I Offline
      instalator
      schrieb am zuletzt editiert von
      #234

      @Plaha:

      @instalator:

      Я же тебе писал что проблема в клиенте а не в иоб и драйвере.

      Чтобы было соединение клиент должен быть подписан на топики. `

      Ниже код, который пытается подключиться, ошибка та же: Client error [test1/1]: Error: not implemented

      #include <esp8266wifi.h>
      #include <wificlientsecure.h>
      #include <pubsubclient.h>
      
      const char* ssid = "";
      const char*password = "";
      const char *mqtt_server = "10.1.1.1";
      const int mqtt_port = 1883; 
      unsigned int send_interval = 10;
      unsigned long last_time = 0; 
      char buff[20];
      
      int pin13 = 13; 
      
      WiFiClient ethClient;
      
      void callback(char* topic, byte* payload, unsigned int length);
      
      PubSubClient client(mqtt_server, mqtt_port, callback, ethClient);
      
      void callback(char* topic, byte* payload, unsigned int length) {
        Serial.println ("");
        Serial.println ("-------");
        Serial.println ("New callback of MQTT-broker");
        //преобразуем тему(topic) и значение (payload) в строку
        payload[length] = '\0';
        String strTopic = String(topic);
        String strPayload = String((char*)payload);
        //Исследуем что "прилетело" от сервера по подписке:
        //Управление светодиодом
        if (strTopic == "test1/setdat") {
          if (strPayload == "off" || strPayload == "0" || strPayload == "false") digitalWrite(pin13, LOW);
          if (strPayload == "on" || strPayload == "1" || strPayload == "true") digitalWrite(pin13, HIGH);
        }
        Serial.print (strTopic);
        Serial.print (" ");
        Serial.println (strPayload);
        Serial.println ("-------");
        Serial.println ("");
      }
      
      void wifiConnect() {
        WiFi.begin(ssid, password);
        while (WiFi.status() != WL_CONNECTED) {
          delay(300);
          Serial.print(".");
          digitalWrite(pin13, 0);
          delay(300);
          digitalWrite(pin13, 1);
          delay(300);
        }
      
        Serial.println("");
        Serial.println("WiFi connected");
        Serial.println("IP address: ");
        Serial.println(WiFi.localIP());
        digitalWrite(pin13, 0);
      }
      
      void setup() {
        Serial.begin(115200);
        Serial.begin(115200); 
        pinMode(pin13, OUTPUT); 
        delay(10); 
        wifiConnect();
      }
      
      void loop() {
        //Если соединение MQTT неактивно, то пытаемся установить его и опубликовать/подписаться
        if (!client.connected()) {
          Serial.print("Connect to MQTT-boker... ");
          //Подключаемся и публикуемся/подписываемся
          if (client.connect("test1/1")) {
            Serial.println("success");
            //Значение с датчиков
            client.publish("test1/1", "1");
            //Подписываемся на переменную управления светодиодом
            client.subscribe("test1/setdata");
          } else {
            //Если не подключились, ждем 10 секунд и пытаемся снова
            Serial.print("Failed, rc=");
            Serial.print(client.state());
            Serial.println(" try again in 10 seconds");
            delay (10000);
          }
          //Если соединение активно, то отправляем данные на сервер с заданным интервалом времени
        } else {
          if (millis() > (last_time + send_interval * 1000)) {
            last_time = millis();
            client.publish("test1/1", "1");
          }
        }
        //Проверка входящих соединений по подписке
        client.loop();
      }</pubsubclient.h></wificlientsecure.h></esp8266wifi.h>
      ```` `  переведи драйвер в режим дебаг и скинь лог
      

      266_img_20170712_002411.jpg
      266_img_20170712_002500.jpg

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

      http://blog.instalator.ru/

      1 Antwort Letzte Antwort
      0
      • P Offline
        P Offline
        Plaha
        schrieb am zuletzt editiert von
        #235

        Лог во вложении
        3048_log.txt

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

          @Plaha:

          Лог во вложении `
          Даже не знаю что может быть.

          Попробуй код изменить на :

          if (client.connect("test")) {
                Serial.println("success");
                //Значение с датчиков
                client.publish("test1/1", "1");
                //Подписываемся на переменную управления светодиодом
                client.subscribe("test1/#");
              } 
          

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

          http://blog.instalator.ru/

          1 Antwort Letzte Antwort
          0
          • P Offline
            P Offline
            Plaha
            schrieb am zuletzt editiert von
            #237

            @instalator:

            @Plaha:

            Лог во вложении `
            Даже не знаю что может быть.

            Попробуй код изменить на :

            if (client.connect("test")) {
                  Serial.println("success");
                  //Значение с датчиков
                  client.publish("test1/1", "1");
                  //Подписываемся на переменную управления светодиодом
                  client.subscribe("test1/#");
                } 
            ```` `  
            

            Все тоже самое :(

            Меня больше всего смущает статус драйвера "Соединение с mqtt: нет", такое ощущение что mqtt не стартует.

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

              @Plaha:

              @instalator:

              @Plaha:

              Лог во вложении `
              Даже не знаю что может быть.

              Попробуй код изменить на :

              if (client.connect("test")) {
                    Serial.println("success");
                    //Значение с датчиков
                    client.publish("test1/1", "1");
                    //Подписываемся на переменную управления светодиодом
                    client.subscribe("test1/#");
                  } 
              ```` `  
              

              Все тоже самое :(

              Меня больше всего смущает статус драйвера "Соединение с mqtt: нет", такое ощущение что mqtt не стартует. `
              Это статус соединения с клиентами, т.е. если какой либо клиент будет подписан то будет зеленый

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

              http://blog.instalator.ru/

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

                А у тебя файрволов нет никаких? Порт больше никто не держит?

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

                http://blog.instalator.ru/

                1 Antwort Letzte Antwort
                0
                • P Offline
                  P Offline
                  Plaha
                  schrieb am zuletzt editiert von
                  #240

                  @instalator:

                  А у тебя файрволов нет никаких? Порт больше никто не держит? `
                  Фаервол отключен, телнет на порт проходит, порты пробовал менять - не помогает. :(

                  1 Antwort Letzte Antwort
                  0
                  • P Offline
                    P Offline
                    Plaha
                    schrieb am zuletzt editiert von
                    #241

                    А эта проблема может быть из за Node?

                    А то на инструкиции разные по установке Node:

                    https://github.com/ioBroker/ioBroker/wi … ые-системы

                    http://www.iobroker.net/docu/?page_id=3489&lang=ru

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

                      @Plaha:

                      А эта проблема может быть из за Node?

                      А то на инструкиции разные по установке Node:

                      https://github.com/ioBroker/ioBroker/wi … ые-системы

                      http://www.iobroker.net/docu/?page_id=3489&lang=ru ` а какая стоит? 4ю поставь.

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

                      http://blog.instalator.ru/

                      1 Antwort Letzte Antwort
                      0
                      • P Offline
                        P Offline
                        Plaha
                        schrieb am zuletzt editiert von
                        #243

                        @instalator:

                        @Plaha:

                        А эта проблема может быть из за Node?

                        А то на инструкиции разные по установке Node:

                        https://github.com/ioBroker/ioBroker/wi … ые-системы

                        http://www.iobroker.net/docu/?page_id=3489&lang=ru а какая стоит? 4ю поставь.

                        Показывает что стоит 0.12

                        Попробую установить 4 версию, по результатам отпишусь.

                        1 Antwort Letzte Antwort
                        0
                        • P Offline
                          P Offline
                          Plaha
                          schrieb am zuletzt editiert von
                          #244

                          @instalator:

                          а какая стоит? 4ю поставь. `
                          Спасибо!

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

                          Вечером проверю с нормальным клиентом.

                          Дело было в Node.

                          1 Antwort Letzte Antwort
                          0
                          Antworten
                          • In einem neuen Thema antworten
                          Anmelden zum Antworten
                          • Älteste zuerst
                          • Neuste zuerst
                          • Meiste Stimmen


                          Support us

                          ioBroker
                          Community Adapters
                          Donate

                          785

                          Online

                          32.4k

                          Benutzer

                          81.4k

                          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