Am 28.03.2012 08:40, schrieb Tom Weber:
Hallo Justin,doch, ich habe tatsächlich den Q3D Datenstrom mal direkt im AVR verarbeitet (und von dort aus in meinen Hausbus LCN gesendet) Allerdings ist das ein Heidenaufwand und wurde mir für jeden Meter zu viel Aufwand (zudem ich auch je ein Busmodul zum Einspeisen von 2 Werten benötigte) Jedoch ist das Programm in Bascom, das Einlesen über software-rs232 (mit Inverter). Auch dort hatte ich Fehldaten (die ich leicht filtern konnte, wenn die Länge nicht stimmt), habe es aber immer auf die software-rs232 geschoben - nun bin ich unsicher. Aber der nächste Versuch direkt am Easymeter kommt ja heute, also: Positiv denken. Zum Datenproblem: Das Problem ist wie du selber schreibst in meinen Augen die Menge. Der Q3D spuckt jede Sekunde einen Datensatz, so überm Daumen 150B/s da komme ich RAW auf ca. 4-5 GB/Jahr. Gespeichert werden allerdings nur 5 Floats, da kommt deine Rechnung mit 1GB/Jahr in MySQL wohl hin. Ob das der Sheeva / dem MySQL noch schmeckt? Ich bin in bin/sh Skripts nicht sonderlich fit - aber das Lesen Zwischen Start- und Stoppzeichen war in Bascom ziemlich einfach. Vielleicht kennt da jemand ein Tool mit dem man Satzweise auf einen TCP-Port zugreifen kann und alle Daten zwischen "/EASY" und "!" einem Skipt zukommen lässt?
So ein Problem würde ich mit einem (Perl-) Skript auf dem Unix-Host mit der VZ-Software lösen. Kurzes (noch nicht ausgeknautschtes) Konzept:
- Daemon lauscht auf einem dezidierten Port und wartet auf sekündliche Telegramme
- jedes 60. Telegramm wird ausgewertet und Stand an Middleware übergeben.ggf. kann man die ganze Behandlung des Zählers da gleich mitmachen und Ethersex reicht nur die ser. Schnittstelle per TCP weiter. Auf die Weise hat man doch etwas mehr Eingriffsmöglichkeiten bei der Verarbeitung als auf dem AVR, insbesondere kann man sowas natürlich gleich für N Zähler auslegen.
Martin
<<attachment: martin.vcf>>
