Aller au contenu

Outils et technologies de développement IoT : un panorama pratique

Carte électronique reliée à des capteurs et à une icône de cloud

L'Internet des objets relie des capteurs, des appareils et des machines à des réseaux afin qu'ils puissent remonter des données ou être pilotés à distance. Que vous construisiez un capteur de température domestique, un traceur de flotte ou un moniteur industriel, les mêmes couches apparaissent dans tous les projets : l'appareil, la connexion, la plateforme qui collecte les données et l'application qui les utilise. Bien choisir à chaque couche détermine ce que coûte le projet à construire et à exploiter pendant des années. Ce panorama liste les principales options de chaque couche, les compromis entre elles et les bases de sécurité trop souvent oubliées.

1. Matériel

  • ESP32 et ESP8266 : microcontrôleurs peu coûteux avec Wi-Fi et, pour l'ESP32, Bluetooth. Populaires pour les prototypes et les produits grand public parce qu'ils sont bon marché, bien documentés et soutenus par une vaste communauté.
  • Arduino : des cartes accessibles avec un énorme écosystème de bibliothèques et le moyen le plus simple d'apprendre les bases des capteurs et des actionneurs.
  • Raspberry Pi : un petit ordinateur Linux qui convient aux passerelles, caméras, tableaux de bord et à tout projet nécessitant un traitement local ou un système d'exploitation complet.
  • STM32 et Nordic nRF : des microcontrôleurs professionnels axés sur la faible consommation, la longue durée de batterie et le Bluetooth Low Energy.

Choisissez la carte la plus simple qui répond à vos besoins en énergie, en connectivité et en sécurité. Un capteur sur batterie qui doit tenir un an sur une pile bouton exige une puce très différente de celle d'une caméra alimentée par le secteur.

2. Systèmes d'exploitation et firmware

  • FreeRTOS et Zephyr : systèmes d'exploitation temps réel pour appareils contraints qui ont besoin de délais prévisibles et d'une faible utilisation de mémoire.
  • PlatformIO : un système de compilation et une extension d'éditeur qui prennent en charge de nombreuses cartes et bibliothèques depuis un seul format de projet.
  • Mises à jour à distance (OTA) : indispensables pour corriger des failles de sécurité après le déploiement. Prévoyez-les avant l'expédition du premier appareil ; les ajouter plus tard est pénible.

3. Connectivité

TechnologiePortéeUsage typique
Wi-FiDizaines de mètresMaisons et bureaux alimentés par le secteur
Bluetooth LECourteObjets portables, balises, configuration d'appareils
Zigbee, Thread / MatterMaillage dans un bâtimentAppareils de maison connectée qui se relaient entre eux
LoRaWANKilomètres, très faible débitAgriculture, services publics et capteurs urbains
NB-IoT, LTE-M, 5GRéseaux mobilesTraceurs, compteurs, véhicules, équipements distants
  • Technologie: Wi-Fi
    Portée
    Dizaines de mètres
    Usage typique
    Maisons et bureaux alimentés par le secteur
  • Technologie: Bluetooth LE
    Portée
    Courte
    Usage typique
    Objets portables, balises, configuration d'appareils
  • Technologie: Zigbee, Thread / Matter
    Portée
    Maillage dans un bâtiment
    Usage typique
    Appareils de maison connectée qui se relaient entre eux
  • Technologie: LoRaWAN
    Portée
    Kilomètres, très faible débit
    Usage typique
    Agriculture, services publics et capteurs urbains
  • Technologie: NB-IoT, LTE-M, 5G
    Portée
    Réseaux mobiles
    Usage typique
    Traceurs, compteurs, véhicules, équipements distants

Pour les appareils cellulaires, l'eSIM et la 5G simplifient les grands déploiements : voir l'eSIM expliquée et la 5G et les réseaux GSM.

4. Protocoles

  • MQTT : messagerie légère de publication/abonnement, standard de fait pour la télémétrie. Un courtier (broker) reçoit les messages et les transmet aux abonnés.
  • CoAP : une alternative légère conçue pour les appareils contraints, semblable à HTTP mais fondée sur UDP.
  • HTTP et WebSockets : le plus simple quand la bande passante et l'énergie ne sont pas serrées et que les développeurs connaissent déjà la pile web.

