Ich habe mitterweile einiges an Zeit gebraucht, um die Schnittstelle eines ISKRA MT174 auszulesen. Dabei bin ich über einige Dinge gestolpert und immer noch nicht am Ziel. Erstmal eine kurze Bestandsaufnahme:
Genutzt wird ein Raspi 3B+, dort sollen die GPIO-Pins genutzt werden.
Ich hatte erst nach der Beschreibung im Volkszähler den IR-Schreib-Lesekopfes für Raspberry Pi (low cost) nachgebaut. Da erstmal gar nix funktionierte, bin ich mit dem Oszi zu folgendem Ergebnis gekommen
1. Nach der dargestellten Verdrahtung ist ein Widerstand von 50kOhm (in meinem Fall mit Raspi 3B+ und Osram SFH 309 FA) besser geeignet, damit überhaupt Pegel erkannt werden. Mit 1kOhm liefert die Photodiode Spannungen von 2,7V bis 3,1V und damit immer "HIGH". Mit 50kOhm sind Werte von 0,3V-3,1V drin, somit funktioniert HIGH und LOW.
2. Wenn man eine Sendediode auf die Empfangsdiode hält, müsste man ja ein Zeichen senden können und das Gleiche zurück erhalten. Ist NICHT so
Die Schaltung sorgt dafür, dass gesendete Bits invertiert wieder eingelesen werden. Wenn also ein LOW gesendet wird, empfängt der Raspi ein HIGH. Man sendet also z.B. über minicom einen Buchstaben und erhält nur Müll zurück. Im Anhang kann man dank Echo nach der "9" jeweils den Buchstaben sehen, welcher gesendet wurde. Der Quatsch danach war die Interpretation der Photodiode.
3. Die Schaltung müsste aussehen wie im Anhang, dann kommt auf dem Empfängerpin auch tatsächlich das an, was gesendet wurde. An der Position scheint ein Widerstand mit 10kOhm besser zu sein (Pegel 0,5V-2,0V low-high).
Mein aktuelles Problem ist nun, dass vzlogger "0 new readings" bekommt, wenn die Initialisierung gesendet wird. Meine etc/vzlogger.conf beinhaltet das hier:
{
"retry": 0,
"daemon": false,
"verbosity": 15,
"log": "/var/log/vzlogger.log",
"local": {
"enabled": false,
"port": 8080,
"index": false,
"timeout": 0,
"buffer": 0
},
"meters": [
{
"enabled": true,
"allowskip": false,
"protocol": "d0",
"device": "/dev/ttyAMA0",
"dump_file": "/var/log/d0dump.txt",
"pullseq": "2F3F210D0A",
"ackseq": "auto",
"baudrate": 300,
"parity": "7e1"
}
]
}
Kann mir jemand einen Hinweis geben, was das Problem sein könnte? Die Sende-und Empfangsdioden habe ich mittels 3D-Druck befestigt, Sendediode links und Empfangsdiode rechts (beim MT171 gibt es dazu eine Info im volkszaehler-wiki und ich hoffe, die gilt auch für MT174).