Ankündigung

Einklappen
Keine Ankündigung bisher.

Datenübertragung MQTT

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    Datenübertragung MQTT

    Hallo zusammen,

    hat jemand von euch schon Erfahrungswerte bzgl. MQTT und EibPC?
    Würde gerne alle Meßwerte die ich sammle (über die Unterschiedlichsten clients wie PI und ESP8266) mit dieser Anwendung verarbeiten.
    Der EibPC soll sich dann dieser Meßwerte bedienen können.
    www.mqtt.org

    Danke!

    #2
    Hallo zusammen,

    bisher leider keine Reaktion auf dieses Thema. Vielleicht noch mal kurz ein zwei Infos was ich gemacht habe und wo es gerade hakt...
    Also ich habe einen ESP8266 (Kleiner WiFi Chip mit 12 GPIO) und einen DTH22 (Temperatur und Humidity Sensor). Diese sind verbunden und hängen an einer kleinen Batterie. Nun wird das der Chip gepowert, misst Temperatur und Humidity, schickt die Daten per WLAN an meinen MQTT (Mosquito) Broker der auf einem PI läuft und geht dann in den Deep Sleep. Nach einer Zeit X das ganze wieder von vorn.
    Das ganze läuft wirklich fantastisch, die Werte stimmen, sind zuverlässig und ich kann den Sensor überall plazieren (wegen Batterie). (Übrigens auch tolles 1-Wire-Replacement)
    Mittels Browser (Chrome) und dem MQTT Lens PlugIn kann ich jederzeit sehen was der Sensor für Werte liefert.
    Nun möchte ich diese Werte gerne im EibPC verarbeiten. Dazu muss eine TCP Verbindung aufgebaut werden. Man kann dann über einen String die Werte so filtern das man nicht alle werte sieht sondern nur die, die einen Interessieren.
    Die Frage ist jetzt, wie sieht die Seite auf dem EibPC aus...
    Auf der folgenden Website gibt es einige Beispiele wie es in den verschiedenen Programmiersprachen umgesetzt werden kann: https://www.eclipse.org/paho/clients/c/embedded/
    Meine erste Frage ist: Wie hoch schätzt ihr den Aufwand zur Umsetzung ein? Gibt es Ideen dazu von eurer Seite?

    Vielen Dank!
    LG Chris
    Eclipse Paho is a set of scalable open-source implementations of open and standard messaging protocols aimed at new, existing, and emerging applications for Machine-to-Machine (M2M) and Internet of Things (IoT)

    Kommentar


      #3
      Hi Chris,

      ich würde das nicht versuchen wollen einen MQTT client im EibPC zu implementieren, das wäre mir zu umfangreich. Immerhin mußt Du vieles aus den verfügbaren Client-Libraries nachbilden.
      Alternativ schreibe doch einen MQTT-Client auf dem PI wo auch Dein Broker läuft und sende Werte einfach per UDP an den EibPC. Am UDP horchen ist für den EibPC eine der leichtesten Übungen und nicht so schwierig zu implementieren wie eine TCP Verbindung.

      Für den Fall, das auf dem PI ein eibd / knxd drauf läuft, kannst Du die Werte natürlich auch direkt auf den Bus schreiben lassen.

      Gruß,
      Bernd

      Kommentar


        #4
        Hallo Bernd,
        schon mal danke für deine Einschätzung!
        Bringt mich gerade wieder ans grübeln...

        Danke!

        Kommentar


          #5
          Naja, es sind die kleinen feinen Dinge, wie z.B. after und delay, readudp, chtime etc. die den EibPC so mächtig machen. Allerdings sind es auch die "dicken Makros" wie Wunderground, HA7E & Co. die regelmäßig viel Rechenleistung absaugen.

          Gruß,
          Bernd

          Kommentar


            #6
            Hallo Bernd,
            Wunderground habe ich verbannt, HA7E funktioniert bei mir noch aber soll mit dem ESP8266- der auch einen 1Wire Bus betreiben kann- ersetzt werden.
            Die Sache ist ganz einfach: Der ESP8266 hat 12 GPIO, kostet 1,88 Euro. Für jeden Sensor gibt es ein passendes Lib. Das Programmieren ist einfach (Lua) und das Ding läuft ohne einen Adurino o.Ähnliches haben zu müssen.
            Für mich der ganz klare Weg den EibPC dahingehend zu entlasten und einfach nur noch Werte darzustellen.
            Jetzt fehlt nur noch ein sauberes Interface ;-)

            Kommentar


              #7
              verstehe ich das richtig?: das1,88€ Ding hat 12 GPIO und du kannst den 1 Wire Bus anbinden?

              und du brauchst keinen Arduino oder ähnliches? - klingt echt interessant....
              EPIX
              ...und möge der Saft mit euch sein...
              Getippt von meinen Zeigefingern auf einer QWERTZ Tastatur

              Kommentar


                #8
                Ja genau. Und ich habe das Ding im Einsatz mit einem DTH22. Also Luftfeuchte + Temperatur für zusammen unter 5,-!
                Dann ist es im WLAN und ich habe es an drei kleine AA Batterien gepackt...

                Ein Adurino oder so wird nicht benötigt!

                Anbei ein Bild: Vorne links der ESP8266, das weiße ist der Sensor DTH22. Board mit Kabeln und Netzteil 11 Euro und noch einen FTDI für 7 Euro (USB to UART zum programmieren) IMG_4298.JPG
                IMG_4298.JPG
                Zuletzt geändert von DerMitdemBusSpricht; 16.11.2015, 12:28.

                Kommentar


                  #9
                  ist der DTH22 1wire? ich habe kurz in der Doku geschaut - werd' aber nicht so richtig schlau...
                  Jedenfalls
                  EPIX
                  ...und möge der Saft mit euch sein...
                  Getippt von meinen Zeigefingern auf einer QWERTZ Tastatur

                  Kommentar


                    #10
                    Klingt interessant! Hatte mir vor einiger Zeit beim Chinesen mal zwei Arduino Nanos mit je einem 868 MHz-Transceiver gekauft, um damit dann per MQTT Temperaturwerte zu übertragen... nunja, das ganze war nicht gerade von Erfolg gekrönt

                    Der ESP8266 klingt da schon interessanter. Auf Aliexpress finden sich auch Devboards, bei denen dann der extra FTDI wegfällt (z.B. der hier), kostet dann etwas mehr (aber immer noch humane 4,70$ -- versandkostenfrei).

                    Was mich bei deiner Lösung interessieren würde: Wie lange halten die AA-Batterien denn durch? Ich nehme an du führst periodische Messungen durch und legst den Chip dazwischen in den "deep sleep"?

                    Finde das Projekt echt super!

                    Kommentar


                      #11
                      Also um Missverständnissen vorzubeugen: Der DHT22 hat ein eigenes Protokoll was schon in der aktuellen Lua Firmware includiert ist.
                      Aber es gibt genauso das fertige Protokoll für den DB1820B (1-Wire).

                      Ein komplettes DevBoard habe ich nicht, da mir zu Ohren gekommen ist das das flashen wohl anfänglich geht und dann irgendwann nie wieder.
                      Ich habe mich deshalb für den SLABS USBtoUART entschieden. (Btw - ich mache alles mit dem Mac)

                      Dann noch paar kleine Hinweise: Man flasht am Anfang eine Firmware damit man von AT-Befehlssatz weg kommt und Lua nutzen kann.
                      Wenn die Firmware drauf ist kann man alles mit dem "Esplorer" dann seine LuaSkripte übertragen und debuggen. Live mitlesen kann man auch,
                      GPIOS schalten etc geht auch. Sehr benutzerfreundlich.

                      Was die Batterie angeht kann ich dir noch nicht genau sagen. Derzeit habe ich Sensor und ESP dran, der ist mit einem maximalen Verbrauch von 200mA angegeben wenn er voll power senden muss. Im deep Sleep braucht er noch nicht mal 0,5müAmp. Je nachdem wie lange die Messintervalle sind hält der bestimmt ein paar Wochen. Ich messe derzeit jede Minute. Da ist sehr häufig, werde das noch reduzieren. Nachts brauche ich ja nicht jede Minute einen Meßwert...

                      Zuletzt geändert von DerMitdemBusSpricht; 16.11.2015, 15:07. Grund: Achso: Der Verbindungsaufbau zum WLAN dauert keine 5sec!

                      Kommentar


                        #12
                        Hier gibts jetzt noch einen screenshot von MQTT Browser Client:
                        Bildschirmfoto 2015-11-16 um 17.43.43.png

                        Und noch ein Screenshot vom eigentlichen ProgrammierTool Esplorer:
                        Bildschirmfoto 2015-11-16 um 17.46.54.png
                        und noch ein paar links:

                        http://esp8266.ru/esplorer/

                        http://nodemcu.com/index_en.html

                        https://github.com/nodemcu/nodemcu-f...6-dev_20150704
                        https://github.com/nodemcu/nodemcu-f...0.9.5_20150318
                        https://github.com/nodemcu/nodemcu-d...Started-on-OSX

                        Das Zeug gibts bei amazon (teuer aber schnell) oder bei aliExpress.com (billig und langsam)
                        Angehängte Dateien

                        Kommentar


                          #13
                          Kleines Update hier von meiner Seite: Ich habe den Weg nun Rund!
                          Am Wochenende habe ich ein kleines Gateway geschrieben der die Daten vom Mqtt abholt und per UDP zum EibPC schickt. Der EibPC wertet die Daten dann aus und Erstellt die Diagramme.
                          In Zukunft brauche ich also all meine Meßwerte nur noch zum Mqtt Broker schicken und schwupp! sind sie auch direkt im EibPC!
                          Als nächstes kommen nun die Daten vom Stromzähler hinzu....

                          Kommentar


                            #14
                            Ich find das grundsätzlich unglaublich cool !!

                            gibt es irgendwo eine Auflistung was für Sensoren man da an das Teil alles anschließen kann ?

                            Ich such ja immer noch verzweifelt eine Möglichkeit höhere Temperaturen auf den Bus schicken zu lassen..

                            Gruß Martin
                            Die Selbsthilfegruppe "UTF-8-Probleme" trifft sich diesmal abweichend im groüen Saal.

                            Kommentar


                              #15
                              Was meinst du mit höhere Werte? Der DS1820B macht bis 125°... Grill? Schmiedefeuer? Gib mal die Range an!

                              Mittlerweile sind schon so viele Sensoren Skripte dafür verfügbar - goolge mal nach LUA+Sensorname. Nichts was es nicht gibt. Ich werde auch nun meinen Zisternen-RaspberryPi austauschen gegen einen ESP8266. Ein Lua Script für den Ultraschall Sensor gibt es auch schon....

                              Kommentar

                              Lädt...
                              X