Je ne sais pas vous, mais en ce qui me concerne, j’entend de moins en moins parler du Bluetooth. Certes on nous vend encore des oreillettes et des enceintes exploitant cette techno, mais la mode Bluetooth est semble t-il légèrement passée.

Pourtant, cette techno a un énorme avantage : elle est présente dans tout iBidules, Androtrucs, et les autres.

C’est l’ami Zem qui m’a dernièrement donné l’envie de replonger dedans en me faisant remarquer qu’il existait sur eBay ce genre de modules pour un prix dérisoire. Commande effectuée dans la foulée, j’en reçois quelques uns la semaine suivante.

Les modules

Ces modules utilisent du Bluetooth de classe 2 (2,5mW) ce qui leur confère une portée théorique d’une quinzaine de mètres. Ils exploitent le service RFCOMM et fournissent un profil SPP (Serial Port Profile). Typiquement, une fois correctement configuré, on obtiendra une passerelle UART-Bluetooth.

Très simpliste, donc, mais aussi très pratique ; puisque l’électronique en aval reste extrêmement simple et éprouvée.

Configuration

Les adeptes d’Arduino habitués au Xbee ne seront pas dépaysés, car ces modules se configurent également à l’aide de commandes AT. Voici une liste non-exhaustive des commandes qu’ils sont capables de comprendre :

  • AT
    • Renverra OK si tout va bien.
  • AT+BAUD4
    • Vous permettra de parametrer la liaison série à 9600 bauds.
  • AT+NAMENewName
    • Définira le nom du réseau à NewName.
  • AT+PIN6789
    • Définira le code PIN d’appairage à 6789.

Si vous utilisez ces modules connectés à un Arduino, un setup pourrait ressembler à ça :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <SoftwareSerial.h>
#define BTRx 10
#define BTTx 11

SoftwareSerial BTSoftSerial(BTRx, BTTx);

void setup() {
pinMode(RxD, INPUT);
pinMode(TxD, OUTPUT);
BTSoftSerial.begin(9600);
delay(1000);
BTSoftSerial.print("AT+BAUD4");
delay(1000);
BTSoftSerial.print("AT+NAMEBTModule");
delay(1000);
BTSoftSerial.print("AT+PIN1234");
delay(1000);
}

La librairie SoftwareSerial.h permet d’utiliser les broche PWM 10 et 11 pour communiquer avec le module. Ainsi, on laisse libres les broches Tx et Rx de base pour le reste.

Démonstration

Pour essayer tout ça, j’ai fait une toute petite application Android utilisant le Bluetooth sur le profil SPP. C’est tellement du “vite fait” que j’attendrai d’avoir amélioré la chose pour vous donner les sources (faites moi signe si j’oublie).



Inutile de vous dire que si l’on remplace le buzzer par un triac ou un relai, on obtient à peu de choses près un module DomALL BT-Control !

Conclusion

Vous l’aurez compris, on peut arriver à quelque chose de fonctionnel avec très peu de lignes de code et un budget minuscule ; et ça, c’est tant mieux pour DomALL !

Je prendrai le temps dans les jours prochains de tester la consommation de courant et la portée max. Je vous ferai un petit topo de ces derniers points.

J’attends par ailleurs dans les jours à venir des modules NRF24L01, encore moins chers et sur le papier très prometteurs. Je ne manquerai pas de venir vous en parler ici.


À très bientôt !