[vz-dev] neue fontend hardware plattform ?!

Roland Kletzing devzero at web.de
Thu Sep 9 09:11:29 CEST 2010


Hallo Harald,

>was haltet ihr denn von einer solchen hw-loesung als fontend ?
Super!

Insbesondere nach sowas wie dem USBFOO suche ich jetzt schon länger. Das 
werd ich mir mal näher ansehen. Preis ist ja auch schwer ok.

Und was LUA betrifft - schau Dir mal nen Flukso näher an ;)
(insofern: ja , lua taugt was)

Grüsse
Roland


--------------------------------------------------
From: "Harald Koenig" <koenig at tat.physik.uni-tuebingen.de>
Sent: Thursday, September 09, 2010 12:41 AM
To: "volkszaehler-dev" <volkszaehler-dev at lists.volkszaehler.org>
Subject: [vz-dev] neue fontend hardware plattform ?!

> Hallo mal wieder,
>
> erstmal danke fuer den tipp zum dockstar -- wirklich ein schnaeppchen!!!
>
>
> nun zum subject: als fontend linksys wrt54gl oder nun dockstar oder oae. 
> verwenden...
>
> dockstar o.ae. plus "usbfoo" (url s.u.) scheinen mir eine super 
> kombination zu sein um ein frontend
> nach meinem geschmack zu bekommen.  long story:
>
> mit dem AVR NET IO als fontend werde ich einfach nicht warm, was so einige 
> gruende hat:
> - kein wlan, da ich sowohl hauptzaehler als auch sicherungskasten weit weg 
> vom ethernet bin
> - kein linux -- spezielle firmware
> - bastelei (spannungsregler und/oder bausatz), ... -- nicht dass ich 
> generell was gegen basteln haette, s.u.;)
> - erstmal kein gehaeuse/netzteil/....
> - muss man extra bestellen -- liegt nicht einfach in der bastelkiste (und 
> wie es der zufall so will:
>  dort liegt schon ein wrt54gl, der auch wlan hat und linux kann... ;-)
>
> vor allem das "kein linux" ist fuer mich einfach unbequem, fuer eigene 
> ideen/tests/aenderungen waere mir das einfach naeher...
>
>
> 1. akt:
>
> daher hab ich mal angefangen mit einem noch herumliegenden linksys wrt54gl 
> zu spielen:
> man kann dort einfach z.b. die linux-distro "openwrt" installieren.
> der wrt54gl hat 2 serielle schnittstellen, eine ist erstmal als serielle 
> konsole belegt,
> die zweite noch frei -- man muss jedoch erstmal nen pfostenstecker loeten 
> (== basteln;),
> der rest geht dann wieder bequem mit stecken -- das kabel "cd/dvd-laufwerk 
> nach pc-mainboad
> aus der bastelkiste hat schon die richtigen 3 pins fuer die serielle 
> schnittstelle belegt!;).
>
> und siehe da, meine "McGyver" loesung, den zaehlerpuls direkt auf die 
> serielle schnittstelle
> zu legen klappt auch hier!  kaum ist strace/wget/awk installiert (nur 
> strace und sty fehlen
> beim default image) klappt mein mini-skript und man kann die pulse zaehlen 
> und uebers netz jagen,
> alles nur mit ssh-login ins linux und ein bissl scripting.
>
> mit der shell/strace/awk/wget loesung ist das aber auch nicht wirklich 
> schoen, eher ein erster proof of concept.
> aber beim openwrt gibts ein web-interface "luci" fuers setup, welches auf 
> lua basiert.
>
> lua? eine nette kleine skriptsprache von der ich schon viel gehoert habe: 
> klein/schlank/schnell,
> auch gut objektorienttiert (wenn man das will), systemnah, ...
> und siehe da: in lua brauchts nur ganz wenige zeilen, alles ist viel 
> lesbarer, keine
> haesslichen tricks mit strace fuer die timestamps etc. -- und wieder ein 
> bequemes skript
> zum testen/aendern/erweitern -- hier mal kurz das skript:
>
> --- 8< ------ 8< ------ 8< ------ 8< ------ 8< ------ 8< ------ 8< ------  
> 8< ---
> #!/usr/bin/lua
>
> require "socket"
> http = require("socket.http")
>
> tty="/dev/cua/1"
>
> os.execute("rdate harald")
> os.execute("stty 50 time 1 min 1 -icanon < " .. tty)
>
> rserial=io.open(tty,"r")
>
> t1=0
> while true do
>        chaine=rserial:read(1)
>        t=socket.gettime()
> 
> url="http://harald/volkszaehler.org/httplog.php?uuid=00000000-0000-0000-0000-000000000001&port=0000000&time=" 
> .. math.floor(t + 0.5)
>        -- print (t,url,t-t1)
>        http.request(url)
>        t1=t
> end
> --- 8< ------ 8< ------ 8< ------ 8< ------ 8< ------ 8< ------ 8< ------  
> 8< ---
>
>
> dann kam euer tipp mit dem dockstar -- 2. akt:
>
> auch fuer den dockstar gibts openwrt, es hat eine serielle schnittstelle, 
> wenn auch nur eine.
> aber wenns mal laeuft braucht man ja keine serielle konsole mehr, als im 
> init login-shell
> abklemmem und schon greift die selbe loesung -- im dockstar ist sogar die 
> steckerleiste
> schon geloetet, und der "rest" meines cdrom-kabels vom wrt54gl hat noch 
> einen bislang
> nicht gebrauchten stecker mit 2mm rastermass -- der passt perfekt auf die 
> 3 pins fuer die
> serielle schnittstelle, als gar kein loeten;)
>
> sowohl mein wrt54gl als auch beim dockstar kann ich den S0-ausgang eines 
> SWISSNOX zaehler
> direkt anschliessen, jeweils als pulldown gegen masse und die pulse kommen 
> prima als
> zeichen auf der seriellen schnittstelle rein.
>
> lua macht auf dem dockstar allerdings erstmal noch ein problem, hier muss 
> man im lua socket bzw. posix modul
> noch ein bissl was fixen (ist eingetuetet) damit die timestamps klappen, 
> aber dann klappts damit auch wieder recht huebsch.
>
>
> ABER beide loesungen kranken erstmal daran, dass ich nur einen eingang 
> habe (beim wrt54gl koennte ich
> noch nen zaehler auf die zweite serielle schnittstelle legen -- 3 zaehler 
> fuer alle 3 phasen gehen
> aber auch hier nicht, geschweige denn noch mehr eingaenge).
>
> es braucht also ein ein bissl hardware mit mehr puls-eingaengen, welches 
> dann fuer jeden puls
> ein zeichen ueber die serielle schnittstelle oder usb fue den dockstar 
> ausgibt,
> z.b. '0' fuer puls an pin 0, '1' fuer puls an pin 1 usw. (bzw. buchstaben 
> o.ae. fuer mehr als 10 ports, s.u.;).
> das klingt nun nach einer aufgabe, die wirklich sehr abegrenzt ist was so 
> ein kleiner atmel machen koennte.
>
> und eher zufaellig habe ich so ein schnuckelchen auf dem linux-tag in 
> berlin beim merchendising-stand am eingang
> von Petra und Nils von "kernel concepts" entdeckt -- damals noch ohne ganz 
> konkrete idee und aufgabe (aber mit so einer vorahnung;)
>
>
>
> 3. akt: auftritt "USBFOO" (links unten...)
>
> mit dem "usbfoo" (at90usb162) in kombination mit der "lufa" library und 
> dem demo-beispiel von "kernel concepts"
> braucht es nur noch ein paar mehr zeilen C-code (und den gcc-avr) und der 
> usbfoo  gibt fuer jeden puls ein zeichen
> ueber usb aus. mit dem CDC class usb treiber meldet sich das teil dann 
> unter linux (z.b. auch im dockstar)
> als /dev/ttyACM0 als serielle schnittstelle - und schon kann man das 
> strace- oder lua-skript wieder anwerfen,
> diesmal aber eben mit mehr eingaengen -- der usbfoo hat 16+ I/O pins 
> rausgefuhert -- das reicht erstmal!
>
> mein demo-code fuer usbfoo liefert derzeit noch je ein zeichen fuer jeden 
> *flankenwechsel*,
> uppercase fuer startflanke und lowercase fuer rueckflanke.  bislang noch 
> nicht mit
> echter serieller schnittstelle fuer meinen wrt54gl (kann sein dass ich das 
> gar nicht mehr brauche,
> ein usb-wlan-stick fuer den dockstar koennte der bessere 
> wlan-router/zaehler werden;)
> und auch noch nicht im interruptbetrieb sondern plumpenn polling (soll 
> aber gehen mit der hardware),
> scheint aber erstmal zu klappen:
>
> http://www.tat.physik.uni-tuebingen.de/~koenig/vz/usbfoo-vz1.tar.gz
>
> usbfoo flashen mit
>
>        dfu-rpgrammer at90usb162 erase
>        dfu-rpgrammer at90usb162 flash usbfoo-vz1.hex
>
> und fertig...
>
>
> was haltet ihr denn von einer solchen hw-loesung als fontend ?
>
> wer hat AVR erfahrung und kann mal einem blutigen laien kommentieren, ob
> - LUFA was taugt
> - polling schon reicht
> - wie man die input ports auf interrupts (data change) bekommt....
> - das alles so keinen sinn hat
>
>
> wenns den dockstar nicht mehr gaebe waere meine naechste hw-plattform zum 
> testen der "Fonera+",
> ein recht winziger wlan-router fuer 30 EUR den ich derletzt mal gesehen 
> habe (hab noch keinen),
> auch da soll inzwischen freewrt u.ae. laufen (hat auch 16 MB ram wie der 
> linksys, also
> kein vergleich zum dockstar -- aber regulaer lieferbar und schon mit wlan, 
> einer internen
> seriellen konsole und angeblich bei neueren hw-versionen auch mit usb):
>
> 
> https://shop.fon.com/FonShop/shop/DE/ShopController?view=product&product=PRD-018
>
>
> und hier mal noch einige links
>
> usbfoo: (auf dieser seite gibts dann auc links zur sw-library "lufa" sowie 
> zum demo-source)
> 
> http://shop.kernelconcepts.de/product_info.php?cPath=1_27&products_id=102
>
> bastel-anleitung zum WRT54GL:
>
> http://www.jbprojects.net/articles/wrt54gl_mods/
> http://oldwiki.openwrt.org/OpenWrtDocs%282f%29Hardware%282f%29Linksys%282f%29WRT54GL.html#head-dd43b50d854c2f0348686e6d7d165cdfd83a7e59
>
> openwrt auf WRT54GL installieren:
>
> http://www.myslug.de/index.php?title=Openwrt_auf_wrt54GL
>
>
> openwrt auf dockstar installieren:
>
> http://ahsoftware.de/dockstar/#ubootpatches
> http://www.cs.cmu.edu/~ecc/dockstar-howto.html
>
>
> ein paar bilder der kompletten hw gibs hoffentlich morgen...
>
>
> ueber kommentare/ideen/anregungen freut sich wie immer:
>
> Harald
> -- 
> "I hope to die                                      ___       _____
> before I *have* to use Microsoft Word.",           0--,|    /OOOOOOO\
> Donald E. Knuth, 02-Oct-2001 in Tuebingen.        <_/  /  /OOOOOOOOOOO\
>                                                    \  \/OOOOOOOOOOOOOOO\
>                                                      \ 
> OOOOOOOOOOOOOOOOO|//
>                                                       \/\/\/\/\/\/\/\/\/
> Harald Koenig                                           //  /     \\  \
> koenig at tat.physik.uni-tuebingen.de                     ^^^^^       ^^^^^
> _______________________________________________
> volkszaehler-dev mailing list
> volkszaehler-dev at lists.volkszaehler.org
> https://volkszaehler.org/mailman/listinfo/volkszaehler-dev 



More information about the volkszaehler-dev mailing list