Benutzer-Werkzeuge

Webseiten-Werkzeuge


hardware:channels:meters:power:edl-ehz:easymeter_q3d

Dies ist eine alte Version des Dokuments!


Easymeter Q3D

Hardware

Der Q3D hat die IR-Schnittstelle oben drauf. Man benötigt eine Adapterplatte um den IR-Schreib-Lesekopf zu befestigen.
Der IR-Kopf wird mit der Zuleitung nach vorne montiert.

Der Q3D benötigt nur teilweise eine Aufforderung um seine Daten zu senden. Die Kommunikation erfolgt mit 9600bd, 7E1.
Eine vzlogger.conf zur Ermittlung der Daten, die der Zähler sendet:

Beispielkonfiguration

Eine exemplarische vzlogger.conf:

vzlogger.json
{
"retry" : 0,			 /* how long to sleep between failed requests, in seconds */
"daemon": true,		         /* run periodically */
"verbosity" : 15,		         /* between 0 and 15 */
"log" : "/var/log/vzlogger.log",/* path to logfile, optional */
 
"local" : {
//	"enabled" : false,	/* should we start the local HTTPd for serving live readings? */
	"port" : 8080,		/* the TCP port for the local HTTPd */
	"index" : true,		/* should we provide a index listing of available channels if no UUID was requested? */
	"timeout" : 30,		/* timeout for long polling comet requests, 0 disables comet, in seconds */
	"buffer" : 600		/* how long to buffer readings for the local interface, in seconds */
},
 
"meters" : [
	{
	"enabled" : true ,
	"protocol" : "d0", 
	"baudrate" : 9600,
	"device" : "/dev/ttyUSB0",
	"parity" : "7E1",
	"pullseq" : "2f3f210d0a", // nur wenn Aufforderung notwendig, sonst auskommentieren.
	"interval" : 30, // Wartezeit bis zum nächsten Pull, NUR wenn Aufforderung notwendig. Sonst auskommentieren.
	}
        ]
}

Auslesen per NetIO

Wie man den Easymeter am NetIO von Pollin in den Volkszähler bekommen hat:

  1. Anschluss an die DSUB9 Buchse Pin 3 (Daten) und Pin 5 (GND) - Je nach Lesekopf ggf. noch eine 5V Speisung entnehmen
  2. Im Ethersex YPORT Node aktivieren, den Buffer unbedingt vergrößern. Bei mir ging ein Wert von 200 - zu große und zu kleine Werte führen zu Verschluckern, da der Buffer nicht richtig ausgelesen wird.
  3. Es ist eine Anpassung der usart.h im core Verzeichnis des Ethersex auf 7E1 erforderlich (s.u.)
  4. anschließend sollte man überprüfen, ob nc <ip> 7970 die Werte brav im Sekundentakt ausgibt.
  5. Nun gehts an vzlogger…. Besorge dir mind. vzlogger 0.3.3, erst dort ist das D0 Protokoll vorhanden, das für die Q3D Auswertung benötigt wird.
  6. In der /etc/vzlogger.conf stellt man nun nur noch die IP des Ethersex Moduls ein sowie seine uuid-Kanäle, dann sollte es klappen….

Auszug aus der usart.h

/* init the usart module */
#define generate_usart_init() \
static void \
usart_init(void) \
{\
    /* The ATmega644 datasheet suggests to clear the global\
       interrupt flags on initialization ... */\
    uint8_t sreg = SREG; cli(); \
    usart(UBRR,H) = UBRRH_VALUE; \
    usart(UBRR,L) = UBRRL_VALUE; \
    /* set mode: 7 bits, 1 stop, even parity, asynchronous usart 7e1 Q3D*/ \
    /*   and set URSEL, if present, */ \
    usart(UCSR,C) = _BV(usart(UCSZ,1)) | _BV(usart(UPM,1)) | _BV_URSEL; \
    /* Enable the RX interrupt and receiver and transmitter */ \
    usart(UCSR,B) |= _BV(usart(TXEN)) | _BV(usart(RXEN)) | _BV(usart(RXCIE));\
    /* Set or not set the 2x mode */ \
    USART_2X(); \
    /* Go! */ \
    SREG = sreg;\
}
hardware/channels/meters/power/edl-ehz/easymeter_q3d.1516889057.txt.gz · Zuletzt geändert: 2018/01/25 15:04 von jau