Académique Documents
Professionnel Documents
Culture Documents
Controler un relais depuis un Raspberry Pi, en utilisant le bluetooth. C’est ce que nous
allons rapidement voir dans cet article.
Matériel requis
Raspberry Pi (peu importe la version)
Arduino (peu importe le modèle)
Module bluetooth HC-06
Dongle USB Bluetooth
Relais
Les programmes dont on va avoir besoin sont sur mon github : Par ici.
Vidéo
La réalisation de ce mini projet en vidéo :
L’activation du serveur SSH est vivement conseillé pour pouvoir copier/coller les
commandes.
Montage de l’arduino
L’arduino doit être monté selon le schéma suivant :
Paramétrage du module HC-06
Il faut paramétrer le module HC-06 pour changer son nom et le code PIN de connexion.
Pour cela, il faut téléverser le programme suivant sur l’arduino :
#include <SoftwareSerial.h>
SoftwareSerial hc06(2,3);
void setup(){
//Initialize Serial Monitor
Serial.begin(9600);
Serial.println("ENTER AT Commands:");
//Initialize Bluetooth Serial Port
hc06.begin(9600);
}
void loop(){
//Write data from HC06 to Serial Monitor
if (hc06.available()){
Serial.write(hc06.read());
}
if (Serial.available()){
hc06.write(Serial.read());
}
}
Puis se connecter au moniteur série pour lui envoyer les commandes AT suivante :
AT+NAMEhc-06
AT+PIN1234
power on
agent on
scan on
... wait ...
scan off
pair <addr>
Ici, j’utilise 0 car c’est la première connexion série bluetooth que je paramètre. Si on en
ajoute une deuxième on notera rfcomm bind 1 <addr> et on utilisera ensuite
/dev/rfcomm1.
root@raspberrypi:~# bluetoothctl
Agent registered
[bluetooth]# power on
Changing power on succeeded
[bluetooth]# agent on
Agent is already registered
[bluetooth]# scan on
Discovery started
[CHG] Controller 00:19:0E:0B:F8:90 Discovering: yes
[NEW] Device 20:15:10:09:66:56 20-15-10-09-66-56
[CHG] Device 20:15:10:09:66:56 LegacyPairing: no
[CHG] Device 20:15:10:09:66:56 Name: HC06.module
rm /var/www/html/index.html
nano /var/www/html/index.php
Il est ensuite nécessaire d’ajouter l’utilisateur www-data (qui gère le serveur web)
au groupe dialout (qui gère les ports série) pour que notre application puisse
communiquer via /dev/rfcomm0 :
Test
A présent, tout devrait être opérationnel. On peut donc se connecter à notre application
web dans un navigateur en entrant l’adresse IP du Raspberry PI :
Si on clique sur le boutton allumer ou éteindre, la liaison avec l’arduino doit se faire et le
relais doit agir en fonction. Si la communication ne se fait pas, un message pas de
comm avec l’arduino devrait apparaître. Enfin, si le message d’erreur n’apparait pas mais
que le relais ne réagit pas, il peut s’agir d’un problème de branchement de ce dernier, ou
d’un problème de paramétrage du message envoyé (“h” ou “l”).
J’espère que cet article vous aura plu. La méthode est simpliste et ce n’est certainement
pas la meilleure façon de faire, mais ça peut donner des idées. A +
Vixepti