venerdì 12 ottobre 2012

Trasferimento dati da Jeenode a Arduino

Oggi sono finalmente riuscito a far parlare Jeenode (vedi post precedente) con Arduino. Per chi non conosce questi interessanti tranceiver, che permettono di trasmettere dati via banda 868 MHz a circa 250 m, rammento che il software di gestione della trasmissione via radio utilizza l'interfaccia seriale hardware del ATMEGA, la stessa di Arduino. Quindi se si vuole mandare i dati ad una scheda Arduino, dopo averli ricevuti via radio da un Jeenode, bisogna usare un'altra interfaccia seriale, usando la libreria SerialSoftware, fornita con l'ambiente Arduino.  Una cosa interessante che ho scoperto è che se si usano due interfacce seriali nello stesso sketch, anche se fanno capo a pin diversi, bisogna usare la stessa baud rate. Con un po' di fatica quindi sono riuscito a realizzare la comunicazione tra Jeenode e Arduino.  In breve avviene così:

Jeenode 1 trasmette via radio a Jeenode 2 lo stato dei suoi 4 input analogici ( da 0 a 1023), usando lo sketch che minimizza il consumo di energia, fornito dalla stessa Jeelab.

Jeenode 2 appena riceve un pacchetto contenente i 4 dati + un'intestazione con lo ID del Jeenode 1, lo trasmette via seriale a Arduino.  Jeenode 2 usa lo sketch RF12demo fornito da Jeelab, dove ho aggiunto alcune istruzioni affinchè si possa usare l'interfaccia seriale software, attestata sui piedini 4 e 5 di Arduino, corrispondenti alle porte 1 e 2 di Jeenode.

Su Arduino ho messo un piccolo sketch che riceve i dati da Jeenode 2 via seriale, usando anche qui una seriale software attestata su 4 e 5. L'uso di una seriale software anche qui mi consente di utilizzare la seriale hardware per interagire con la IDE.

Prossima mossa sarà quella di usare uno shield data-logger di adafruit per memorizzare i dati ricevuti da Jeenode.


Nessun commento:

Posta un commento