EZ_Link: Un module Bluetooth pour Arduino, Raspberry, Android et PC... un couteau suisse bluetooth pour vos projets

Nous avons découvert le module EZ-Link il y a un moment... et notre premier réflexe à été de voir ce qu'il avait dans le coffre lorsqu'il est confronté à un téléphone Android, puis un PC, puis un Raspberry-Pi.
Ce module est vraiment surprenant!

Présentation de l'EZ-Link
Voici un produit tout droit issu de la ligne "BlueFruit d'AdaFruit" (ligne destinée au support Bluetooth). Le Bluefruit EZ-Link est un produit vraiment excitant et probablement le module de liaison série Bluetooth le plus aboutit du marché.
BlueFruit EZ-Link disponible chez MCHobby.be
Comme de nombreuses personnes, vous avez certainement déjà cherché et acheté de nombreux modules de liaison série Bluetooth avec des attentes plutôt élevées - mais obtenir quelque-chose qui fonctionne vraiment et réalise exactement ce que l'on attend de lui, c'est autre chose! Vous avez certainement connu ces longs moments de frustration liés à la configuration de ces modules... et ne parlons pas de la possibilité de reprogrammer un Arduino à l'aide d'un tel module bluetooth (Windows, MacOS).
Ne cherchez plus, nous avons quelque-chose à vous proposer, le premier module bluetooth susceptible de répondre aux nombreuses demandes introduite chez MCHobby depuis sa création. AdaFruit à conçu un module Bluetooth... quelque-chose de meilleur... et qui fonctionne!
BlueFruit EZ-Link disponible chez MCHobby.be
Le Bluefruit EZ-Link est une périphérique client de liaison série 'SPP' standard (SPP serial link client device, SPP pour Serial Port Profile) qui permet un couplage avec n'importe quel ordinateur ou tablette en tant que port série/port COM (sauf iOS puisque iOS n'autorise pas le couplage SPP). Mais voici ce qui rend ce module vraiment excitant: à l'opposé des autre module BT, EZ-Link peut automatiquement détecter et changer le débit de connexion série (baud rate). Cela signifie que si vous ouvrez un port COM à 9600 baud sur votre ordinateur, la sortie est à 9600 bauds. Vous utilisez 57600 bauds??? la sortie sera à 57600 bauds. Ce sera pareil avec 2400 bauds. Tous les débits les plus populaires sont supportés: 2400, 4800, 9600, 19200, 38400, 57600, 115200 et 230400. Vous n'avez donc pas besoin de configurer et customiser le module à la main - tout se passe de façon totalement automatisée dans le le module RF.
Là, vous vous dites certainement " "woaw c'est vachement cool" mais AdaFruit ne sait pas arrêté à mi-chemin! Le EZ-Link dispose d'une autre caractéristique impressionnante: les broches de contrôle de flux DTR/RTS/DSR sont synchronisées avec le port série de l'ordinateur. Cela signifie que si votre ordinateur active les broches de contrôles DTR ou RTS au niveau haut/high ou bas/low alors les broches du module bluetooth suivent. Si la broche d'entrée DSR du EZ-Link est placé au niveau haut/high ou bas/low, alors ce niveau logique peut également être détecté sur l'ordinateur. De nombreux autres modules BT ne proposent pas cette fonctionnalité... et même avec les broches RTS/DTR disponibles, elles ne sont pas forcément synchronisées vers l'ordinateur (la gestion de flux devant être pris en charge par l'intermédiaire de la mémoire tampon série [instead the flow control is for the module serial buffer itself]).
BlueFruit EZ-Link disponible chez MCHobby.be

Le tout ensemble, cela permet d'avoir quelque-chose d'assez surprenant: une module Bluetooth capable de changer de débit à la volé et de contrôler l'état de la broche DTR à souhait... et bien, nous avons tout ce qui est nécessaire pour programmer un Arduino (ou compatible) se trouvant dans un rayon de 10 mètres, sans fil (en wireless), sans logiciel supplémentaire, ni matériel particulier, hacking de Firmware ou Firmware modifié. En fait, vous pouvez utiliser le Bluefruit comme une sorte de câble FTDI "sans fil" avec tous les périphériques disposant d'un port de re-programmation FTDI. Ce module fonctionne également très bien si vous voulez l'utiliser comme console série. Ce produit inclus la capacité de 1µF nécessaire entre les broches DTR et reset.
Pour parfaire la conception, le module dispose de deux LEDs indicatrices RX/TX, ce qui permet de savoir si des données sont envoyées et reçues ainsi que qu'une broche "statut" de connexion. Lorsque l'ordinateur accouplé au module ouvre la connexion UART (connexion série), la broche de "statut" passe au niveau haut, permettant au microcontroleur de savoir qu'il peut maintenant recevoir des informations... mais aussi en envoyer vers l'ordinateur. Cherchez la broche marquée "sts" (pour "status" en anglais)

Hormis ces informations, notre tuto EZ-Link reprends de nombreuses autres informations autour Arduino.
Nous allons plutôt poursuivre cet article en faisant du hors piste.

EZ-Link - réalisation d'une liaison série Bluetooth
Réaliser une connexion série entre un PC et un projet à base de micro-controleur est certes très excitant (voir notre autre tutoriel)... mais avant de me lancer dans des développements BlueTooth + Arduino, je me suis mis en tête de tester la connectique Bluetooth entre mon PC sans Bluetooth et mon téléphone Android Galaxy Express (fonctionnant sous Android et disposant d'un support Bluethooth). 
Étudions l'utilisation d'un EZ-LINK plus en détails... un tuto MCHobby
Ce type de connexion me parait être du plus grand intérêt... car il permet de tester facilement la liaison série et le programme fonctionnant sous Android (par exemple). Il sera, par la suite très facile de remplacer l'ordinateur (et FTDI) par un microcontrôleur.

C'est là qu'intervient l'BlueFruit EZ-Link d'AdaFruit puisqu'il va me permettre d'ajouter un support Bluetooth sur mon PC par l'intermédiaire d'un port USB d'un d'un FTDI Friend
brancher un EZ-LINK avec un FTDI Friend... un tuto MCHobby


Une idée projet En dérivé de cette combinaison, il y a une idée de projet bien précis.
Partant du principe que nous sommes tous accros à nos GSMs, nombre de fabricants de téléphones modernes ont bannit les LED indicatrices. Du coup, si vous ratez la réception d'un SMS alors que vous êtes accaparé par votre travail, il vous faudra prendre votre GSM en main pour vous apercevoir qu'un message vous attend.
Que de manipulations alors qu'une simple LED clignotante peut faire notre bonheur.
L'autre option est d'avoir un connexion bluetooth avec un petit montage sur le bureau (EZ-Link + Microcontroleur + LED) qui attend les notifications en provenance du téléphone via Bluetooth SPP.
Une idée de projet réalisable avec un EZ-Link + Arduino + Android
Quand vous arrivez au travail, vous appairez votre Android avec votre montage et mettez en route votre petit programme Android.
Le programme Android (à réaliser) qui surveille la réception des SMS et envoi un message la connexion Série Bluetooth a la réception d'un SMS/Texto. A l'autre bout de votre connexion série Bluetooth, il y a votre montage qui reçoit le message et fait clignoter sa petite Led.
En dérivé de cette idée:
  • Le montage récepteur peut être caché dans n'importe quel objet translucide (ex: un champignon en plastique),
  • Vous pouvez fort bien utiliser une LED RGB pour créer une belle variation de couleur cyclique,
  • Vous pouvez accélérer le clignotement (ou le cycle de couleur) en fonction du nombre de messages en attente
Encore plus loin:
  • Vous pouvez également utiliser un écran LCD pour afficher le nombre de messages en attente et quelques autres informations que vous jugeriez utiles.
Ajouter un support Bluetooth à Raspberry-PI
Tout comme il est possible de relier un Arduino à un PC (ou Android) via Bluetooth (en utilisant EZ-Link), il est également possible de connecter un Raspberry à une ordinateur ou Android via Bluetooth (en utilisant aussi un EZ-Link).
Il est donc possible d'envoyer des instructions à son montage Raspberry-Pi depuis un appareil Android (ou un PC Bluetooth).

Soit via USB
Chez MCHobby, nous réalisons nos développement sous Linux. Notre test ayant été conduit sous Linux Mint (donc une base Debian, comme pour le Raspberry-Pi), il ne fait aucun doute que le module EZ-Link + FTDI fonctionnera également avec un Raspberry-Pi :-)
Utiliser un EZ-LINK avec un Raspberry-Pi... un tuto MCHobby
Configuration testée avec joie et succès à l'aide de minicom (voir ce tutoriel) et de la commande:

 sudo minicom -b 9600 -o -D /dev/ttyUSB0

Soit le port série du Raspberry-Pi
Le GPIO de votre Raspberry-Pi dispose d'un port série matériel (UART) sur le GPIO. En suivant les instructions de notre GSM/GPRS vous apprendrez comment libérer le port série sur le GPIO et comment le raccorder directement avec un EZ-Link.

Utiliser un EZ-LINK avec le port série matériel du Raspberry-Pi... un tuto MCHobby
Vous pouvez facilement réaliser ces raccordement à l'aide d'un Pi-Cobbler:
  • Brancher la masse/GND entre le PI et l'EZ-Link (pour avoir une masse commune)
  • Brancher le TX de l'EZ-Link --> RXD du Raspberry Pi (cfr cette image utilisant un Pi-Cobbler)
  • Brancher le RX de l'EZ-Link <-- TXD du Raspberry Pi
  • Brancher le VIN de l'EZ-Link <-- +5V du Raspberry Pi (pour alimenter l'EZ-Link)
