Piacevolmente sto "smanettando"/ costruendo piccole reti di sensori per uso domestico, ovviamente usando come base Arduino e poi integrando quello che... costa meno.
Una soluzione che ho trovato e che ha dato ottimi risultati è quella basata sulla board
creata da The FreakLabs, massimo rispetto per questo ragazzo che da solo si è preso la briga di assemblare un prototipo con integrato lo standard IEEE 802.15.4.
Spendiamo due parole sul protocollo IEEE 802.15.4 che è utilizzato per lo scambio di dati nelle reti ad uso personale WPAN.
Questo è lo stesso protoccolo usato nel modulo XBee e nei dispositivi Zigbee, lo standard lavora a 2.4GHz, la velocità di comunicazione tra devices può avvenire al massimo di 250 kbit/s ma può essere abbassato fino a 20 kbit/s per risparmiare potenza (infatti la board è dotata di alloggio per 2 batterie stilo, non ho ancora testato la durata effettiva).
La board è pienamente compatible con l'IDE di Arduino e con tutte le libreria che avete solitamente usato, praticamente è come utlizzare Arduino anche perchè è stata rispettata la logica a brick.
Oltre a questo è possibile inviare messaggi ad altri FREAKDUINO-CHIBI includendo la libreria scritta da The FreakLabs.
Per farvi capire la semplicità di tutto questo supponete di volere inviare un messaggio ad un altro nodo
... per farlo:
byte msg[] = "07L";
chibiTx(0xAAAA, msg, 4);
dove 0xAAAA rappresenta l'indirizzo di un nodo della rete wireless.
Per settare l'indirizzo di un nodo basterà dichiararlo così:
void setup()
{
chbInit();
chibiSetShortAddr(0xAAAA)
}
per mettersi in attesa dell'arrivo di un messaggio e leggerlo bisognerà così operare:
void loop()
{
if (chibiDataRcvd() == true)
{
chibiGetData(buf);
Serial.println("\n"+(char *)buf+"\n");
}
}
con queste poche righe di codice posso fare praticamente tutto quello che voglio, inviare (anche in broadcast), ricevere messaggi e parsarli.
Vi ricordate DomoticHome?
Beh la prima cosa che ho fatto è stato scrivere il codice per integrare la board con l'applicazione per Android, un nodo centrale con una ethernel shield montata sul buon FREAKDUINO-CHIBI e sparsi per la casa i vari nodi in modo da creare una rete a stella.
Il nodo centrale funziona da instratadore, se il comando non è per lui verrà inviato al nodo interessato altrimenti verrà azionato l'attuatore collegato localmente.
Tutto questo senza sporcarsi troppo le mani con Zigbee che pur essendo diventato un po' il punto di riferimento non è così intuitivo da integrare.
Ora i costi:
- 2 board --> 80€ spedite a casa comprese di dazi doganali, ovviamente il tutto è in salsa open source e quindi sono disponibili librerie e schemi per la realizzazione della board. (se qualcuno vorrebbe fare un clone italiano sarebbe interessante).
Ecco realizzata la mia rete di sensori wireless!
Se siete interessati all'argomento visualezzati i nostri post nella sezione "Domotica", "Arduino" ed "Android".
Non vi rimando tutti i link in quanto iniziano ad essere tantini.
Ovviamente per qualsiasi dubbio o informazione contattateci pure.