[vz-users] vzlogger mit support fuer s0 and raspberry pi GPIOs

Thorben Thuermer r00t at constancy.org
Thu Jan 22 10:28:53 CET 2015


Michael Baer mibaer at web.de, Wed Jan 21 18:48:51 CET 2015
> Am Mittwoch, 21. Januar 2015 schrieb Thorben Thuermer:
> > waehrend vzlogger laeuft?
> > eigentlich sollte vzlogger, oder zumindest das meter, garnicht
> > starten. wenn der gpio nicht konfiguriert und geoeffnet werden
> > konnte. das waehre noch ein dummer zu behebender bug.
> 
> Ausgangssituation: 
> Die vorhanden GPIOs sind in der rc.local exportiert und eine falsche 
> GPIO-Nummer steht in der vzlogger.config: 
> 
> Startet man vzlogger als "pi" bricht er mit folgender Fehlermeldung 
> ab:  Startup failed: open export failed
> 
> Beim Start als "root" eportiert vzlogger brav wie befohlen den neuen 
> (nicht vorhandenen) GPIO5  - die Rechte dazu hatte er jetzt ja - nur
> kommen an dem GPIO keine Daten an ( - der eine Impuls scheint vom 
> initialisieren zu stammen), woher auch! Und es gibt keine 
> Fehlermeldung wegen fehlendem GPIO, weil ja eben erst selbst angelegt 
> :-(

dir fehlt da wohl etwas hintergrundwissen.

der SoC (prozessor) auf dem raspberry pi hat (wie jeder andere)
_etliche_ frei verwendbare i/o leitungen (GPIOs).
davon sind sicher einige fuer interne zwecke des raspberry pi verwendet.
(zur anbindung von interner peripherie zB.)
_einige_ davon sind als "GPIO pins" auf einer stiftleiste herausgefuehrt.

es gibt dann einen treiber, der es erlaubt, die gpio-leitungen vom
userspace aus zu verwenden. (kernel-interne anwendungen brauchen das nicht!)

ueber diesen treiber muss man eben erst den zu verwendende gpio des SoCs
"exportieren", in den userspace, um sie von dort zu verwenden.

es gibt also auf dem prozessor also durchaus einen gpio 5,
den der treiber auch durchaus dem userspace zur verfuegung stellen kann,
nur ist dieser gpio halt nicht auf der stiftleiste herausgefuehrt.
(oder gar von udo's erweiterung fuer irgendwas verwendet.)

eigentlich sollte das meter wohl "gpios0" und nicht "raspis0" heissen.
fuer "raspis0" koennte man durchaus einfach nur die herausgefuehrten
gpios erlauben.
(bis sich dann ein nutzer eines banana- oder was auch immer pi
 meldet, der andere braucht.)

> Nach dem Ändern der Rechte der GPIOs startet vzlogger jetzt wieder
> als "pi" und bricht mit Fehlermedung ab:
> Startup failed: open direction failed

dann hat er offensichtlich noch nicht genug rechte.
du hast ihm vermutlich zugriff auf "export" gegeben,
aber auf die dateien eines neu exportierten GPIOs hat
er damit noch keinen zugriff.
man muss das dafuer ueber die udev-konfiguration regeln,
nicht manuell ueber chmod.

> Danach "existiert" der vorher nicht vorhandene gpio5 ;-)
> pi /sys/class/gpio $ for f in /sys/class/gpio/gpio5/* ;do echo $f ; 
> $(cat $f) ;done
> /sys/class/gpio/gpio5/active_low
> -bash: 0: Kommando nicht gefunden.
> /sys/class/gpio/gpio5/direction
> -bash: in: Kommando nicht gefunden.

du hast da ein ; zuviel, hinter $f, daher die "Kommando nicht gefunden."
meldungen.

> Ausgangssitutation:
> Nach Neustart existieren die in rc.local exportierten GPIOs, 
> vzlogger.conf ist richtig "nummeriert". Udev hat die Rechte an den 
> GPIOs geändert ("users" darf jetzt auch). Vzlogger startet als "pi"!
> 
> (Eigentlich koennte man die Rechte dann doch gleich in der rc.local 
> aendern... )

ich wuerde entweder
- die benoetigten gpios in rc.local exportieren und dem user rechte
  per chmod geben
  (konfigurieren kann vzlogger sie dann selber)
- per udev rechte sowohl auf export als auch auf die gpios geben
- vzlogger einfach als root starten

> Alles funktioniert wie es soll! 
> 2 Kanäle SML
> 1 Kanal S0 über USB ("aggtime": 60)
> 1 Kanal S0 über GPIO ("agg"time: 60; Udo-Erweiterung)

sehr schoen!

> > > Bei Gelegenheit werd ich dann noch Aggregation ausprobieren - und
> > > dann die anderen 3 Kanäle vom "s0vz" zum "vzlogger" schieben. :-)
> > 
> > das ganze wird dann hoffentlich in naher zukunft im
> > standard-vzlogger ankommen. ich kann aber nicht garantieren, dass
> > die konfiguration gleich bleibt, ggfs musst du dann nochmal
> > anpassen, wenn du jetzt diese version verwendest.
> 
> Mir gefällts auf jeden Fall :-)
> 
> Gruss,
> 	Michael

- Thorben


More information about the volkszaehler-users mailing list