einfachen seriellen Befehl an Arduino - ohne Firmata

Begonnen von JLo, 17 Januar 2016, 20:04:08

Vorheriges Thema - Nächstes Thema

JLo

Hallo liebes FHEM-Forum,

ich nutze FHEM nun schon seit einem halben Jahr auf meinem Raspberry bei mit MAX!-Thermostaten, zwei WLAN-RGB-Controllern, einem ESA2000WZ-Stromsensor, einigen Intertechno-Steckdosen und probiere mich viel am TabletUI. Ein echt super System. Vielen Dank für Eure Arbeit.

Nun zu meinem Anliegen. Ich habe schon Erfahrung mit Arduino und habe damit schon sämtliche IR-Codes vieler Geräte im Wohnzimmer eingelesen und kann diese auch senden.

Hierzu hätte ich gern die einfache Möglichkeit aus FHEM heraus, serielle Befehle via USB ans direkt angeschlossene Arduino-Board zu senden. Zum Beispiel "IR1,a". Damit wüsste das Board dann etwas anzufangen (sende an IR-Diode 1 den Befehl "a".

Mir ist bewusst, dass es Firmata gibt. Dies empfinde ich aber als viel zu groß. Außerdem beeinflusst es ja direkt die Ein-/Ausgänge ohne dass ich im Arduino-Programmcode noch darauf eingehen kann.

Als i-Tüpfelchen würde das Board auf so einen Befehl auch noch kurz mit einem "ok" antworten, um eine Rückmeldung zu geben.

Gibt es hierfür eine einfache Möglichkeit? Dann könnte ich mir sämtliche Fernbedienungen universell in FHEM programmieren, sie im TabetUI visualisieren und dann auch noch Multifunktionsknöpfe alla "Ich will TV gucken" programmieren, bei denen dann der LED-Strip (IR) dimmt, die Stehlampe ausgeht, der TV und Sat-Receiver angeht... ich denke ihr wisst was ich meine.

Ich würde mich sehr über eine Antwort freuen. Gern auch nur Stichwörter zu existierenden Modulen, wenn ich bei meiner Suche an drei langen Abenden DIE "fertige" Lösung übersehen haben sollte (DevIO, ECMD).

JLo

drhirn

Hi,

mal ein Schuss ins Blaue: Du kannst ja Systembefehle aus FHEM heraus ausführen: {system('ls -l /opt/fhem/')}
Wäre das eine Möglichkeit?
Wenn ja, einfach eine Perl-Funktion schreiben, die den jeweiligen IR-Befehl entgegen nimmt und an das System weiterleitet.

Ob's eine fertige Lösung gibt, weiß ich aber leider auch nicht.

Gruß
Stefan