Gros changements pour mon Arduino !
D’abord, il hérite d’un shield Ethernet, ce qui va me permettre de le faire communiquer directement avec le web et/ou de présenter les données sur un serveur http interne. J’ai acheté le Shield Ethernet Standard pour m’assurer de la compatibilité, surtout par rapport aux PINs du Mega. Comme le Shield Ethernet a une carte micro-SD intégrée, je peux désormais enlever le module SD de Futurlec que j’avais acheté en plus. La librairie est la même, mais cela me libère des ports d’input/output car la communication se fait sur le bus SPI de l’Arduino.
Bon, ça c’est déjà bien. Mais voilà, moi je souhaiterais que mon Arduino puisse communiquer librement… donc il me faut du wi-fi. Mmmh qu’est-ce que je pourrais bien utiliser comme routeur ou repeteur de mon signal wifi, histoire d’y connecter mon Arduino et son beau shield ethernet ? Tiens donc, c’est pas une Fonera qui traine par là-bas ? Si vous ne savez pas ce qu’est une Fonera, c’est un routeur bon marché lancé par Fon qui a l’énorme avantage de pouvoir être hacké, surtout les premières versions. Ô chance, ma Fonera est justement le tout premier modèle. Il « suffit » d’y installer OpenWRT ou DD-WRT (option que j’ai choisie). Je dis « suffit » entre guillemets car le processus de hacking de la Fonera est assez délicat; cela m’a pris près d’une journée et j’ai dû m’y reprendre à plusieurs reprises !
Mais une fois DD-WRT installé, la Fonera peut agir en repeteur de réseau wifi, bridge etc etc. Et voilà donc mon Arduino connecté en wifi sur mon réseau, et prêt à affronter le monde !
Je ne résiste pas à l’envie de vous montrer ça, surtout pour prouver que la Fonera communique sur le réseau wifi.
//
Le monde justement… connecter l’Arduino c’est bien, oui mais à quoi ?
C’est là qu’entrent en jeu à la fois la librairie Twitter de l’Arduino et Pachube, un site qui collecte les streams de données récupérées par différents capteurs.
Le système a deux avantages. Non seulement les données sont disponibles sur le web — j’aurais pu les mettre sur mon serveur aussi — mais l’avantage ici c’est qu’il est possible de créer des alarmes et des graphes en ligne en temps réel. J’ai choisi de ne pas faire communiquer l’Arduino directement avec Pachube, et de passer par Twitter comme intermédiaire, car cela me permet d’avoir l’Arduino qui m’envoie des messages directs en cas d’alarme. Mieux que le SMS et gratuit ! Par chance, Pachube offre aussi une application pour cela, qui permet de mettre à jour les données par le biais de Twitter : PachTweet.
Et voilà le résultat de ces tests. Pour le moment, l’Arduino envoie toutes les 10 minutes la température actuelle à Pachube (cela risque de changer). Et cela sans aucune connection PC, uniquement l’envoi des données par le biais de la Fonera.
Voir le feed sur la page Pachube. (les valeurs sont encore approximatives, cela reste un test !)
Pas mal pour les derniers jours non ?