FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: lt1014 am 10 Februar 2018, 15:40:42

Titel: Auf RS232 reagieren
Beitrag von: lt1014 am 10 Februar 2018, 15:40:42
Hallo,
ich habe FHEM auf einem Raspberry laufen. Daran hängt über einen USB-RS232 Adapter ein AVR Mega8. Dieser dient als Steuerung, über einen 433MHz Sender, meiner Rohrmotor24 Rollläden.

In 99_myUtils.pm habe ich eine Funktion eingefügt:

sub rollo($)
{
  my ($cmd) = @_;
  serial_comm(4800,"/dev/ttyUSB0", $cmd);
}

und kann mit z.B.: {rollo("2A,3A\n")} meine Rollos aus FHEM heraus ansteuern. Das funktioniert alles wunderbar.

Jetzt zu meinem Problem:
Ich möchte das ganze erweitern, und auf Daten die von der RS232 kommen reagieren.
Dafür müsste ein beliebiger (z.B.) mit \n abgeschlossener String den der AVR an den Raspberry schickt in eine dummy Variable übertragen werden.
Leider habe ich auch nach langem Suchen, für diese eigentlich banale Aufgabe, keine Lösung gefunden.

Für eine Hilfe wäre ich sehr dankbar.
Willi

Titel: Antw:Auf RS232 reagieren
Beitrag von: Otto123 am 10 Februar 2018, 15:53:26
Hallo Willi,

also der Teil
Zitatin eine dummy Variable übertragen werden
geht einfach mit fhem("set dummy $PerlVariable") -> https://fhem.de/commandref_DE.html#command
Innerhalb Deiner Perl Routine.
Falls Deine Frage auf den Empfang des Strings gemünzt war kann ich leider nicht helfen.


Gruß Otto
Titel: Antw:Auf RS232 reagieren
Beitrag von: lt1014 am 10 Februar 2018, 16:04:24
Zitat von: Otto123 am 10 Februar 2018, 15:53:26

Falls Deine Frage auf den Empfang des Strings gemünzt war kann ich leider nicht helfen.


Gruß Otto

Hallo Otto,
doch das war sie. So quasi ein RS232 Interrupt der beim Empfang von '\n' den string in die Variable schreibt. Ohne Polling.

Danke
Willi
Titel: Antw:Auf RS232 reagieren
Beitrag von: herrmannj am 10 Februar 2018, 16:09:57
dazu musst Du ein modul schreiben. Schau Dir die vorhandenen an um zu lernen wie. RFXTRX/CUL etc. Die verwenden zwar USB device - die verhalten sich wie serielle device.
Titel: Antw:Auf RS232 reagieren
Beitrag von: lt1014 am 10 Februar 2018, 16:20:46
Zitat von: herrmannj am 10 Februar 2018, 16:09:57
dazu musst Du ein modul schreiben. Schau Dir die vorhandenen an um zu lernen wie. RFXTRX/CUL etc. Die verwenden zwar USB device - die verhalten sich wie serielle device.

Hallo Herrmann,
echt? Bin ich der Erste der so was braucht? Ich hätte vermutet, dass solche grundsätzlichen Dinge schon implementiert wären und ich das nur nicht gefunden habe.

Danke
Willi
Titel: Antw:Auf RS232 reagieren
Beitrag von: fiedel am 11 Februar 2018, 09:43:05
Sieh dir mal das ECMD- Modul an. Das ist dafür gedacht. RS232 hat jedoch die Eigenschaft, dass nur eine Verbindung gleichzeitig möglich ist. Eine Option wäre dann, auch die Befehlsausgabe über ECMD zu steuern.
Titel: Antw:Auf RS232 reagieren
Beitrag von: lt1014 am 11 Februar 2018, 20:31:48
Zitat von: fiedel am 11 Februar 2018, 09:43:05
Sieh dir mal das ECMD- Modul an. Das ist dafür gedacht. RS232 hat jedoch die Eigenschaft, dass nur eine Verbindung gleichzeitig möglich ist. Eine Option wäre dann, auch die Befehlsausgabe über ECMD zu steuern.

Danke für den Hinweis, auf das Modul bin ich auch schon gestoßen. Leider blicke ich da überhaupt nicht durch. Das erscheint mir doch ziemlich kompliziert. Ich hatte gehofft, dass es auch auf einfachem Wege geht. Ich werde das jetzt wohl mit einem ESP8266 per WLAN machen.

Willi