Benutzer:Heimbastler

Aus FHEMWiki

!! Diese Seite befindet sich noch im Aufbau  !!

Arduino am Raspberry Pi als ECMD Device

Auf dem Arduino läuft ein beliebiges Programm um z.Bsp. Relais in einem Schaltschrank zu steuern. Aus verschiedenen Gründen kann hier eine eigene Mikrokontroller-Steuerung Vorteile bieten. Im folgenden Beispiel sendet / empfängt der Arduino einfache Stati nach folgendem Schema:


Arduino in FHEM einbinden

Hierzu muss zuerst bekannt sein wie der Arduino als USB device am Raspberry Pi angelegt wurde:

cd /dev
ls -l /dev/serial/by-id

Ausgabe

insgesamt 0
lrwxrwxrwx 1 root root 13 Mär 23 20:37 usb-Arduino__www.arduino.cc__0042_7533432393535141C1C2-if00 -> ../../ttyACM2
lrwxrwxrwx 1 root root 13 Feb 16 22:37 usb-busware.de_CUL868-if00 -> ../../ttyACM1

Wenn diese Info klar ist kann der Arduino in fhem als ECMD mit Angabe der Baudrate angelegt werden:

define Arduino ECMD serial /dev/ttyACM2@9600

Beispiel.jpg

telnet per LAN/WLAN Beschreibung erwünscht

classdef Über eine textdatei auf dem Raspberry Pi werden die Übergabeparameter definiert: cd /opt/fhem sudo nano Arduino.classdef

  1. Uebergabeparameter

params pin

  1. Umsetzung in ECMD Befehle

set on cmd {"1R%pin\r\n"} set on expect "1R%pin\r\n" set off cmd {"0R%pin\r\n"} set off expect "0R%pin\r\n" reading state match "[01]R%pin\r\n" reading state postproc { /([01])R%pin\r\n/; $1 ? "on" : "off" }

Wichtig ist dann noch das man anschliessend die classdef neu einlist mit: set Arduino reopen R00 Fenster hoch R01 Fenster runter R02 Tür hoch R03 Tür runter R04 Aussenlampe Garten R05 Steinlampe R06 Dummy R07 KGFlurlampe ok R08 Küchenarbeitslampen ok R09 Küche ok R10 EGFlurlampe ok R11 Trägerleuchten ok R12 Wohnzimmerlampe1 (nicht an der Lampe belegt) ? R13 Wohnzimmerlampe2 ok R14 Aussenlampe Strasse ok R15 Klingel ok