Guten Abend zusammen,
ich bräuchte mal eure Ideen und Vorschläge.
Der aktuelle ist Zustand:
- Arduino und Raspberry Pi sind per USB to Serial Kabel verbunden
- Senden von Commands von der Terminalkonsole des Ras. Pi sind möglich
Meine Fragen:
- Gibt es eine Möglichkeit innerhalb von FHEM direkt auf die Serial Konsole zuzugreifen?
- Der Befehl der abgesetzt werden soll ist 2=1:100<cr><lf>
- Ein auslesen des Rückgabewerts wäre auch schön aber nicht zwingend.
Vielleicht hat einer von euch schon mal ähnliches gemacht?!
Danke für eure Hilfe.
Gruß
Si(MO)n
Zitat von: Si(MO)n am 08 Dezember 2015, 21:45:40
Guten Abend zusammen,
ich bräuchte mal eure Ideen und Vorschläge.
Der aktuelle ist Zustand:
- Arduino und Raspberry Pi sind per USB to Serial Kabel verbunden
- Senden von Commands von der Terminalkonsole des Ras. Pi sind möglich
Meine Fragen:
- Gibt es eine Möglichkeit innerhalb von FHEM direkt auf die Serial Konsole zuzugreifen?
- Der Befehl der abgesetzt werden soll ist 2=1:100<cr><lf>
- Ein auslesen des Rückgabewerts wäre auch schön aber nicht zwingend.
Vielleicht hat einer von euch schon mal ähnliches gemacht?!
Danke für eure Hilfe.
Gruß
Si(MO)n
Ich nehme an mir USB-Serial-Kabel ist gemeint, dass etweder ein ProMini mit Adapter oder ein anderen Arduino direkt mit dem PI verbunden ist?
Daten zum Arduino zu senden ist dann eigentlich relativ einfach, es gibt zum Beispiel eine gute Beschreibung hier.
http://playground.arduino.cc/Interfacing/LinuxTTY (http://playground.arduino.cc/Interfacing/LinuxTTY)
Zur Einbindung in FHEM wäre es dann aber eigentlich sinnvoll ein Modul in FHEM zu benutzen (oder zu bauen), dass die Kommunikation mit dem Arduino abwickelt, dann kann man auch auf die Rückgabe entsprechend reagieren.
USB direkt am Arduino
Im Raspberry wird es dann als /dev/ttyUSB0 erkannt und mit Linux Boardmitteln geht es. also echo etc..
Die Sache mit dem Modul ist das was ich meine, ich habe kein Modul gefunden, dass die Aufgabe erfüllen kann.
Zitat von: Si(MO)n am 08 Dezember 2015, 22:24:52
Die Sache mit dem Modul ist das was ich meine, ich habe kein Modul gefunden, dass die Aufgabe erfüllen kann.
OK, ich hatte nicht verstanden, was die Serial Konsole sein sollte.
Ich kenne kein generisches Modul zur seriellen Kommunikation, aber für wenige Kommands ist vielleicht der direkte Aufruf von shell-Kommands ausreichend. Diese können auch in notifys etc verwendet werden.
Ich habe folgendes gefunden:
http://forum.fhem.de/index.php?topic=16058.0
http://forum.fhem.de/index.php/topic,28198.0.html
Nicht ganz was ich brauche, aber es geht schon mal in die Richtung..
Zitatgenerisches Modul zur seriellen Kommunikation
Schau dir in der commandref das ECMD an......Das ist ein absolut generisches Modul für zB serielle Kommunikation.
lg, Stefan
Interessant, wieder was gelernt, das hatte ich überlesen, dass hier explizit auch tty möglich ist.
Ok, vielen Dank für den Hinweis auf ECMD!!
Hiermit habe ich es geschafft, Daten zu senden.
Nun gibt es nur noch ein Phänomen, ab und zu wird der Befehl nach dem senden nicht vom Arduino interpretiert.
Deswegen würde ich es gerne auf galante Weise mehrfach senden.
Am liebsten in der Form: Senden, warten, Senden...
Was ich bis jetzt eingerichtet habe:
fhem.cfg:
define Arduino_Serial ECMD serial /dev/ttyUSB0@9600
attr Arduino_Serial classdefs LEDs=/opt/fhem/FHEM/ECMD_Classes/LEDs.classdef
attr Arduino_Serial requestSeparator
define LED1 ECMDDevice LEDs
attr LED1 IODev Arduino_Serial
attr LED1 verbose 5
attr LED1 webCmd 1on:1off:2on:2off:3on:3off:auto
LEDs.classdef:
set 1on cmd {"3\n\r"}
set 1off cmd {"6\n\r"}
set 2on cmd {"4\n\r"}
set 2off cmd {"7\n\r"}
set 3on cmd {"5\n\r"}
set 3off cmd {"8\n\r"}
set auto cmd {"9\n\r"}
Ich weiß man kann es sicher schöner machen, aber ich wollte erst mal die Funktionen testen und dann schön machen ;)
Hallo,
schau dir mal den Thread an : http://forum.fhem.de/index.php/topic,29113.msg361352.html#msg361352 (http://forum.fhem.de/index.php/topic,29113.msg361352.html#msg361352)
Damit hat es bei mir wunderbar funktioniert. ohne jegliche Aussetzer. Allerdings habe ich es bisher nicht geschafft, Readings zu erzeugen oder auch eingelesene Eingänge vom Arduino an Fhem zu senden.
Wenn du das schaffen würdest, wär ich auch sehr happy.
Gruß
Frank
Hi,
danke für den Tip.
Zum Reading habe ich das hier gefunden:
http://forum.fhem.de/index.php/topic,30684.0.html (http://forum.fhem.de/index.php/topic,30684.0.html)