Wio Link de SeeedStudio
Connaissez vous la Wio Link? C'est une nouvelle carte basée sur l'ESP8266 et qui intègre 6 connecteurs Grove. Ainsi, (presque) fini les bricolages hasardeux nécessitant l'utilisation d'une platine d'essai, l'utilisation d'un convertisseur USB/série, etc. La carte coûte 14 $ et à été créée à partir d'un financement sur KickStarter en janvier 2016. Les 50 000 $ demandés au lancement de la campagne en décembre 2015 ont été récoltés en 5 heures. Les caractéristiques de la carte sont les suivantes :
- 3 ports Digitaux
- 1 port Analogique
- 1 port UART
- 1 port I2C
- 1 port d'alimentation Lipo
- 1 port USB
Deux petits bémols :
- pas d'interrupteur pour la batterie (il est préférable d'utiliser un batterie de secours externe avec interrupteur)
- pas d'antenne externe, ce qui limite un peu la portée.
Basé sur l'ESP8266, la carte supporte les différents firmware Nodemcu (Lua, Basic, IDE Arduino, etc), mais dispose surtout d'une implémentation qui permet de tester à peu près tous les senseurs Grove existants sans avoir à programmer la moindre ligne de code et sans allumer de PC. Il faut simplement disposer d'une connexion Internet et d'un téléphone (ou tablette) sous Android ou IOS.
Déballage
La carte est livrée dans une petite boite en carton avec un câble micro USB. Sans aucune notice d'utilisation. Il y a tout juste un lien http://iot.seeed.cc sur lequel il faut se connecter depuis un téléphone ou une tablette.
A cette adresse, vous trouverez la plupart des informations nécessaires pour une première utilisation de la carte.
Première utilisation sous Android
Pour la première utilisation, j'ai téléchargé l'application sous Android disponible dans Google Play à l'adresse https://play.google.com/store/apps/details?id=cc.seeed.iot.ap&hl=fr ou en faisant une recherche avec Wio Link. Utilisez de préférence la tablette en mode Horizontal.
Une fois la carte branchée sur une alimentation quelconque (PC, batterie, etc), appuyez sur le bouton "Configure" jusqu'à ce que le bouton bleu reste allumé en permanence. Depuis l'application, faites une recherche des stations Wifi. Si vous êtes en mode configuration, vous devriez voir une station WioLink_xxx apparaître. Sélectionnez la, puis entrez sélectionnez la borne Wifi à laquelle la station Wio Link va se connecter. Pour une utilisation statique, à la maison, cette manière de procéder convient parfaitement. Pour une utilisation "itinérante", il n'est pas simple d'utiliser le téléphone à la fois comme Hotspot Wifi et comme client Wifi. Une fois la connexion Wifi établie, il vous faudra créer un compte sur le serveur IoT de SeeedStudio. C'est là l'une des particularités du système : la carte reçoit ses données et est mise à jour depuis Internet.
Une fois connecté, la carte apparaît avec ses 6 connecteurs, ainsi qu'une liste de connecteurs Grove en dessous. sur la tablette, sélectionnez le senseur Grove correspondant. Dans l'image ci-dessus, j'ai pris un senseur Grove analogique. Lorsque l'objet est déplacé, les connecteurs sur lesquels le senseur peut être connecté s'affichent en blanc.
Connectez ensuite physiquement le connecteur Grove sur la carte au même emplacement que celui représenté sur l'écran. Cliquez sur le menu "Update" en haut à gauche pour télécharger les modifications dans la carte.
Pour lire les données du senseur, sélectionnez le bouton "API". Vous verrez une ou plusieurs séries d'URLs que vous pourrez déclencher pour interagir avec le senseur. Pour le potentiomètre, par exemple, vous pourrez uniquement lire sa valeur. Tournez le bouton et appuyez sur le bouton Get. La valeur du senseur sera renvoyée au format JSON. Vous verrez également l'URL complète correspondante pour effectuer l'action. Vous pourrez copier cette URL dans une application HTML, Java, Javascript, etc pour lire, une valeur ou effectuer une action.
C'est bien là toute la beauté de l'opération. J'ai ainsi pu tester plusieurs capteurs en quelques minutes sans avoir à écrire le moindre driver ou la moindre ligne de code :
- afficheur de barographe
- ruban de leds
- capteur de température
- servomoteur
- potentiomètre
- écran oled
...
Solutions concurrentes
Des solutions similaires existaient déjà, mais sans le même confort que le Wio Link. Je vais en lister quelques unes :
1. XBee Carrier de SeeeStudio (environ 20 € chez HackSpark ou Lextronic)
Cette carte permet normalement de connecter un récepteur XBee à l'emplacement correspondant. Elle offre 2 sorties Groves. Cette carte est également livrée avec le Wireless Solar kit qui inclut un boîtier transparent, une batterie Lipo et un petit panneau solaire. Pour des senseurs qui consomment un peu de courant, il est préférable de choisir une alimentation séparée.
A la place d'un récepteur XBee standard, j'utilise un récepteur Wee d'IteadStudio (il coûte maintenant 3 €). Les pins de ce récepteur correspondent aux mêmes pins que celles d'un récepteur XBee, mais il faut trouver la correspondance avec les GPIO utilisées en Lua.
Ces sorties ne sont cependant pas activées électriquement par défaut (les fils + et - ne fournissent pas de courant). Il faut connecter les 2 dernières pins Power_control 1 et Power control 2 pour fournir le courant.
Cette carte est une carte de développement vendue uniquement en kit avec des récepteurs XBee. Elle permet de disposer de 6 connecteurs Grove comme la Wio Link. Je ne l'ai pas essayée à cause du coût que je trouve un peu élevé, mais avec un peu de chance, elle devrait également marcher avec la carte Wee ESP8266 présentée précédemment.
Conclusions
Le
prix de cette carte à 13 $ est certes un peu plus élevé que l'ESP8266 à
3 $, mais les connecteurs Groves et le firmware graphique natif
permettent de donner toute leur puissance à cette carte. L’absence
d’interrupteur est un peu gênante comparée à la carte XBee Carrier du
même constructeur. Cette carte s'interface également sans aucune
programmation avec le site IFTTT (IF This Then That), ce qui permet de
déclencher une action lorsqu'un senseur atteint une limite fixée. Ce
n'est pas toujours très simple d'usage.
L'application
Android est assez bien faite. J'ai quand même eu un peu de mal à
comprendre au début à quoi servait le bouton "Update", ainsi qu'à
comprendre comment supprimer un senseur (en cliquant en le déplaçant sur
la croix "X" . Sur ma tablette, l'application n'affichait la carte
complète qu'en mode Paysage. En mode portrait, seul un senseur était
visible et il m'était également impossible de supprimer un senseur déjà
connecté.
Si vous souhaitez aller plus loin, installez un firmware Lua customisé (http://famory-toure.blogspot.fr/2015/07/custom-build-pour-esp8266.html). Vous pouvez également vous laisser tenter par une installation de ZBasic pour Esp8266 (http://www.zbasic.net/doc/ZBasicESP8266.html).
Un environnement nommé Cayenne assez similaire existe également pour le Raspberry. Je le présenterai dans un autre billet.
Commentaires
Enregistrer un commentaire