[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