Raspberry Pi

10 projets IoT Raspberry Pi 5 avec MQTT (du hub de capteurs à la caméra IA)

Dix projets IoT Raspberry Pi 5 concrets qui utilisent MQTT pour la messagerie, avec pour chacun le matériel, l'organisation des topics et un code de départ, du hub de capteurs pour la maison connectée à la caméra IA et à la passerelle d'usine.

Raspberry Pi 5 entouré de capteurs, d'une caméra et d'un écran de tableau de bord, illustrant des projets IoT Raspberry Pi 5 avec MQTT
Essayez-le sur votre propre broker MQTTObtenez un broker MQTT privé et managé avec l’offre Free et partez d’exemples de code prêts à l’emploi.
Essayer gratuitement Exemples de code Aucune carte bancaire requise

Ces projets IoT Raspberry Pi 5 montrent ce que le dernier Pi sait bien faire : davantage de marge processeur, un stockage NVMe rapide, deux connecteurs caméra et un accélérateur IA optionnel, le tout sur une carte qui exécute toujours les mêmes outils Python et Node-RED qu'avant. Chacun des dix projets ci-dessous utilise MQTT pour la messagerie, afin que les éléments puissent dialoguer entre eux, avec des tableaux de bord et avec votre téléphone. Vous pouvez tous les essayer sur le serveur gratuit broker.connectmq.com avant de passer à des identifiants privés.

Ce que le Raspberry Pi 5 change pour l'IoT

Le Pi 5 représente un vrai bond par rapport au Pi 4 pour les projets qui tournent en permanence. Son processeur quadricœur Cortex-A76 exécute en parallèle des charges plus lourdes comme des bases de données locales, de la vision par ordinateur et plusieurs passerelles de protocoles. Un connecteur PCIe accepte des SSD NVMe via le M.2 HAT+, ce qui élimine la carte SD comme point faible en matière de fiabilité. La carte ajoute une horloge temps réel (avec connecteur de pile), un bouton d'alimentation et deux connecteurs caméra/écran à quatre voies. Les GPIO sont désormais gérés par le nouveau contrôleur d'E/S RP1 : c'est pourquoi les bibliothèques actuelles comme gpiozero avec le backend lgpio sont la bonne façon de piloter les broches.

Les contreparties sont la consommation et la chaleur : le Pi 5 demande une alimentation USB-C 5 V 5 A pour fournir le courant maximal aux périphériques USB, et il profite de l'Active Cooler sous charge prolongée. Pour des nœuds capteurs sur batterie, un Pico W ou un ESP32 est souvent un meilleur choix, avec le Pi 5 dans le rôle de hub, car ils dorment entre deux mesures et ne se réveillent que pour publier.

Une organisation de topics commune

Les dix projets utilisent la même convention de topics, ce qui permet de les combiner plus tard sans rien renommer :

connectmq/demo/<your-id>/<project>/<device>/<measurement>
connectmq/demo/<your-id>/<project>/<device>/status          (retained, Last Will)
connectmq/demo/<your-id>/<project>/<device>/<output>/set    (commands, not retained)

Et le même publieur minimal, que chaque projet enrichit :

import json, time, uuid
import paho.mqtt.client as mqtt

PREFIX = "connectmq/demo/p5x9m3"
client = mqtt.Client(mqtt.CallbackAPIVersion.VERSION2, client_id=f"pi5-{uuid.uuid4().hex[:8]}")
client.will_set(f"{PREFIX}/hub/pi5/status", "offline", qos=1, retain=True)
client.connect("broker.connectmq.com", 1883, keepalive=30)
client.loop_start()
client.publish(f"{PREFIX}/hub/pi5/status", "online", qos=1, retain=True)

while True:
    with open("/sys/class/thermal/thermal_zone0/temp") as f:
        cpu_c = int(f.read()) / 1000
    client.publish(f"{PREFIX}/hub/pi5/cpu_temp", json.dumps({"value": cpu_c, "ts": int(time.time())}), qos=1)
    time.sleep(10)

Les 10 projets en un coup d'œil

# Projet Matériel clé Difficulté
1 Hub de capteurs pour la maison BME280, DS18B20 Débutant
2 Suivi de consommation énergétique Compteur d'énergie Modbus ou ADC avec pinces ampèremétriques Intermédiaire
3 Caméra IA avec événements d'objets Camera Module 3 ou AI Camera, AI Kit Avancé
4 Passerelle multiprotocole BLE, LoRa, Modbus Intermédiaire
5 Tableau de bord MQTT mural Écran tactile Débutant
6 Pile de séries temporelles locale SSD NVMe Intermédiaire
7 Contrôleur d'arrosage intelligent Relais, capteurs d'humidité du sol Intermédiaire
8 Station de qualité de l'air Capteurs PM2.5 et CO2 Débutant
9 Passerelle de surveillance machine Modbus TCP ou CAN Avancé
10 Surveillance de l'état d'un parc Rien de plus Débutant