Il faut croiser les RX/TX entre les deux ports séries.
TX est utiliser pour Transmettre de l'information (T=Transmit), cette dernière doit être reçue par le destinataire sur une broche RX (R=Receipt pour Réception)

Idées de projets autour du Raspberry-PI + EZ-Link
Mais pourquoi s'arracher les cheveux à vouloir faire communiquer un Pi avec un téléphone Android via BlueTooth ?
Et bien, à l'aide de votre programme de communication série à développer sur votre téléphone Android, votre Raspberry-Pi:
  1. Peut profiter de tous les senseurs de votre téléphone Android (GPS, Accéléromètre, ecran, caméra, ect)
  2. Peut détecter l'arrivée de nouveaux messages SMS, appels entrant et l'afficher sur l'écran de votre Pi.
  3. Permet de réaliser une passerelle d'envoi de messages.
  4. Permet à votre Pi de relayer des informations reçue sur votre téléphone dans votre maison.
  5. Ajouter le support de reconnaissance vocale à votre Pi
    Certainement projet ardu à réaliser mais Android étant capable de réaliser de la reconnaissance vocale avec brio... ce module peut certainement être utilisé depuis vos programmes Android et rien ne vous empêche ensuite de faire transiter l'information vocale décodée (la chaine de caractère) par via bluetooth sur votre Pi.

Les tutoriels
Vous pouvez poursuivre vos lectures dans les tutoriels suivants:
Où Acheter