FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: Grave am 18 Juli 2015, 00:27:13

Titel: [gelöst] Text an serielle Schnittstelle senden
Beitrag von: Grave am 18 Juli 2015, 00:27:13
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
Titel: Antw:Text an serielle Schnittstelle senden
Beitrag von: Grave am 19 Juli 2015, 12:53:37
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
Titel: Antw:Text an serielle Schnittstelle senden
Beitrag von: Grave am 19 Juli 2015, 17:21:06
Es funktioniert. Anstatt ttyUSB0 musste ttyACM0 hin.
Titel: Antw:Text an serielle Schnittstelle senden
Beitrag von: Grave am 19 Juli 2015, 20:08:30
Hab´s mit EMCD geschafft. Je mehr man sich einliest, desto mehr versteht man die Zusammenhänge.
Titel: Antw:[gelöst] Text an serielle Schnittstelle senden
Beitrag von: willybauss am 05 Februar 2016, 23:49:31
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)
!