Forum: Mikrocontroller und Digitale Elektronik MQTT over RFM69


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Johannes S. (jojos)


Bewertung
0 lesenswert
nicht lesenswert
Hallo,
ich möchte mit MQTT anfangen für Steuerungen im Haus und Hof Bereich. In 
MQTT habe ich mich etwas eingelesen und mit den RFM habe ich eine 
funktionierende Funkbrücke. Für die Hausautomatisierung soll es in die 
Richtung FHEM / openHAB gehen, erster Client soll ein bisschen RGB Licht 
für den Garten sein. Dazu habe ich dann den LED Controller mit RFM69 und 
ich brauche ein Gateway LED-RFM <-> RFM-MQTT.
Jetzt überlege ich welche Daten da über die Funkbrücke laufen sollen. 
Ich habe mir mal https://github.com/computourist/RFM69-MQTT-client 
angesehen, da wird eine fixe Message mit 
nodeID|deviceID|command|integer|float|string gesendet. Ist einfach, es 
wird immer ein Wert ausgetauscht vom Typ int oder float oder string, 
abhängig vom logischen Device das angesprochen wird. Viele Daten 
abfragen bedeutet dann also viel Ping-Pong. Grössere Pakete zwischen den 
RFM müssten gestückelt werden und das hat über Funk natürlich auch seine 
Tücken.
Hat hier schon jemand so eine RFM-MQTT Brücke laufen? Und welche Daten 
schaufelt ihr dann hin und her? Jetzt wo ich das so schreibe tendiere 
ich zu kurzen JSON Strings. Binär ist auf der µC Seite effizienter, aber 
auf der MQTT Seite sind lesbare Nachrichten schöner. Das Gateway soll 
auf jeden Fall möglichst dumm sein und nicht seine Clients kennen müssen 
um die Nachrichten zu übersetzen.

von Oliver S. (phetty)


Bewertung
0 lesenswert
nicht lesenswert
Es gibt da einige Ansätze:

https://harizanov.com/2015/11/rfm69-to-mqtt-gateway-using-esp8266/

https://github.com/bbx10/nanohab

Musst also nicht das Rad komplett neu entwickeln.

von Johannes S. (jojos)


Bewertung
0 lesenswert
nicht lesenswert
Danke,
in dem ersten Link habe ich nicht viel gefunden. In der Diskussion da 
war eine Idee für die Nutzdaten ein binäres JSON zu benutzen, muss ich 
mir mal ansehen. Vorteil wäre das ein Gateway dann BSON <-> JSON wandeln 
kann.
Im zweiten Link ist ein sehr schönes Gateway, ich wollte das mit einem 
RaspPi machen auf dem auch der Broker läuft aber das hier sieht ja sehr 
nach Plug and Play aus.

von Johannes S. (jojos)


Bewertung
0 lesenswert
nicht lesenswert
ich habe das hier noch gefunden:
https://github.com/abouillot/HomeAutomation
In piGateway ist genau das drin was ich mir vorgestellt hatte.

von Kilian (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Falls noch nicht geschehen, schau Dir doch mal den MQTT-SN [1] Standard 
an. Das ist eine Erweiterung/Adaption von MQTT für Sensornetze. Meiner 
Meinung nach äußerst genial.
Allerdings beißt sich das mit Deinem Ansatz eines möglichst dummen 
Gateways. Die Transparenz, Flexibilität und die Möglichkeiten der 
Verbindung von simplen Sensorknoten mit bestehenden MQTT-Netzen sind es 
meiner Meinung nach allerdings wert.

[1] http://mqtt.org/new/wp-content/uploads/2009/06/MQTT-SN_spec_v1.2.pdf

von Johannes S. (jojos)


Bewertung
0 lesenswert
nicht lesenswert
Ich bin an dem Thema noch dran und habe das piGateway zum Laufen 
bekommen. In der Original Software wird aber nur ein Int und ein Float 
verschickt und das gateway ist auf die Zusammenarbeit mit OpenHAB items 
ausgerichtet. Mit openHAB konnte ich mich aber nicht anfreunden und bin 
noch bei kurzen JSON Strings die ich verschicke. MQTT Module gibt es 
auch in anderer Homeautomation Software, das ist schon sehr universell. 
Das es die -SN Variante gibt habe ich gelesen, aber mit dem gateway 
klappt das bisher schon ganz gut.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.