5. Plateformes et outils

  • Plateformes cloud : AWS IoT Core et Azure IoT Hub fournissent des registres d'appareils, de la messagerie et des moteurs de règles. Google Cloud IoT Core a été arrêté en 2023 ; les équipes qui l'utilisaient sont passées à des partenaires ou à des alternatives open source.
  • Open source : ThingsBoard pour les tableaux de bord et la gestion d'appareils, Node-RED pour les flux visuels, Grafana pour la supervision et Eclipse Mosquitto comme courtier MQTT simple.
  • Bases de données : les bases de séries temporelles comme InfluxDB ou TimescaleDB stockent efficacement les mesures des capteurs.

6. Bases de sécurité

  1. Donnez à chaque appareil une identité et des identifiants uniques ; n'expédiez jamais de mot de passe par défaut.
  2. Chiffrez le trafic avec TLS et vérifiez les certificats sur l'appareil.
  3. Prévoyez dès le départ des mises à jour OTA sécurisées et signez le firmware.
  4. Ne collectez que les données dont vous avez besoin et documentez leur destination.
  5. Désactivez les interfaces de débogage et les services inutilisés avant la production.

Un premier projet en un week-end

Un bon premier projet est un capteur de température et d'humidité. Utilisez une carte ESP32 avec un module capteur, publiez les mesures en MQTT vers un courtier gratuit ou votre propre Raspberry Pi et affichez-les dans Grafana ou Node-RED. En un week-end vous touchez toutes les couches : matériel, firmware, protocole, plateforme et tableau de bord. Une fois que cela fonctionne, ajoutez les mises à jour OTA et TLS pour apprendre les bases de la sécurité à petite échelle.

Erreurs courantes

  • Choisir le Wi-Fi pour un appareil sur batterie qui dormira la plupart du temps.
  • Ignorer le coût des données mobiles et de la gestion des SIM à grande échelle.
  • Oublier que la facture cloud augmente avec le nombre de messages.
  • Laisser des appareils sans aucun moyen de les mettre à jour.

Les objets connectés utilisent souvent les mêmes technologies temps réel que votre navigateur : WebRTC peut diffuser une caméra directement vers une page web, et les mêmes idées font fonctionner le chat P2P dans le navigateur.

Choisir une connexion : les questions à se poser

  1. Y a-t-il une alimentation secteur ? Si oui, le Wi-Fi ou l'Ethernet est le plus simple. Si l'appareil fonctionne des mois sur batterie, regardez BLE, LoRaWAN ou NB-IoT.
  2. Quelle distance le signal doit-il parcourir ? Dans une pièce : Bluetooth. Dans une ferme ou une ville : LoRaWAN ou cellulaire.
  3. Quelle quantité de données par message et à quelle fréquence ? Quelques octets toutes les heures conviennent à LoRaWAN ; la vidéo au Wi-Fi ou à la 5G.
  4. À qui appartient le réseau ? Un réseau cellulaire exige des SIM et un forfait de données ; LoRaWAN peut fonctionner avec votre propre passerelle.
  5. L'appareil se déplace-t-il ? Un traceur a besoin d'une couverture cellulaire ; un capteur fixe non.

Budget énergétique : faire durer une batterie

La plupart du temps, un capteur sur batterie devrait dormir. Un cycle typique est : se réveiller, lire le capteur, envoyer un court message et retourner en sommeil profond. La radio est le plus gros consommateur ; envoyer moins souvent, envoyer moins d'octets et utiliser des protocoles basse consommation prolongent la durée de vie de la batterie bien plus qu'un code astucieux. Mesurez la consommation réelle avec un profileur d'énergie au lieu de vous fier à la fiche technique, et testez à basse température, là où les batteries perdent de la capacité.

Modèle de données et de coûts

Avant de passer à l'échelle, estimez le coût mensuel par appareil : connectivité (SIM ou part de passerelle), messages cloud, stockage et support. Un appareil qui envoie un message par minute produit environ 43 000 messages par mois, et de nombreuses plateformes cloud facturent au message. Envoyer les données par lots, compresser les charges utiles et traiter en périphérie peut réduire la facture de façon significative.

Traitement en périphérie ou dans le cloud ?