1. Hub de capteurs pour la maison

Câblez un BME280 (température, humidité, pression) en I2C et quelques sondes DS18B20 sur le bus 1-Wire, puis publiez chaque mesure toutes les minutes avec des messages retenus pour que les tableaux de bord affichent les valeurs immédiatement. C'est une base solide pour la maison connectée : le Pi 5 a assez de marge pour faire tourner aussi Node-RED ou Home Assistant sur la même carte, et Jeedom et Domoticz savent eux aussi communiquer en MQTT. Les sondes DS18B20 sont étanches, ce qui les rend adaptées aux cuves, aux réfrigérateurs et aux mesures extérieures.

2. Suivi de consommation énergétique

Lisez un compteur d'énergie sur rail DIN en Modbus RTU avec un adaptateur USB-RS485, ou mesurez le courant avec des pinces ampèremétriques et un HAT ADC. Publiez la puissance toutes les quelques secondes et les totaux d'énergie toutes les minutes. Des alertes de seuil sur la puissance consommée peuvent vous prévenir lorsqu'un appareil est resté allumé. Faites installer par un électricien qualifié tout ce qui se trouve à l'intérieur d'un tableau électrique.

3. Caméra IA avec événements d'objets

C'est là que le Pi 5 brille. Utilisez le Camera Module 3 avec l'AI Kit ou l'AI HAT+ basés sur Hailo, ou la Raspberry Pi AI Camera, qui exécute le modèle directement sur le capteur. Lancez la détection en local et publiez des événements, pas de la vidéo : un petit message JSON comme {"label": "person", "confidence": 0.91, "zone": "driveway"} sur .../camera/front/detections. Conservez les images sur le Pi ou envoyez-les séparément ; MQTT transporte les métadonnées. Le tutoriel de détection de mouvement par caméra avec MQTT est un bon point de départ sans IA.

4. Passerelle multiprotocole

Combinez des capteurs Bluetooth, une radio LoRa et un équipement Modbus sur un seul Pi 5, chacun tournant comme un service distinct et publiant dans une même arborescence de topics. Les cœurs supplémentaires permettent aux trois passerelles de fonctionner sans se disputer le processeur. Suivez le pont BLE vers MQTT sur Raspberry Pi pour la partie Bluetooth, puis ajoutez les autres un par un.

5. Tableau de bord MQTT mural

Branchez l'écran tactile officiel, démarrez sur un navigateur en plein écran et affichez un tableau de bord qui s'abonne via WebSocket sécurisé sur le port 8084. Comme le Pi 5 affiche les pages web de manière fluide, les graphiques et les jauges en direct restent réactifs. Ajoutez des boutons qui publient des commandes sur des topics .../set pour piloter des lumières ou des relais ailleurs dans la maison.

6. Pile de séries temporelles locale

Installez un SSD NVMe sur le M.2 HAT+ et faites tourner Telegraf, InfluxDB et Grafana. Telegraf s'abonne à vos topics MQTT comme un client ordinaire et écrit dans InfluxDB, et Grafana trace l'historique. Le SSD supporte les écritures continues bien mieux qu'une carte SD. Le guide Grafana et InfluxDB sur Raspberry Pi détaille l'installation.

7. Contrôleur d'arrosage intelligent

Des capteurs capacitifs d'humidité du sol via un ADC, une carte relais pour les électrovannes et une prévision météo récupérée par un petit script : le Pi décide quand arroser et publie chacune de ses décisions. Rendez les commandes non retenues et ajoutez dans le code une durée maximale de fonctionnement par vanne, afin qu'une perte de connexion ne laisse jamais l'eau couler.

8. Station de qualité de l'air

Un capteur de particules PM2.5 en liaison série et un capteur de CO2 NDIR en I2C donnent une image utile de l'air intérieur. Publiez les deux toutes les 30 secondes et déclenchez une alerte quand le CO2 grimpe : c'est un rappel pratique pour aérer une pièce. Laissez les capteurs chauffer quelques minutes avant de vous fier aux premières mesures.

9. Passerelle de surveillance machine

Dans un atelier ou une petite usine, un Pi 5 peut interroger un automate en Modbus TCP ou écouter le bus CAN d'une machine, puis publier états et compteurs sous un chemin de type ISA-95 comme site1/workshop/line1/press2/state. Cette structure alimente un Unified Namespace et fonctionne avec les outils qui comprennent les hiérarchies d'usine. Pour une installation en armoire, envisagez un équipement industriel basé sur un Compute Module, avec alimentation 24 V et montage sur rail DIN.

