Hallo,
ich habe eine ganze Menge MySensors-Sensoren in Haus und Garten am laufen. Für den erweiterten Garteneinsatz kommt das 2.4 GHz-System an seine Grenzen (Laub, Regen, Hügel, Entfernung).
Daher möchte ich diverse Sensoren/Aktoren gerne kabelgebunden ans FHEM anschließen. Da sowieso Strom benötigt wird, scheint mir ein Ethernetkabel mit PoE am besten geeignet.
Bevor ich jetzt anfange, das Rad zweimal zu erfinden, meine Frage:
Gibt es ein implementiertes Protokoll / Modul / etc. für die Kommunikation zwischen FHEM und Arduino über Ethernet?
Ansonsten würde ich versuchen, den Arduino als WebServer/Client einzurichten und Daten /Befehle per http zu übertragen.
Oder gibt es bessere / einfachere Möglichkeiten?
Moin,
ich nutze für solche Aufgaben MQTT, das erscheint mir ideal für solche Aufgaben.
Gruß
Pf@nne
MySensors mit RS485 ginge auch. 12V auf 2 weitere Adern.
Gruss, Beta-User
Oder Firmata glaub ich ist auch dafür geeignet.
Gruß,
kuzl
oder wenn der sketch von dir ist KeyValueProtokol
oder statt arduinos gleich 1Wire sensoren.
Wenn du noch etwas Geduld hast (evtl bis heute mittag) zeige ich dir, wie einfach und schnell man auf einem Aduino MQTT ans laufen bekommt, und wie wenig man in seinen Sketchen ändern muss.
Zitat von: justme1968 am 29 März 2017, 08:09:48
oder wenn der sketch von dir ist KeyValueProtokol
Habe das Stichwort KeyValueProtocol mal zu Arduino ins Wiki eingepflegt.
Gibt es irgendwo eine Quelle, wo man sich als Einsteiger über Vor- und Nachteile einlesen kann? Die Commandref dazu ist sehr kurz und die (zugegebenermaßen kurze) Forumssuche hat mir auch keine erhellenden Erkenntnisse gebracht.
Geht KeyValueProtocol nur in eine Richtung (Arduino->FHEM) oder wäre darüber auch ein transparenter Austausch von Infos möglich (wie z.B. bei MySensors, MQTT oder (vermutlich) ESPEasy)?
Gruß, Beta-User
KeyValueProtocol geht aktuell nur vom sensor in richtung fhem. es gibt auch nur die beschreibung im modul bzw. in zwei threads.
es ist aber die einfachste lösung von allen wenn dir die beschränkung der richtung nichts ausmacht. du kannst den arduino per usb, per netz direkt oder per netz und udp broadcast an fhem anbinden. im sketch brauchst du nur ein printf mit den readings. alles andere macht fhem komplett automatisch. devices anlegen, readings füllen.
die anderen drei varianten sind bidirektional. panstamps wären das auch.
aber schau dir auch noch mal an was mit 1-wire geht. wenn du kabel legen kannst und willst sollte das einfacher und günstiger sein als ethernet.
gruss
andre
Hi Andre,
Danke für die Info. Hättest Du mir einen Beispielsketch, den ich ggf. unbesehen ins Wiki übernehmen könnte, dann würde ich einen neuen (kurzen) Artikel mit Deinen Infos dazu anlegen.
@Ekkehard
MySensors@RS485 wäre ähnlich wie Andre's Vorschlag mit 1-wire, allerdings bräuchtest Du 4 statt 2-3 Strippen (bzw. nur 2, wenn die Sensoren schon lokal mit Strom versorgt sind), dafür müßtest Du nur die Übertragungsart in den vorhandenen Sketchen umstellen (RS485 statt (vermutlich) nRF). Funkoptimierung hast Du ja vermutlich ausgereizt?
Vielen Dank für Eure zahlreichen Antworten!
Werde mir mal MQTT und RS485 näher anschauen.
RS485 scheint etwas einfacher (und ressourcenschonender) in der Hard- und Software-Implementierung zu sein. Nur die Verbindung des "Garten-Netzes" zum RasPi ist noch nicht ganz geklärt:
* MQTT: PowerLan Adapter in der Gartenlaube
* RS485: Kabel zum Fenster raus (oder LAN/WLAN - 485 Adapter?)
Zitat von: Ekkehard am 29 März 2017, 15:01:25
* RS485: Kabel zum Fenster raus (oder LAN/WLAN - 485 Adapter?)
Noch nicht probiert, aber es sollte kein Problem sein, ein MySensors-RS485-GW auf Basis eines ESP8266 aufzubauen (wobei dann die Frage ist, wieviele Nodes da dranhängen sollen, wenn es nur um eine Node geht, ist z.B. ESPEasy auch keine schlechte Idee; die eine Node ist dann halt ein zusätzliches GW ohne MySensors-Netz dahinter). Alternative: die Verwendung eines "klassischen" MySensors-Repeaters mit einem ordentlichen nRF ;). Oder ein (PoE-) LAN-GW mit angehängem RS485-Netz...
Wobei Du ja auch für den PoE-Arduino ein Kabel legen müßtest?!? Wenn das LAN-Kabel schon da liegt, könntest Du es auch umwidmen, wenn Du es nicht anderweitig brauchst.