Hi,
bei mir läuft Fhem auf einem Raspberry. Auf einem Arduino läuft ein Sketch, welcher auf der seriellen Schnittstelle auf Befehle wartet. Wie kann ich Text an den Arduino schicken? Per EMCD? Oder geht es einfacher?
Gruß Christoph
Zum ausprobieren wollte ich es so machen:
Zitatsub Arduinotest
{
my $port = Device::SerialPort->new("/dev/ttyUSB0");
$port->databits(8);
$port->baudrate(9600);
$port->parity("none");
$port->stopbits(1);
$port->handshake("on");
$port->write_settings;
my $zeichen = chr(50);
$port->write($zeichen);
}
In der Fhem.conf folgenden Taster:
Zitatdefine taster dummy
attr taster room Heizung
attr taster setList state:something
attr taster webCmd something
define mynot1 notify taster.* {Arduinotest}
Der Arduino Sketch sollte bei einer gesendeten "2" etwas machen. Doch es passiert nichts. Wo ist der Fehler?
Gruß Grave
Es funktioniert. Anstatt ttyUSB0 musste ttyACM0 hin.
Hab´s mit EMCD geschafft. Je mehr man sich einliest, desto mehr versteht man die Zusammenhänge.
darf ich fragen, wie Du es mit ECMD geschafft hast? Stehe grade vor dem Problem, die serielle Schnittstelle zu initialisieren, die dann über ECMD Daten empfangen soll.
Auf der Kommandozeile würde die Sequenz so aussehen (Initialisierungüber stty, dann werden die Daten gesendet, die mit cat gelistet werden):
pi@raspberrypi ~ $ stty -F /dev/ttyUSB2 1:0:9ad:0:3:1c:7f:15:4:5:1:0:11:13:1a:0:12:f:17:16:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0
pi@raspberrypi ~ $ cat /dev/ttyUSB2
/EMH5----eHZ-E0028E
1-0:0.0.0*255(20836181)
1-0:1.8.1*255(009260.0705)
1-0:2.8.1*255(027030.6495)
1-0:96.5.5*255(82)
0-0:96.1.255*255(0002477555)
!