Hallo, ich möchte gerne einen MBus Energiezähler über Ethernet auslesen. Aktuell ist über die OpenSource Software libmbus (https://github.com/rscada/libmbus) ein Auslesen über die Serielle Schnittstelle möglich. Das libmbus Projekt hat sowohl die Möglichkeit auf den MBus via Serialport (mit Wandler) oder per Ethernet zuzugreifen. Mit MBus über TCP kenne ich mich nicht aus, habe aber auch keine Lust einen sehr teuren Mbus Ethernet Master zu kaufen. Da kam mir der Gedanke, aus dem Computer, wo der MBus per Serialport angeschlossen ist einen MBus Ethernet Server/Master, wie auch immer man das nennt, zu machen und suche evtl. schon vorhandene OpenSource Projekte oder libmbus Erweiterungen, die dies unterstützen. Idealerweise könnte ich dann von dem anderen Computer mit dem Programm "mbus-tcp-request-data" aus dem libmbus Projekt auf die Energiezählerdaten zugreifen. Da ich im libmbus Projekt keinerlei TCP-Server Funktionalität gefunden habe, ist meine Hoffnung hier kann mir einer bei dem Vorhaben helfen. Bin für jede Anregung dankbar!
habe mit ser2net versucht, den Serialport weiterzuleiten, doch das funktioniert nicht. Der Energiezähler wird nicht erkannt mit "mbus-tcp-scan -d localhost 3001 "
1 | ser2net.conf |
2 | 3001:raw:1500:/dev/ttyAMA0:2400 8DATABITS NONE 1STOPBIT |
hat hier wirklich keiner einen Plan, ist die Frage zu einfach oder bin ich im falschen Forum?
Klaus C. schrieb: > 2400 8DATABITS NONE 1STOPBIT M-Bus verwendet Even Parity (8E1). Siehe auch mbus-serial.c:
1 | term->c_cflag |= (CS8|CREAD|CLOCAL); |
2 | term->c_cflag |= PARENB; |
Klaus C. schrieb: > hat hier wirklich keiner einen Plan, ist die Frage zu einfach oder bin > ich im falschen Forum? Du hast nicht genug Geduld.
Hmmm schrieb: > M-Bus verwendet Even Parity (8E1). Siehe auch mbus-serial.c: > term->c_cflag |= (CS8|CREAD|CLOCAL); > term->c_cflag |= PARENB; > > Klaus C. schrieb: >> hat hier wirklich keiner einen Plan, ist die Frage zu einfach oder bin >> ich im falschen Forum? > > Du hast nicht genug Geduld. Ja, sieht leider so aus :( Ich war fest der Meinung es wird 8N1 verwendet. Vielen Dank, so klappt es
1 | $ sudo nano /etc/ser2net.conf |
2 | 3009:raw:0:/dev/ttyAMA0:2400 8DATABITS EVEN 1STOPBIT |
3 | $ sudo systemctl restart ser2net.service |
4 | $ mbus-tcp-request-data -d localhost 3009 0 |
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.