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
    739

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

  • 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.1k 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.
  • I Offline
    I Offline
    instalator
    schrieb am zuletzt editiert von
    #19

    Появилась куча непонятных переменных
    266_21323213123123213.png

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

    http://blog.instalator.ru/

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

      @instalator:

      Да помоему не очень протокол, получается `
      Да не. нормальный протокол, все больше мне начинает нравится, надо просто разобраться…
      @instalator:

      адресации нет. драйвер шлет в сеть мусор, ардуниы его принимают, парсят и если что то прилетело определенной ардуине она обрабатывает распарсеный пакет. `
      Скетч ардуины выложите пожалуйста… Ато не понятно кто кому как что шлет))
      @instalator:

      Я и говорю что это телеметрия, для датчиков да пойдет, датчик с переодичностью шлет в сеть свои данные и все. `
      Не, для управления тоже можно, примеров http://bogdanioanliviu.no-ip.org/part1-arduino-mqtt-web-socket-home-automation/, надо просто разобраться что куда.
      @instalator:

      Плюс если устройств куча, каждый клиент шлет свои данные, в сети появляется много мусора. Представь что постоянно что то летит по протоколу и ардуина его парсит, она только и будет все время обрабатывать пакеты прилетающие а на другие операции процессорного времени не найдется `
      Так вроде если клиент-ардуина подписана на топик - ей изменение параметра прилетит, если нет - то она ничего не получит…


      Немного отсебятинки - последняя строка настройки адаптера не переведа - на английском.

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

        @electric69:

        Так вроде если клиент-ардуина подписана на топик - ей изменение параметра прилетит, если нет - то она ничего не получит…

        . `
        А как ардуина узнает что это именно ей прилетело? ей придется парсить весь мусор в протоколе

        Код переделывал отсюда http://habrahabr.ru/post/250833/

        Хотя ты прав, если только этому ip шлется. Видимо драйвер просто не шлет изменение статуса.

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

        http://blog.instalator.ru/

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

          @instalator:

          А как ардуина узнает что это именно ей прилетело? ей придется парсить весь мусор в протоколе `
          Есть такая настройка, clientID называется (ну или как назовешь сам), в этом https://github.com/knolleary/pubsubclient/blob/master/PubSubClient/examples/mqtt_auth/mqtt_auth.ino значение "arduinoClient" у нее.

          –----

          Вот тут клиент айди, и аутентификация

          client.connect("clientID", "mqtt_username", "mqtt_password");
          

          В примере с хабра - айди = "myhome-kitchen", аутентификации нет, может поэтому трабл?

          В настройках MQTT-адаптера указывал логин/пароль?

          client.connect("myhome-kitchen")
          
          1 Antwort Letzte Antwort
          0
          • BluefoxB Offline
            BluefoxB Offline
            Bluefox
            schrieb am zuletzt editiert von
            #23

            Полностью поддерживаю electric69, что это очень простой и перспективный протокол.
            > А как ардуина узнает что это именно ей прилетело? ей придется парсить весь мусор в протоколе
            Ардуина должна подписатся на сообщения. Например subscribe("myhome/in/#"). Ты подписался?

            Советую в начале топика не писать "/", а сразу начинать с "myhome/…"

            Есть обновление. Сильно переработанное. Там есть новая настройка : Send commands (not ack) too

            Это если ты хочешь слать к ардуине статус... Хотя не понятно зачем. ;)

            > Немного отсебятинки - последняя строка настройки адаптера не переведа - на английском.
            Да забыл..

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

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

              @Bluefox:

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

              Оф. англ. документанция… какая то размазанная чтоли - есть интересные моменты, но их собираю по крупицам.

              Вот бы пару скетчей чтобы разобраться кого с кем публиковать/подписываться)))

              Bluefox, в немецкой ветке форума нет примеров?

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

                > Bluefox, в немецкой ветке форума нет примеров?
                Они тоже только начинают играться с SparcCore. Если что будет полезное - переведу.

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

                  @Bluefox:

                  Есть обновление. Сильно переработанное. Там есть новая настройка : Send commands (not ack) too

                  Это если ты хочешь слать к ардуине статус… Хотя не понятно зачем. ;) `
                  Чото у меня даже что работало - перестало))

                  https://github.com/knolleary/pubsubclient/blob/master/PubSubClient/examples/mqtt_auth/mqtt_auth.ino из библиотеки отлично создавал объект и переменную.

                  Теперь не создает, в логе тишина, просто старт и все…

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

                    @electric69:

                    @Bluefox:

                    Есть обновление. Сильно переработанное. Там есть новая настройка : Send commands (not ack) too

                    Это если ты хочешь слать к ардуине статус… Хотя не понятно зачем. ;) `
                    Чото у меня даже что работало - перестало))

                    https://github.com/knolleary/pubsubclient/blob/master/PubSubClient/examples/mqtt_auth/mqtt_auth.ino из библиотеки отлично создавал объект и переменную.

                    Теперь не создает, в логе тишина, просто старт и все… `
                    Переключи на debug и обнови драйвер до 0.2.0

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

                      @Bluefox:

                      Переключи на debug `
                      Переключил, тишина, перезагружал ардуину - она в этом примере публикует только при старте - тишина…

                      В логе одни inMem'мы...

                      UPD: О_о, версия 0.2.0 уже есть, блин, пока писал сообщение видимо))
                      50_pic_112.jpg

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

                        @Bluefox:

                        Переключи на debug и обнови драйвер до 0.2.0 `
                        Обновился, объекты не создает, адаптер вылетает с ошибкой…

                        Два раза пробовал (видно по логу)...
                        50_pic_113.jpg
                        50_pic_114.jpg

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

                          Попробуй ещё раз обновится

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

                            @Bluefox:

                            Попробуй ещё раз обновится `
                            Что то появилось, спасибо!

                            Буду мучить дальше…
                            50_pic_115.jpg
                            50_pic_116.jpg

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

                              https://github.com/knolleary/pubsubclient/blob/master/PubSubClient/examples/mqtt_publish_in_callback/mqtt_publish_in_callback.ino из библиотеки тоже заработал (после обновления до 0.2.2)…

                              Однако, при рестарте ардуины возникает ошибочка - что она обозначает?
                              50_pic_118.jpg

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

                                Как раз то, что ардуина перестартовала. Наверно надо сделать warn.

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

                                  @Bluefox:

                                  Как раз то, что ардуина перестартовала. Наверно надо сделать warn. `
                                  Спасибо.

                                  –-------

                                  Блин, ввязался я в этот MQTT))

                                  Есть одна проблема, точнее костыль, точнее просто мысль...

                                  1. Сервер с ioBroker выступает в качестве MQTT-брокера, вроде все понятно, хорошо.

                                  Есть ардуина, к которой подключено 3 темп. датчика и по одному - влажности, давления, освещения. Ардуина получается MQTT-клиент.

                                  Надо передавать эти параметры на сервер, к примеру, раз в минуту, ОК - пишем для ардуины скетч, который публикует раз в минуту данные в ioBroker.

                                  Но, инициатива передачи данных исходит от ардуины, а в адаптере для CCU.IO инициатива была от сервера и период соответственно настраивался на сервере.

                                  Если в описанной модели передачи захочется поменять период передачи - переписывай код ардуины (можно конечно сделать костыль - типа передавать интервал клиенту - подписать ардуину на этот параметр).

                                  Если ардуина зависнет - данных нет, надо придумывать какой то таймер...

                                  2. Еще один нюанс.

                                  Предположим, ардуина управляет двумя лампочками, но работает тоже как MQTT-клиент.

                                  Для нормального управления (обр. связь чтобы была), надо делать две переменные - in и out (по примеру http://contactless.ru/wiki/index.php/MQTT в контроллере WirenBoard)

                                  Ардуина в out публикует состояние лампочки, а на переменную in подписывается. Как только in меняется - брокер извещает об изменении ардуину и та принимает решение - включать, отключать, ничего не делать.

                                  Но есть косяк (хотя может так задумано), подписываясь на переменную in, ардуина не создает её в ioBroker.

                                  Адаптер MQTT в ioBroker не умеет, я так понял, публиковать переменные…

                                  Поэтому при старте/рестрате контроллер должен сначала опубликовать и in и out, потом работать в обычном режиме...


                                  Такие мысли, вот...

                                  P.S. Блин, засада, не могу нормально установить альтернативный MQTT-брокет на Windows-машину, у кого-ниб получилось заставить работать http://mosquitto.org/ из-под винды?

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

                                    Вроде зашевелилось.

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

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

                                    http://blog.instalator.ru/

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

                                      Пока что как то так
                                      266_mqtt.rar

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

                                      http://blog.instalator.ru/

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

                                        Почему то при публикации двух переменных у меня вылетает ошибка.

                                        Код ардуины:

                                        ! ````
                                        #include <spi.h>#include <ethernet.h>#include <pubsubclient.h>// Update these with values suitable for your network.
                                        byte mac[] = { 0xDE, 0xED, 0xBA, 0xFE, 0xFE, 0xED };
                                        byte server[] = { 192, 168, 69, 51 };
                                        byte ip[] = { 192, 168, 69, 71 };

                                        void callback(char* topic, byte* payload, unsigned int length) {
                                        // handle message arrived (no messages expected though)
                                        }

                                        EthernetClient ethClient;
                                        PubSubClient client(server, 1883, callback, ethClient);

                                        void setup() {
                                        Ethernet.begin(mac, ip);
                                        if (client.connect("arduinoController", "testuser", "testpass")) {
                                        client.publish("arduinoController/status","online");
                                        client.publish("arduinoController/sensors/temp1","78");
                                        }
                                        }

                                        void loop() {
                                        delay(10000);
                                        //client.publish("arduinoController/sensors/temp1","78");
                                        client.loop();
                                        }</pubsubclient.h></ethernet.h></spi.h>

                                        Ошибка:
                                        [50_pic_119.jpg](/assets/uploads/files/50_pic_119.jpg)
                                        1 Antwort Letzte Antwort
                                        0
                                        • BluefoxB Offline
                                          BluefoxB Offline
                                          Bluefox
                                          schrieb am zuletzt editiert von
                                          #38

                                          Есть новая версия.

                                          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

                                          545

                                          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