Originariamente Scritto da
Folly
Colgo l'occasione per rispondere a te anche per chiedervi una mano a pianificare gli step successivi.
Innanzitutto cosa ho fatto:
un semplice programmino che sfrutta le librerie libusb e libhid (ma forse questa non è così necessaria anche se semplifica molto il lavoro), studiando il log dei pacchetti usb ho rilevato che il prg deve inviare 3 comandi fondamentali
1) richiesta del contenuto datalogger
2) richiesta dei dati realtime
3) richiesta di "silenziare" la trasmissione usb
Sto trascurando il primo perchè, oltre alla mole di dati che mi "vomita", lo riterrei quasi superfluo per ciò che ho in mente.
Concentrandomi sul 2) ho rlevato che la stazione risponde sempre con 12 pacchetti da 8 byte.
Qui è iniziata la sfida vera e propria ma, grazie alle magie di reflector, dopo qualche tentativo ho trovato la traccia per ricostruire i dati.
Adesso aspetto con ansia l'anemometro per completare l'opera.
Veniamo allo step successivo:
la mia idea è fare un driver "user-space" minimale con il solo compito di essere eseguito come demone e fare richiesta periodica (timetick liberamente configurabile) alla stazione dei dati realtime.
Cosa ne farei dei dati?
Penso di inserirli di volta in volta su un db, la mia attuale scelta è sqlite, che gestisce tutto in un unico file con sicuramente una tabella in cui il singolo record ha come chiave il timestamp e un campo per ogni parametro da memorizzare.
Una volta che si piazza il file del db su una cartella accessibile via rete da altri pc diventa quasi un giochetto usare fogli di calcolo, script, pagine web per estrarre i dati per magari convertirli all'uso con sw tipo weather display o similari.
Inoltre sicuramente mi divertiro con
rrdtool per la generazione di qualche grafichetto "a modo"...
In conclusione: avete qualche suggerimento o richiesta di integrazioni secondo voi che valga la pena studiare?
P.S. chi volesse esaminare il codice per condividere il divertimento non ha che da farmi un fischio!
Segnalibri