Accéder au contenu principal

Wio Link, une carte ESP8266 avec des connecteurs Grove

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.

Il en existe quelques autres comme les DevDuino sensor nodes, mais ces dernières incluent un micro-contrôleur ATMega 328 qui ferait double emploi avec l'ESP8266.

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

Posts les plus consultés de ce blog

Utilisez votre tablette Android comme second écran pour Linux (Raspberry Pi, MK908II)

Les tablettes Android atteignent désormais des prix qui défient toute concurrence. On trouve désormais des modèles à 39 € TTC en super marché, soit à peine plus cher que le Raspberry PI, mais avec un écran. Ces modèles souvent mono-core 1Ghz ou 1,4 Ghz avec 512 ou 1Go de mémoire ne sont très probablement pas utilisables pour une utilisation régulière sur Internet et ne sont en aucun point comparables à leur équivalent de marque (Samsung, Sony, LG, HTC, Lenovo, etc). Plusieurs tutoriels indiquent comment connecter utiliser une tablette Android comme second écran ( http://www.linux-magazine.com/Online/Blogs/Productivity-Sauce/Use-an-Android-Device-as-Screen-and-Input-for-Raspberry-Pi ). Ces méthodes utilisent généralement l'USB Tethering qui n'est malheureusement disponible que sur les téléphones ou tablettes avec un accès mobile (3G ou 4G) inclus. Dans ce billet, je vais vous montrer comment se connecter à une tablette en utilisant le mode Debug adb (Android Debug Bridge

Supprimer les partitions Raspberry sur une carte SD sous Windows avec Diskpart

Si vous souhaitez récupérer une ancienne carte SD utilisée pour démarrer un Raspberry pour un autre usage (appareil photo, etc), il vous faudra supprimer les deux partitions créées au moment de l'écriture de l'image sur la carte SD. Vous pouvez voir les partition en sélectionnant Menu Windows/Ordinateur/bouton droit "Gérer". Voici un exemple du résultat final. Vous pouvez supprimer la partition Unix de 7 Gb (ou 4Gb en fonction de la taille de votre carte) en sélectionnant la partition puis en faisant "bouton droit Supprimer". Laissez juste une partition pour pouvoir faire les autres manipulations avec DISKPART. Démarrez l'outil DISKPART en ligne de commande. Une nouvelle fenêtre s'ouvrira. Microsoft DiskPart version 6.1.7601 Copyright (C) 1999-2008 Microsoft Corporation. DISKPART> list disk   N° disque  Statut         Taille   Libre    Dyn  GPT   ---------  -------------  -------  -------  ---  ---   Disque 0    En ligne        238 G octe

Emulateur Raspberry Pi sous Windows

Si vous souhaitez développer ou tester des applications pour Raspberry Pi, vous pouvez, soit compiler directement l'application sur Raspberry, soit la développer sous Linux ou Windows et la compiler pour Raspberry. La seconde solution est souvent plus simple car elle permet de disposer d'un environnement de compilation complet tel qu'Eclipse pour le développement. Une fois l'application développée, il faut la tester sur Raspberry. Là, il faut copier l'application en utilisant un client FTP ou SCP, puis se connecter en SSH et lancer l'exécutable. Il existe un autre moyen de tester une application Raspberry sans avoir à l'allumer. Il suffit de passer par un émulateur tel que QEMU qui permet de lancer un OS pour processeur ARM sous Linux ou Windows. L'émulateur sous Windows 1. Récupérez l'émulateur à l'adresse suivante : http://sourceforge.net/projects/rpi-emulator-win32/ . 2. Dézippés le contenu de l'image Rpi-Occidentalis-v02-qemu.7z av