Swissphone > socat > bosMon /Übermittlungsprobleme

Hilfe & Support rund im BosMon. Posting ist ohne Anmeldung erlaubt
Antworten
Cr4Pi
Beiträge: 9
Registriert: 24. Mai 2017, 16:12

Swissphone > socat > bosMon /Übermittlungsprobleme

Beitrag von Cr4Pi »

Moin,

bei der übertmittlung von einem Boss 925 im Netzwerk von "socat Daten" zu bosMon werden unnötige Zeilenumbrüche hinzugefügt.

Ich lasse die Daten im Netzwerk an den bosMon Rechner senden dieser läuft in einer Virtuellen Maschine.

Der Befehl im Pi:

Code: Alles auswählen

socat -v /dev/ttyUSB0,raw,echo=0,b9600 tcp-l:6174,reuseaddr,fork &
ist in der rc.local als Autostart eingegeben, dies funktioniert super.
Nach einem Neustart funktioniert das auch wieder zuverlässig.
Nach arbeiten am System (ich weiß noch nicht was und wo... :roll: ) ändert sich die Übermittlung vom Melder an bosMon, siehe unten:

Code: Alles auswählen

03:03 13.03.21

24A

Testalarm zum besseren verständniss..

statt :

Code: Alles auswählen


10:17 13.03.21
28B
Testalarm zum besseren verständniss...

 
Ich sehe das Problem bei socat nicht bei bosMon...
hat jemand ähnliche probleme?
Zusätzlich läuft noch ein RTL-SDR Stick auf dem Pi

Es werde alle Meldungen fehlerfrei Übertragen, jedoch mit den Zeilenumbrüchen.

Beste Grüße und ein schönes Wochenende
Cr4Pi
Beiträge: 9
Registriert: 24. Mai 2017, 16:12

Re: Swissphone > socat > bosMon /Übermittlungsprobleme

Beitrag von Cr4Pi »

Nachtrag...

Wenn bosMon neu gestartet wird oder änderung in den Einstellungen vorgenommen werden passiert das.

Wenn ich den Pi danach manuell reboote läuft alles wieder...


Gruß
bosmon
Beiträge: 3963
Registriert: 28. Dez 2009, 18:16

Re: Swissphone > socat > bosMon /Übermittlungsprobleme

Beitrag von bosmon »

Hallo,

die socat-Zeile sieht eigentlich gut aus. Ein Unterschied zu meinen erfolgreichen Tests hier ist ",fork", das habe ich nicht genutzt. Probier doch mal ohne ",fork".

Grüße
Thimo Eichstädt
BosMon Dokumentation: https://www.bosmon.de/doc
BosMon Support: support@bosmon.de
MannyFred
Beiträge: 6
Registriert: 6. Mai 2012, 18:45

Re: Swissphone > socat > bosMon /Übermittlungsprobleme

Beitrag von MannyFred »

Hallo,

ich habe ein identisches verhalten.
Konnte das "Problem" nachgestellt werden?
Ist das "fork" tatsächlich zu viel?
Frage: wäre es möglich ein zusätzlichen Check einzubauen, welcher den via socat gesendeten String auf zusätzliche Zeilenumbrüche überprüft und ggf. entfernt:

Code: Alles auswählen

######################Mit socat##############################
<leer>
12:53 28.10.21
<leer>
02A
<leer>
Schleife A       Testruf mit 37 Zeichen, Ü, ü, Ö, ö, Ä, ä, ß
<leer>
######################Ohne socat, direkt am PC##############################
 <leer>
08:27 25.10.21
02A
Schleife A       Testruf mit 37 Zeichen, Ü, ü, Ö, ö, Ä, ä, ß
<leer>
EDIT: Wenn ich das "fork" weglasse, und BosMon neu starte (oder den Kanal stoppe und wieder starte), kann ich keine Verbindung aufbauen, bis ich socat neu starte. Ist das so korrekt?
EDIT2: ICh sehe grade in der Doku zu 1.5 steht "fork" dabei. Also sollte es korrekt sein und ich kann das Verhalten auch reproduzieren.

EDIT3 und damit hoffentlich das letzte mal:
Die Lösung müsste folgendes sein:

Code: Alles auswählen

I think you want to modify the socket stream to translate \n (line feed) to CRLF (Carriage return & line feed). Doing info socat produces detailed information which includes this modifier:

crnl   Converts the default line termination character NL ('\n',  0x0a)
       to/from CRNL ("\r\n", 0x0d0a) when writing/reading on this chan-
       nel (example).  Note: socat simply strips all CR characters.
Also mein Aufruf lautet nun:

Code: Alles auswählen

OPTIONS="/dev/ttyUSB0,raw,echo=0,b9600 tcp-l:6174,reuseaddr,fork,crnl"
Damit sehe ich im Logfile im Notepad++ mit "Alle Zeichen anzeigen"
<CR><LF> anstatt nur <LF>

Hoffe ich habe es verständlich erklärt.

@Thimo: Kannst du das bestätigen?

Viele Grüße
Fabian
Antworten