Configurer un serveur MQTT avec Raspberry Pi
Alors que les objets connectés (IoT) transforment peu à peu notre quotidien, les arts numériques s’approprient eux aussi cette révolution technologique pour créer des installations autonomes, interactives et sans fil.
Dans cette note, nous allons configurer un Raspberry Pi pour en faire à la fois un point d’accès WiFi et un serveur MQTT, capable de relayer des messages entre capteurs, microcontrôleurs (ESP8266, ESP32…) et logiciels comme Processing ou MaxMSP.
Exemples d'utilisation
- Des capteurs de présence répartis dans une pièce envoient des messages via MQTT pour déclencher un visuel ou du son.
- Un analyseur audio détecte des basses fréquences et, en retour, déclenche une lumière via un microcontrôleur.
Dans tous ces cas, le protocole MQTT fait le lien entre le monde physique (capteurs/actionneurs) et le logiciel de création. Le projet peut aussi s’appliquer à des cas non artistiques : commandes vocales via Alexa, récupération de données environnementales, etc.
Étape 1 : Préparer le Raspberry Pi
Assurez-vous que la date et l’heure sont à jour. Sinon, configurez-les manuellement s'il le faut :
sudo date -s "Tue May 28 21:31:26 UTC-5 2019"
Ensuite, mettez à jour le système et redémarrez :
sudo apt-get update
sudo apt-get upgrade
sudo reboot
Étape 2 : Installer RaspAP
RaspAP est un outil qui permet de transformer le Pi en point d’accès WiFi avec interface web.
Installez-le avec la commande suivante :
wget -q https://git.io/voEUQ -O /tmp/raspap && bash /tmp/raspap
Suivez les instructions à l’écran. Une fois l’installation terminée, le Pi redémarre.
Un réseau raspi-webgui
devrait apparaître. Mot de passe par défaut : ChangeMe
.
Accédez à l’interface web via http://10.3.141.1
, identifiants par défaut : admin / secret
. N’oubliez pas de changer ces informations.
Étape 3 : Installer le broker MQTT (Mosquitto)
Mosquitto est un broker MQTT léger et très utilisé.
sudo apt-get install mosquitto
sudo /etc/init.d/mosquitto start
Après configuration du hotspot (SSID, mot de passe, reboot), vous pouvez utiliser l’adresse IP locale 10.3.141.1
pour vos tests MQTT.
Étape 4 : Tester le serveur
Installez un client MQTT :
Sous Linux (ou Raspbian)
sudo apt-get install mosquitto-clients
Sous macOS (avec Homebrew)
brew install mosquitto
Dans un premier terminal (abonné au topic) :
mosquitto_sub -h 10.3.141.1 -t 'test/topic' -v
Dans un second terminal (éditeur de message) :
mosquitto_pub -h 10.3.141.1 -t 'test/topic' -m 'hello world'
Vous devriez voir le message apparaître dans le premier terminal.
Dernière étape : désactiver la mise en veille de l’écran
Pour éviter que l’écran se mette en veille automatiquement :
sudo nano /etc/X11/xinit/xinitrc
Ajoutez à la fin du fichier :
xset s off
xset -dpms
Enregistrez avec Ctrl + X
, puis validez. Enfin, redémarrez le système :
sudo reboot
Et voilà! Votre Raspberry Pi est maintenant prêt à faire office de serveur MQTT, accessible via WiFi pour tous vos projets interactifs.
- ← Précédent
Comprendre le bitrate et les options d'encodage avec ffmpeg - Suivant →
Datamosh - mode d’emploi