[vz-dev] vzlogger json seriell
post at seegel-systeme.de
post at seegel-systeme.de
Sun Mar 11 23:46:30 CET 2012
Hallo,
ich bin gerade dabei den vzlogger für mein RF Soap Modul um einen
Interpreter zu erweitern: "jsonser".
Mein Modul sendet über ttyUSB0 z.B.
[{"id":"1wt::abc1423","value":12.8}, //1wire Temperatursensor mit
Adresse abc1423: 12,8 °C
{"id":"ppm::5402b71744","value":155}, //Pollin Power Meter ID
5402b71744: 155 W
{"id":"tx29::48", "value":13.8}] //TX29IT Außentemperatursensor: 13.8 °C
Ich bin gerade dabei die read Funktion (meter_read_jsonser) zu
implementieren, habe aber noch nicht ganz hinter die Struktur
geblickt; mein Interpreter kann mehrere Kanäle haben, z.B. könnte die
config so aussehen:
"meters" : [{
"protocol" : "jsonser",
"device" : "/dev/ttyUSB0",
"baudrate" : 19200,
"channels": [{
"uuid" : "fde8f1d0-c5d0-11e0-856e-f9e4360ced10",
"middleware" : "http://localhost/volkszaehler/middleware.php",
"identifier" : "1wt::abc1423"
}, {
"uuid" : "a8da012a-9eb4-49ed-b7f3-38c95142a90c",
"middleware" : "http://localhost/volkszaehler/middleware.php",
"identifier" : "ppm::5402b71744",
}, {
"uuid" : "d5c6db0f-533e-498d-a85a-be972c104b48",
"middleware" : "http://localhost/volkszaehler/middleware.php",
"identifier" : "tx29::48"
}]
}
]}
Mein Modul liefert nicht unbedingt immer alle Messwerte auf einmal,
kann ich in der read Funktion nur bestimmte Kanäle zurückgeben? Und
wie/wo/ob erkennt das Framework den Zusammenhang zwischen identifier
und uuid? Vermutlich muss ich den rds[] Vektor entsprechend füllen.
Noch eine Frage zur Portierung nach c++, ich habe nur mal flüchtig den
Branch angesehen.
Vielleicht wäre es sinnvoll eine funktional angemessende Hierarchie zu
bauen, z.B. das ganz oben in der Klasse "Meter" bereits die
Threadfunktionalität bereits gekapselt wird, und davon leitet man eine
Klasse "SerialMeter" ab, in der die seriellen Meters gekapselt sind,
usw...
Gruß
Stefan
More information about the volkszaehler-dev
mailing list