Aller au contenu principal
Emir Chouchane - Carnet de notes

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

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.