Périphérie (sur l'appareil ou la passerelle)Cloud
Temps de réponseMillisecondesDépend du réseau
Bande passanteN'envoie que les résultatsEnvoie les données brutes
Mise à jour de la logiqueNécessite des mises à jour du firmwareFacile à modifier
Fonctionne hors ligneOuiNon
  • Temps de réponse
    Périphérie (sur l'appareil ou la passerelle)
    Millisecondes
    Cloud
    Dépend du réseau
  • Bande passante
    Périphérie (sur l'appareil ou la passerelle)
    N'envoie que les résultats
    Cloud
    Envoie les données brutes
  • Mise à jour de la logique
    Périphérie (sur l'appareil ou la passerelle)
    Nécessite des mises à jour du firmware
    Cloud
    Facile à modifier
  • Fonctionne hors ligne
    Périphérie (sur l'appareil ou la passerelle)
    Oui
    Cloud
    Non

Provisionnement et gestion des appareils

  • Donnez à chaque appareil un certificat ou une clé uniques stockés dans un élément sécurisé, non dans une mémoire flash en clair.
  • Automatisez le provisionnement en usine ou à la première connexion pour que personne ne saisisse les clés à la main.
  • Suivez les versions et l'état des appareils dans un registre pour savoir lesquels ont besoin de mises à jour.
  • Prévoyez de révoquer un appareil s'il est perdu ou compromis.

Tests et supervision

Simulez des milliers d'appareils avec des scripts avant le lancement pour trouver les goulets d'étranglement dans le courtier et la base de données. En production, journalisez les échecs de connexion, les niveaux de batterie et les versions du firmware ; la plupart des problèmes sur le terrain apparaissent d'abord sous la forme d'une consommation de batterie inhabituelle ou de boucles de reconnexion. Alerter sur « les appareils qui ont cessé de remonter des données » est plus utile que d'alerter sur des erreurs isolées.

Réglementation et normes

Les produits connectés sont réglementés. En Europe, les équipements radio doivent respecter la directive sur les équipements radioélectriques et porter le marquage CE, et de nouvelles règles européennes sur la cybersécurité des produits connectés sont introduites progressivement. Aux États-Unis, les équipements radio nécessitent l'approbation de la FCC. Vérifiez les exigences tôt, car la certification peut prendre des semaines et coûte de l'argent.

Trois exemples d'architecture

  • Capteur de climat domestique : ESP32 avec un capteur de température, Wi-Fi, MQTT vers un Raspberry Pi exécutant Mosquitto et Grafana.
  • Moniteur de sol agricole : capteur sur batterie, LoRaWAN vers une passerelle, un serveur réseau et un tableau de bord.
  • Traceur de véhicule : module GPS et modem LTE-M avec une eSIM, envoyant la position chaque minute à une plateforme cloud.

Glossaire

Courtier (broker)
Un serveur qui reçoit les messages MQTT et les remet aux abonnés.
Passerelle
Un appareil qui relie des capteurs locaux (BLE, LoRa, Zigbee) à internet.
OTA
Mise à jour du firmware à distance (over-the-air).
Sommeil profond
Un mode dans lequel le microcontrôleur ne consomme presque rien entre deux mesures.

Pour en savoir plus

  • Commencez par la documentation de la carte que vous choisissez ; l'ESP32 et le Raspberry Pi ont de vastes communautés et de nombreux tutoriels.
  • Lisez le résumé de la spécification MQTT : il est court et explique les niveaux de qualité de service.
  • Essayez l'offre gratuite d'une plateforme cloud avec quelques appareils simulés avant d'acheter du matériel en volume.
  • Suivez les avis de sécurité des bibliothèques que vous utilisez, car un composant open source vulnérable présent dans des milliers d'appareils est difficile à corriger ensuite.

Questions fréquentes

Quelle carte un débutant devrait-il acheter ?

Une carte de développement ESP32 est peu chère, offre le Wi-Fi et le Bluetooth et fonctionne avec les outils Arduino ; c'est donc un bon premier achat.

Ai-je besoin d'une plateforme cloud ?

Pas au début. Un petit courtier MQTT sur un Raspberry Pi suffit pour apprendre ; passez à une plateforme gérée quand vous avez besoin de nombreux appareils ou d'un accès à distance.

L'IoT est-il sûr par défaut ?

Non. La sécurité doit être conçue dès le départ : identifiants uniques, connexions chiffrées, mises à jour signées et moyen de révoquer des appareils.

Autres services gratuits de Globfone