10. Surveillance de l'état d'un parc

Si vous utilisez plusieurs Pi, faites publier par chacun la température du processeur, les indicateurs de bridage, l'espace disque et le temps de fonctionnement toutes les minutes, ainsi qu'un statut Last Will retenu. Un seul tableau de bord montre alors l'état de chaque appareil, et les alertes se déclenchent avant qu'un disque plein ou une surchauffe ne provoque une panne. Le publieur minimal ci-dessus constitue déjà la première étape : ajoutez l'utilisation du disque via shutil.disk_usage("/") et la sortie de vcgencmd get_throttled.

Rendre n'importe quel projet prêt pour la production

Tous les projets ci-dessus démarrent sur le serveur MQTT public gratuit, parfait pour expérimenter mais lisible par tout le monde. Avant de compter sur un projet, passez cette liste en revue :

  1. Passez à un broker privé avec TLS sur le port 8883 et des identifiants par appareil.
  2. Exécutez chaque script comme service systemd avec redémarrage automatique.
  3. Démarrez depuis un SSD NVMe ou USB plutôt que depuis une carte SD.
  4. Mettez les mesures en mémoire tampon localement pendant les coupures réseau.
  5. Sécurisez SSH, activez le pare-feu et maintenez le système à jour.
  6. Publiez un heartbeat et un Last Will pour savoir quand un appareil s'arrête.

Les conseils de fiabilité pour Raspberry Pi approfondissent les points 2 à 4, et le tutoriel MQTT sur Raspberry Pi est le bon point de départ si MQTT sur le Pi est nouveau pour vous. La documentation officielle du Raspberry Pi 5 liste les connecteurs de la carte et ses besoins en alimentation.

Un broker MQTT cloud relie les dix projets : capteurs à la maison, passerelle à l'atelier et tableau de bord sur votre téléphone se connectent tous en sortant vers le même broker, sans redirection de ports. ConnectMQ fournit exactement cela sous forme de broker MQTT managé, avec un explorateur de topics en direct, des alertes de seuil et une vue des appareils intégrés au portail.

Construisez votre prochain projet Pi 5 sur ConnectMQ

Créez gratuitement un broker ConnectMQ Serverless sur app.connectmq.com, sans carte bancaire, et vous disposerez d'identifiants TLS en quelques minutes. Pointez-y n'importe lequel de ces projets et regardez vos topics apparaître dans le navigateur dès que le Pi se connecte.

Questions fréquentes

Le Raspberry Pi 5 est-il surdimensionné pour des projets IoT simples ?

Pour un seul capteur, souvent oui ; un Pico W ou un Zero 2 W coûte moins cher et consomme moins. Le Pi 5 devient rentable lorsqu'un seul appareil fait tourner plusieurs services, une base de données ou de la vision par ordinateur.

Les projets Pi 4 fonctionnent-ils sur le Pi 5 ?

La plupart, oui. La principale exception concerne le code GPIO écrit pour RPi.GPIO, qui ne prend pas en charge le Pi 5 ; passez à gpiozero ou lgpio.

Quelle bibliothèque MQTT utiliser sur le Pi 5 ?

paho-mqtt 2.x est le choix standard en Python, et les nœuds MQTT intégrés de Node-RED conviennent bien aux projets basés sur des flows. Les deux fonctionnent sans modification sur le Pi 5.

Plusieurs projets peuvent-ils partager un même broker ?

Oui. Donnez à chaque projet sa propre branche de topics et à chaque appareil son propre client ID : un seul broker peut tous les servir, dans la limite de connexions de votre offre.

Articles liés

Journal d'accès RFID MQTT sur Raspberry Pi avec le lecteur RC522

Câblez un lecteur RFID RC522 sur un Raspberry Pi, lisez les badges en Python, vérifiez-les dans une liste blanche locale et publiez chaque tentative d'accès sous forme d'événement MQTT exploitable par vos outils de journalisation, tableaux de bord et alertes.

8 min de lecture

Installer Mosquitto sur Raspberry Pi comme broker MQTT local sécurisé

Installez Mosquitto sur un Raspberry Pi, sécurisez-le avec des mots de passe et une configuration de listener raisonnable, testez-le avec mosquitto_pub et mosquitto_sub, et découvrez quand un broker local doit faire un pont vers un broker cloud.

9 min de lecture

Tous les articles →

Votre broker MQTT privé, à quelques clics

Créez un compte, récupérez les identifiants de votre broker et connectez votre premier appareil — aucun serveur à installer, mettre à jour ou dimensionner.