Architecture IoT (Chapter 4) - Université de Gabes 2024/2025 PDF

Document Details

RockStarEnlightenment8066

Uploaded by RockStarEnlightenment8066

Institut supérieur d'informatique et de Multimédia de Gabès

2024

Université de Gabes

Dr. Mohamed MCHIRI

Tags

IoT architecture Internet of Things communication protocols cloud computing

Summary

This document (PDF) presents chapter 4 of a course on IoT architecture, focusing on gateways, communication protocols, and cloud computing. The course likely covers the fundamental concepts and practical aspects of setting up and managing IoT systems.

Full Transcript

Université de Gabes Institut supérieur d’informatique et de Multimédia de Gabes Architecture IoT Enseignant: Dr. Mohamed MCHIRI Contact: [email protected] Année universitaire : 2024/2025...

Université de Gabes Institut supérieur d’informatique et de Multimédia de Gabes Architecture IoT Enseignant: Dr. Mohamed MCHIRI Contact: [email protected] Année universitaire : 2024/2025 1 Architecture IoT Objectifs du cours L’objectif de ce cours est de :  Comprendre ce qu’est l’internet des objets  Comprendre l’architecture d’un réseau IoT pour faire communiquer les objets connectés.  Connaitre les technologies liées aux objets connectés.  Mettre en place une chaine IoT complète Dr. Mohamed MCHIRI Architecture IoT 2023 - 2024 2 Architecture IoT Plan  Chapitre 1: Introduction à l’internet des objets  Chapitre 2: Architectures IoT  Chapitre 3: Composantes physiques d’une solution IoT  Chapitre 4: Passerelle / protocoles de communication / Cloud Computing  Chapitre 5: Réalisations Dr. Mohamed MCHIRI Architecture IoT 2023 - 2024 3 Architecture IoT Chapitre 3: Composantes d’une solution IoT  Chapitre 4: Passerelle et protocoles de communications  Passerelle  Protocoles de communications  Cloud computing  Plateformes IoT Dr. Mohamed MCHIRI Architecture IoT 2023 - 2024 4 Chapitre 3 : Composantes d’une solution IoT Passerelle Les données collectées par les appareils de la couche physique doivent être transmises et traitées. C’est le travail de la couche réseau: elle connecte donc ces appareils à d’autres objets intelligents, serveurs et appareils réseau. Elle gère également la transmission de toutes les données. Un protocole de communication définit les règles standards pour communiquer entre plusieurs dispositifs numériques. Il permet de connecter un objet à un réseau, filaire ou sans-fil. Le réseau est constitué d’un ensemble d’équipements (passerelles, proxys, serveurs…) connectés entre eux et à Internet. Le protocole de communication permet la transmission et la réception des données par l’objet connecté. Une passerelle IoT est un élément d'un réseau qui permet la communication entre les réseaux à l'aide de divers protocoles. Les passerelles servent de nœuds de réseau qui permettent d'accéder à d'autres réseaux. Dr. Mohamed MCHIRI Architecture IoT 2023 - 2024 5 Chapitre 3 : Composantes d’une solution IoT Passerelle Composants pour la communication des dispositifs IoT  Communications locales - la méthode utilisée par l'appareil pour communiquer avec les appareils voisins.  Protocole d'application - cadre qui définit la manière dont le contenu de l'information est transporté.  Passerelles - traduisent et retransmettent les informations, reliant généralement les réseaux de dispositifs locaux à Internet.  Serveurs de réseau - systèmes qui gèrent l'acceptation et la transmission des données IoT , généralement situés à l'intérieur des centres de données en nuage.  Applications en nuage - traitent les données de IoT pour en faire des informations utiles, à présenter aux utilisateurs.  Interface utilisateur - où les gens voient les informations IoT , les manipulent et renvoient des commandes aux dispositifs IoT. Dr. Mohamed MCHIRI Architecture IoT 2023 - 2024 6 Chapitre 3 : Composantes d’une solution IoT Passerelle  La plupart des objets connectés ne sont pas pourvus de connections directes au réseau internet. Ils s’y connectent à travers une passerelle (gateway). Ces passerelles jouent le rôle d’intermédiaire pour connecter l’objet à internet et envoyer ses données. C’est le cas par exemple de nos box, ou de nos smartphones.  Ces passerelles fournissent tout ce qui est nécessaire en termes de connectivité, de sécurité et de management des appareils pour rendre les données disponibles sur internet. Dr. Mohamed MCHIRI Architecture IoT 2023 - 2024 7 Chapitre 3 : Composantes d’une solution IoT Passerelle  C’est un composant réseau, matériel ou virtuel, disposant de plusieurs interfaces réseau et qui:  permet de relier des réseaux de types différents (e.g. un réseau local LAN et le réseau internet)  définit les limites d'un réseau, comme : - Point d'accès (entrée) du réseau - Point d'extrémité (sortie) du réseau  permet la conversion de protocoles (contrairement aux routeurs)  Une passerelle peut être utilisée en tant que :  Pare-feu, Proxy, Qualité de Service (QoS) : Contrôle de Trafic et Performance  etc.. Dr. Mohamed MCHIRI Architecture IoT 2023 - 2024 8 Chapitre 3 : Composantes d’une solution IoT Passerelle Pourquoi avoir besoin d’une passerelle IoT ? Les implémentations de l'IoT dans le monde réel sont confrontées à un certain nombre de difficultés. La dépendance de ces capteurs à des batteries longue durée est un inconvénient important. Par conséquent, la batterie sera épuisée si vous souhaitez transférer des données directement vers le cloud, et les utilisateurs peuvent avoir besoin de recharger constamment ces appareils. En conséquence, ces capteurs utilisent un réseau maillé ou des protocoles à faible consommation comme BLE pour envoyer leurs données à la passerelle. Une fois arrivées à la passerelle, les données sont ensuite redirigées vers le cloud. Ces IoT peuvent également convertir divers protocoles en protocoles que le cloud peut comprendre. Une passerelle est donc incontestablement nécessaire à ce stade si vous devez gérer de nombreux appareils IoT devant transmettre des données dans le cloud. Dr. Mohamed MCHIRI Architecture IoT 2023 - 2024 9 Chapitre 3 : Composantes d’une solution IoT Passerelle  Passerelle vs routeur? Au sens réseau du terme (par opposition au sens Télécom): une passerelle est un routeur.  Un routeur sert d'intermédiaire dans la transmission d'un message.  Plus précisément, son rôle est de relayer / router des informations entre des hôtes distincts situés dans des réseaux différents (càd dans un inter-réseau).  Chaque routeur reçoit des données et c'est lui qui décide/calcule à qui les transmettre, en déterminant la meilleure route, grâce à des protocoles/algorithmes de routage qu'il contient.  Chaque routeur reçoit des données en entrée, sous forme de paquets, et doit décider à qui les relayer / rediriger / router  Lorsqu'il joue le rôle de passerelle (au sens réseau), un routeur détermine les limites d'un réseau. Dr. Mohamed MCHIRI Architecture IoT 2023 - 2024 10 Chapitre 3 : Composantes d’une solution IoT Passerelle  Passerelle vs routeur? Dr. Mohamed MCHIRI Architecture IoT 2023 - 2024 11 Chapitre 3 : Composantes d’une solution IoT Passerelle  Passerelle vs routeur? Exemple: le routeur domestique  Le rôle de routeur pour déterminer les meilleures routes par lesquelles acheminer/router les paquets de données  Le rôle de passerelle / gateway pour sortir du réseau local (ici : l'interface filaire ethernet rouge)  le rôle de commutateur/switch pour permettre la communication entre eux des hôtes d'un même réseau (ici: les interfaces filaires ethernet jaunes, et l'interface wifi) Dr. Mohamed MCHIRI Architecture IoT 2023 - 2024 12 Chapitre 3 : Composantes d’une solution IoT Passerelle  Exemples de passerelles IoT: Les passerelles IoT utilisent des protocoles de communication pour établir des connexions. Des communications sans fil ou filaires peuvent être utilisées pour relier les dispositifs IoT distribués à la passerelle IoT. Les IoT peuvent utiliser une variété de supports de transmission, notamment le WiFi, LoRa, Bluetooth LE, Zigbee et Z-wave, etc. Dr. Mohamed MCHIRI Architecture IoT 2023 - 2024 13 Chapitre 3 : Composantes d’une solution IoT Passerelle  Exemples de passerelles IoT: Vous pouvez décider de créer votre propre passerelle IoT et pour cela, vous aurez besoin d'un dispositif comme un routeur ou un ordinateur - quelque chose qui peut communiquer avec Internet. En plus de cela, vous avez besoin d'un logiciel qui permet de transformer les données et d'ajouter une logique à la configuration. Une option consiste à utiliser Node-red, qui est un serveur Web et un serveur IoT combinés. Il peut être installé sur une carte de développement comme un Raspberry Pi ou un Arduino. Node-red est un outil permettant de câbler ensemble des appareils matériels, des serveurs et des services en ligne de manière nouvelle et intéressante. Ce logiciel open-source construit sur Node.js ne se met pas en travers de votre chemin mais fournit les outils essentiels pour faire le travail efficacement. Dr. Mohamed MCHIRI Architecture IoT 2023 - 2024 14 Chapitre 3 : Composantes d’une solution IoT Protocoles de communication Dans le contexte des objets IoT, la communication joue un rôle essentiel pour assurer l’échange d’informations entre divers composants matériels et logiciels. Ces systèmes, souvent limités en ressources (puissance de calcul, mémoire, consommation d’énergie), nécessitent des protocoles de communication adaptés pour garantir efficacité, fiabilité et rapidité. Les protocoles de communication sont des règles et conventions définies pour permettre aux différents dispositifs de partager des données de manière cohérente. Les choix des protocoles dépendent de plusieurs critères :  Distance de communication (courte ou longue portée).  Débit requis (quantité de données à transmettre).  Fiabilité (tolérance aux erreurs et retransmissions).  Consommation énergétique (critique pour les systèmes à batterie). Dans un contexte IoT, les protocoles permettent de connecter ces dispositifs aux réseaux globaux pour transmettre, recevoir et analyser les données. La sélection du protocole doit équilibrer les besoins spécifiques de l'application et les contraintes matérielles. Dr. Mohamed MCHIRI Architecture IoT 2023 - 2024 15 Chapitre 3 : Composantes d’une solution IoT Protocoles de communication  Protocoles dans le modèle OSI Dr. Mohamed MCHIRI Architecture IoT 2023 - 2024 16 Chapitre 3 : Composantes d’une solution IoT Protocoles de communication Catégories de protocoles de communications Les protocoles de communication des systèmes embarqués peuvent être classés en deux grandes catégories : 1.Protocoles de communication internes : utilisés pour l’échange d’informations à l’intérieur d’un système ou entre des composants proches, comme les microcontrôleurs, capteurs ou actionneurs. Exemples courants : I²C, SPI et UART. 2. Protocoles de communication externes : permettent à un système embarqué de communiquer avec d'autres systèmes ou avec le monde extérieur. Exemples courants : Ethernet, Wi-Fi, Bluetooth, et Zigbee. Dr. Mohamed MCHIRI Architecture IoT 2023 - 2024 17 Chapitre 3 : Composantes d’une solution IoT Protocoles de communication 1. Protocoles de communication internes (pour la communication au sein du même dispositif) : Ces protocoles permettent la communication entre les différents composants d'un même système embarqué, comme un microcontrôleur, des capteurs ou des actionneurs. On y trouve principalement :  UART (Universal Asynchronous Receiver-Transmitter) C'est un des protocoles les plus simples utilisés pour la communication série entre deux dispositifs. Il fonctionne de manière asynchrone, ce qui signifie qu'il ne nécessite pas de signal d'horloge partagé entre l'émetteur et le récepteur. Exemple d'application : Communication entre un microcontrôleur et un module GPS. Dr. Mohamed MCHIRI Architecture IoT 2023 - 2024 18 Chapitre 3 : Composantes d’une solution IoT Protocoles de communication  SPI (Serial Peripheral Interface) Il est utilisé pour la communication à haute vitesse entre un microcontrôleur et des périphériques (comme des mémoires, des écrans, etc.). Il fonctionne sur un principe maître-esclave, où un dispositif maître contrôle la communication avec un ou plusieurs périphériques esclaves. Exemple d'application : Communication entre un microcontrôleur et un module SD  I²C (Inter-Integrated Circuit) I²C est un bus de communication série qui permet de connecter plusieurs périphériques à un même bus à l'aide de deux fils : un pour l'horloge (SCL) et un pour les données (SDA). Chaque périphérique possède une adresse unique. Exemple d'application : Communication entre un microcontrôleur et un écran LCD ou un capteur de température. Dr. Mohamed MCHIRI Architecture IoT 2023 - 2024 19 Chapitre 3 : Composantes d’une solution IoT Protocoles de communication 2. Protocoles de communication externes (pour permettre la connectivité au réseau) : Ces protocoles permettent la communication à une portée (courte, moyenne ou longue), souvent entre des systèmes embarqués et des serveurs, d'autres appareils ou des plateformes. Les communications entre les appareils et les services cloud ou les passerelles impliquent différentes technologies:  Filaire: Ethernet  Sans fils:  Les réseaux longue portée:  LPWAN (Low-power Wide-area Network): privés (Sigfox, LoRaWan) et publics (NB-IoT, LTE-M)  Réseaux cellulaires: 2G à 5G  Les réseaux courte portée:  WiFi , Z-Wave, Bluetooth Low Energy, ZigBee, RFID, Enocean, NFC (Near Field Communication) Dr. Mohamed MCHIRI Architecture IoT 2023 - 2024 20 Chapitre 3 : Composantes d’une solution IoT Protocoles de communication Classification des réseaux: On distingue:  Les réseaux filaires  Les réseaux filaires:  LAN  MAN  WAN  Les réseaux sans fils (Wireless) :  WPAN  LAN: ETHERNET (IEEE 802.3) : offre un débit de 100Mbs jusqu'à 1Gbs  WLAN  WMAN  WWAN Dr. Mohamed MCHIRI Architecture IoT 2023 - 2024 21 Chapitre 3 : Composantes d’une solution IoT Protocoles de communication  Communication Filaire  Ethernet: désigne une technologie qui permet aux dispositifs des réseaux de données câblés de communiquer entre eux. Les appareils connectés dans un réseau Ethernet peuvent former un réseau et échanger des paquets de données. De cette façon, un réseau local (LAN) est créé via des connexions Ethernet.  Chaque appareil d’un réseau Ethernet dispose de sa propre adresse MAC (48 bits). Les membres de ce réseau partagé peuvent transmettre des messages à haute fréquence.  Les protocoles Ethernet permettent aujourd’hui des vitesses allant jusqu’à 1 000 mégabits par seconde.  Il connecte des appareils IoT fixes tels que des caméras de sécurité et vidéo, des équipements industriels installés en permanence. Dr. Mohamed MCHIRI Architecture IoT 2023 - 2024 22 Chapitre 3 : Composantes d’une solution IoT Protocoles de communication  Exemple de cartes Ethernet: LAN8720  C’est un Module réseau électronique intelligent LAN8720, carte de développement d'interface ETH RMII, émetteur-récepteur Ethernet  Ce module de port réseau utilise la puce émetteur-récepteur de couche PHY Ethernet 10/100 Mbps basse consommation LAN8720.  Il Prend en charge la communication avec le contrôleur de couche Ethernet MAC via l'interface RMII.  Le LAN8720 peut se connecter à l'hôte de destination de manière optimale au moyen de l'auto-négociation (vitesse et mode duplex); Dr. Mohamed MCHIRI Architecture IoT 2023 - 2024 23 Chapitre 3 : Composantes d’une solution IoT Protocoles de communication  Communication sans fils (Wireless): Deux grandes catégories de réseaux sans fils existent sur le marché :  Les réseaux à courte portée comme le Wifi, le Z-Wave, le ZigBee, ou encore le Bluetooth Low Energy, permettent de transférer des données sur de faibles distances. Ils sont utilisés dans la domotique ou sur le marché des wearables (montres connectées, vêtements intelligents, …).  Les réseaux longue portée : on distingue les réseaux basse consommation dits LWPAN comme Sigfox, LoRa et les technologies cellulaires (GSM, 2G, 3G, 4G, 5G). Ces deux types de réseaux longue portée sont capables de faire transiter des data d'un appareil à l'autre sur de vastes distances. Ils sont utilisés par les entreprises qui veulent connecter des kilomètres d'infrastructures à Internet ou dans des projets IoT. Dr. Mohamed MCHIRI Architecture IoT 2023 - 2024 24 Chapitre 3 : Composantes d’une solution IoT Protocoles de communication A. Les réseaux à courte portée Dr. Mohamed MCHIRI Architecture IoT 2023 - 2024 25 Chapitre 3 : Composantes d’une solution IoT Protocoles de communication Le Wi-Fi: (Wireless Fidelity)  C’est le nom d'une certification accordée au matériel qui répond à la norme IEEE 802.11. Par extension, on parle de réseau WiFi pour désigner les réseaux "Ethernet" sans fils qui respecte la norme IEEE 802.11  Le matériel WiFi communique via des ondes radio, fort semblables à celles des walkies-talkies ou des GSM mais avec des fréquences plus hautes : 2,4GHz ou 5 GHz, ce qui autorise le transport de plus grands volumes de données.  Le Wi-Fi utilise le protocole Internet (IP) pour communiquer entre les périphériques finaux et le réseau local.  Une connexion Wi-Fi est établie à l'aide d'un routeur sans fil connecté au réseau et permettant aux appareils d'accéder à Internet. Il utilise le protocole TCP/IP pour connecter des systèmes embarqués à internet.  Son inconvénient majeur qu’il est très énergivore et ne peut être utilisé que pour des appareils branchés au secteur, dans la maison par exemple. Dr. Mohamed MCHIRI Architecture IoT 2023 - 2024 26 Chapitre 3 : Composantes d’une solution IoT Protocoles de communication Une fonction pour vous connecter à votre réseau WiFi local Le module wlan et ses fonctionnalités sur micropython Dr. Mohamed MCHIRI Architecture IoT 2023 - 2024 27 Chapitre 3 : Composantes d’une solution IoT Protocoles de communication Zwave: Z-Wave est une technologie sans fil à faible consommation conçue pour les applications domotiques IoT. Il offre une communication fiable et à faible latence de petits paquets de données avec des débits allant jusqu’à 100 kbit/s. Z-Wave fonctionne à 868 MHz dans la région européenne et à 915 MHz en Amérique du Nord et en Australie, offrant un débit de données de 100 Kbps  C’est un protocole de communication dédié à la domotique. Sans fil, il est facile à installer dans la maison. Il a une portée de base de 30 mètres.  C'est un réseau maillé, c'est-à-dire que chaque appareil connecté au système est émetteur de données mais peut aussi relayer celles qui sont émises par ses voisins. Cela permet d'élargir sa portée.  Le protocole Z-Wave est également très sécurisé. Il utilise un chiffrement de bout en bout pour garantir la confidentialité des données, et chaque équipement Z-Wave dispose d’un identifiant unique qui est vérifié lors de la connexion.  Le protocole Z-Wave utilise une fréquence de radio spécifique qui n’interfère pas avec d’autres appareils électroniques, tels que les réseaux Wi-Fi et Bluetooth. Dr. Mohamed MCHIRI Architecture IoT 2023 - 2024 28 Chapitre 3 : Composantes d’une solution IoT Protocoles de communication ZigBee:  C'est un protocole sans fil conçu pour les communications à faible puissance sur des distances relativement courtes, souvent utilisé dans des réseaux de capteurs ou des systèmes de contrôle. Il permet de faire circuler plus de données que le Z-Wave (jusqu'à 250 kbps, contre 100 maximum).  Ce protocole fonctionne en réseau maillé. Chaque nœud Zigbee peut gérer 255 devices et servir de routeur, de sorte qu'il peut y avoir plus de 65 000 périphériques connecté à un même réseau Zigbee  Il est également moins cher et plus facile à implémenter pour les fabricants d'objets connectés que le Z-Wave ou le Bluetooth (dans sa version 4, dite Low Energy comme dans sa version 5, qui vient d'être standardisée).  Ce réseau n'a que 10 mètres de portée en moyenne soit 20 de moins que le Z-Wave et 50 de moins que le Bluetooth Low Energy.  Zigbee sert à faire communiquer les objets connectés de la maison sans avoir recourt au Wifi.  L'un de ses avantages est de ne consommer que très peu d'énergie. Dr. Mohamed MCHIRI Architecture IoT 2023 - 2024 29 Chapitre 3 : Composantes d’une solution IoT Protocoles de communication Bluetooth:  C’est un protocole de communication sans fil très largement utilisé dans le monde. Quasiment tous les smartphones sont équipés de cette techno, fréquemment utilisée pour faire communiquer les wearables.  Il a une portée de 60 mètres en terrain dégagé et "consomme environ 20 fois moins d'énergie que le Wi-Fi’’.  La dernière version de cette techno, le Bluetooth 5, est plus adaptée à l'IoT et dispose d'une portée deux fois supérieure à celle de son aînée.  Ce réseau de courte portée permet de transporter nettement moins d'infos que le Wi-Fi : 1 mbps (Mega bits /sec) seulement, même si le nouveau standard permet de transférer quatre fois plus de données. Dr. Mohamed MCHIRI Architecture IoT 2023 - 2024 30 Chapitre 3 : Composantes d’une solution IoT Protocoles de communication RFID: Radio Frequency Identification  C’est une technologie d'identification par radiofréquence, elle ne comporte donc aucune batterie. C'est l'énergie radio qui permet d'identifier des objets et de transmettre l'information par un code d'identification.  La RFID s'utilise à courte distance - du contact à un quelques centimètres (NFC) et jusqu'à 15 mètres en haute fréquence (UHF).  Cette technologie est utilisée dans l’identification, la gestion des stocks ou la traçabilité.  Un lecteur doit nécessairement se situer dans le champ du tag pour pouvoir en récupérer les données, ce qui représente un inconvénient pour les entreprises qui doivent réfléchir à l'installation. Dr. Mohamed MCHIRI Architecture IoT 2023 - 2024 31 Chapitre 3 : Composantes d’une solution IoT Protocoles de communication NFC: Near Field Communication  La communication en champ proche (NFC) est un protocole de communication radio à ultra-courte portée. Elle utilise la norme ISO/IEC 18000-3 et la bande de fréquence ISM 13,56 MHz. Elle fournit un débit de 100-420 Kbps et une portée allant jusqu’à 20 cm.  Grâce à une puce, cette technologie permet la transmission de données entre deux appareils situés à quelques centimètres de distance.  La NFC utilise la même fréquence que la RFID, mais sur un nombre de bandes de fréquence réduit et n’émet que sur une dizaine de centimètres.  Depuis 2010, elle a commencé à équiper les smartphones.  Avec la NFC, votre smartphone peut aussi devenir un lecteur d’informations. En contact avec un tag NFC (ou étiquette NFC), celui-ci va afficher les informations stockées dans la puce. Dr. Mohamed MCHIRI Architecture IoT 2023 - 2024 32 Chapitre 3 : Composantes d’une solution IoT Protocoles de communication B. Les réseaux à longue portée Dr. Mohamed MCHIRI Architecture IoT 2023 - 2024 33 Chapitre 3 : Composantes d’une solution IoT Protocoles de communication Les réseaux cellulaires Le Réseau cellulaire est un réseau sans fil qui permet aux appareils mobiles de communiquer entre eux et avec Internet.  Il s'agit d'un système complexe de cellules interconnectées qui transmettent des signaux radio vers et depuis des appareils mobiles. Chaque cellule est équipée d'une station de base qui communique avec les appareils mobiles de cette cellule.  Les plus connus actuellement étant la 5G et la 4G, elles offrent un transfert de données fiable et une couverture presque mondiale.  Il existe plusieurs types de réseaux cellulaires différents, chacun avec ses propres caractéristiques et capacités. Les types de réseaux sans fil cellulaires les plus courants sont 2G, 3G, 4G et 5G.  Ils ne conviennent pas à la plupart des applications IoT en raison de leur consommation d’énergie élevée et de leurs coûts de mise en œuvre élevés. Dr. Mohamed MCHIRI Architecture IoT 2023 - 2024 34 Chapitre 3 : Composantes d’une solution IoT Protocoles de communication LPWAN: Low Power Wide Area Network  Pour transmettre un signal sans fil sur une longue distance, on peut :  Soit augmenter la puissance du signal ;  Soit réduire sa bande passante ;  Soit faire les deux. (le cas d’un tuyau d’eau) LPWAN (Low-power Wide-area Network): a été créée spécifiquement pour les appareils IoT. Cette technologie offre une connectivité sans fil longue portée avec une faible consommation d’énergie avec une autonomie de plus de 10 ans.  On trouve deux grandes catégories du réseau LPWAN:  Les réseaux LPWAN privés (Sigfox, LoRaWan)  Les réseaux LPWAN publics (NB-IoT, LTE-M) Dr. Mohamed MCHIRI Architecture IoT 2023 - 2024 35 Chapitre 3 : Composantes d’une solution IoT Protocoles de communication LoRaWan Sigfox  LoRaWAN est un protocole de communication WAN sans  Un protocole bas débit conçu pour transporter les fil basse consommation dans la plage de fréquences sub- information en consommant le moins d’énergie possible. GHz (433/868/915 MHz). Il a un débit de données  Grâce à Sigfox des capteurs sans fil sur piles peuvent avoir typique de 0,3 à 50 Kbps et peut couvrir jusqu’à 15 km de une autonomie de plusieurs années. portée. La distance plus élevée est obtenue en abaissant  La grande pénétration des ondes radio Sigfox permet de dynamiquement les débits de données. capter le signal de capteurs en sous sol.  Il possède des portées de communication sur de longues  Il a une portée qui peut être supérieure à 10 km. distances, qui diffèrent en fonction des applications.  Sigfox ne permet de transporter que de très faibles  Il est conçu pour fournir une communication à faible quantités de données, entre 10 et 100 bits par seconde consommation, à faible coût, sécurisée et en duplex maximum (bps) intégral pour les applications IoT, M2M, de villes intelligentes et industrielles. Dr. Mohamed MCHIRI Architecture IoT 2023 - 2024 36 Chapitre 3 : Composantes d’une solution IoT Protocoles de communication Le bilan Dr. Mohamed MCHIRI Architecture IoT 2023 - 2024 37 Chapitre 3 : Composantes d’une solution IoT Protocoles de communication  Critères de choix d’un protocole de communication Lors de la qualification de votre projet, des nombreux critères sont à prendre en compte pour définir le périmètre fonctionnel de chaque système embarqué :  La couverture du réseau - L’environnement - La distance de communication  Le débit ou bande passante - Le volume des données échangées  La périodicité de transmission des informations : l’objet communiquera-t-il en permanence ou bien ponctuellement ?  La consommation d’énergie - Le coût du service  D’autres caractéristiques: disponibilité, objets fixes ou mobiles, localisation des objets, niveau de sécurité, type d’opérateur de réseau, durée de vie des batteries, type de plateforme IoT. Dr. Mohamed MCHIRI Architecture IoT 2023 - 2024 38 Chapitre 3 : Composantes d’une solution IoT Protocoles de communication 3. Protocoles d’application  Ces protocoles fonctionnent principalement au niveau de la couche application (couche 7 du modèle OSI). Ils définissent comment les données doivent être organisées et transmises entre les applications ou entre un client et un serveur.  Tandis que les protocoles de connectivité garantissent la communication physique entre les dispositifs (comme Wi-Fi, Zigbee ou Z-Wave), les protocoles d'application sont responsables de la gestion des échanges d'informations à un niveau supérieur, permettant aux systèmes de communiquer et de comprendre les données échangées.  Ces protocoles définissent la manière dont les données sont structurées, envoyées, reçues et traitées entre les appareils ou entre un appareil et un serveur.  Les protocoles d'application sont nécessaires pour assurer la communication logique entre les systèmes, ce qui permet l'intégration des dispositifs dans des réseaux IoT complexes ou des environnements industriels.  Sans ces protocoles, les informations échangées seraient incompréhensibles ou non structurées, rendant la communication entre les systèmes inefficace Dr. Mohamed MCHIRI Architecture IoT 2023 - 2024 39 Chapitre 3 : Composantes d’une solution IoT Protocoles de communication Quelques exemples de protocoles d'application : 1. MQTT (Message Queuing Telemetry Transport) :  Type : Protocole léger de messagerie Usage : Principalement utilisé pour la communication Machine-to- Machine (M2M) et Internet des Objets (IoT). Caractéristiques :  Basé sur le modèle de publication-abonnement : Un dispositif (éditeur) publie des messages sur un "topic", et d'autres dispositifs (abonnés) reçoivent ces messages.  Faible consommation de bande passante et faible puissance : Adapté aux systèmes à faible capacité, souvent utilisé dans des environnements où la connectivité réseau est intermittente.  Fiable et léger, avec des niveaux de qualité de service (QoS) pour garantir la livraison des messages.  Exemple d'application : Surveillance de capteurs de température dans un réseau de capteurs IoT. Dr. Mohamed MCHIRI Architecture IoT 2023 - 2024 40 Chapitre 3 : Composantes d’une solution IoT Protocoles de communication 2. HTTP (HyperText Transfer Protocol)  Type : Protocole de communication pour la navigation web  Usage : Utilisé pour la communication sur le web entre un client (souvent un navigateur web) et un serveur web.  Caractéristiques : Protocole de demande-réponse : Le client envoie une demande HTTP et le serveur répond avec une réponse.  Basé sur le modèle client-serveur.  Asynchrone, généralement utilisé sur des réseaux IP comme Internet.  Stateless : Chaque demande est indépendante des autres.  Exemple d'application : Accès à des pages web depuis un navigateur ou récupération de données via des API REST. Dr. Mohamed MCHIRI Architecture IoT 2023 - 2024 41 Chapitre 3 : Composantes d’une solution IoT Protocoles de communication 3. SMTP (Simple Mail Transfer Protocol)  Type : Protocole de communication pour l'envoi de courriers électroniques  Usage : Utilisé pour l'envoi d'emails d'un client vers un serveur de messagerie ou d'un serveur à un autre.  Caractéristiques : Protocole de transfert de messages : Permet de transférer des emails entre les serveurs de messagerie et d'envoyer des messages depuis un client de messagerie.  Basé sur un modèle client-serveur : Le client envoie un message à un serveur SMTP, qui transmet le message au serveur de destination.  Ne prend pas en charge la réception des emails  Exemple d'application : Envoi d'un email via un serveur SMTP depuis une application ou un client de messagerie. Dr. Mohamed MCHIRI Architecture IoT 2023 - 2024 42 Chapitre 3 : Composantes d’une solution IoT Protocoles de communication 4. CoAP (Constrained Application Protocol)  Type : Protocole léger pour les dispositifs contraints  Usage : Conçu pour les systèmes embarqués à faible consommation et les applications IoT.  Caractéristiques : Protocole de transfert de données basé sur le modèle client-serveur, similaire à HTTP, mais avec une empreinte mémoire et énergétique beaucoup plus faible.  Utilise UDP (User Datagram Protocol) plutôt que TCP, ce qui permet une communication plus rapide et moins gourmande en ressources, mais avec moins de fiabilité que TCP.  Optimisé pour les réseaux contraints : Adapté aux capteurs, appareils avec des ressources limitées, réseaux à faible bande passante.  Exemple d'application : Communication entre un capteur de température et un serveur central dans une application IoT. Dr. Mohamed MCHIRI Architecture IoT 2023 - 2024 43 Chapitre 3 : Composantes d’une solution IoT Protocoles de communication 5. AMQP (Advanced Message Queuing Protocol)  Type : Protocole de messagerie asynchrone  Usage : Utilisé dans les systèmes distribués pour garantir une communication fiable et efficace entre les applications, souvent dans des environnements nécessitant un échange de messages complexes.  Caractéristiques : AMQP est un protocole de messagerie orienté file d'attente, qui permet l'échange de messages entre différentes applications ou services.  Fiabilité : Il assure la garantie de livraison des messages, même en cas de défaillance du système.  Sécurité et routage : AMQP supporte des mécanismes de sécurité comme l'authentification et le chiffrement, ainsi que des fonctions avancées de routage des messages.  Utilisé dans des applications d'entreprise ou dans des systèmes IoT complexes où une communication fiable entre les composants distribués est nécessaire.  Exemple d'application : Systèmes IoT de gestion de flotte, où des capteurs communiquent de manière fiable avec un serveur central pour suivre en temps réel l'état des véhicules. Dr. Mohamed MCHIRI Architecture IoT 2023 - 2024 44 Chapitre 3 : Composantes d’une solution IoT Protocoles de communication  En résumé.. Dr. Mohamed MCHIRI Architecture IoT 2023 - 2024 45 Chapitre 3 : Composantes d’une solution IoT Cloud Computing  Le cloud s’agit essentiellement d’un terme utilisé pour décrire un réseau global de serveurs ayant chacun une fonction unique. Le cloud n’est pas une entité physique, mais un vaste réseau de serveurs distants éparpillés tout autour de la planète, reliés entre eux, et destinés à fonctionner comme un écosystème unique. Ces serveurs sont conçus pour stocker et gérer des données, exécuter des applications, ou fournir du contenu ou des services (vidéos diffusées en continu, courrier web, logiciels bureautiques de productivité et autres réseaux sociaux).  Au lieu d’accéder à des fichiers et données stockés sur un ordinateur local ou personnel, vous accédez à ces ressources en ligne à partir de n’importe quel appareil compatible avec Internet : les informations sont disponibles en tout lieu et en tout temps. Dr. Mohamed MCHIRI Architecture IoT 2023 - 2024 46 Chapitre 3 : Composantes d’une solution IoT Cloud Computing  Le cloud computing est la fourniture de services informatiques (notamment les serveurs, le stockage, les bases de données, la gestion réseau, les logiciels, les outils d’analyse et la veille) via Internet (le cloud) dans le but d’accélérer l’innovation, d’offrir des ressources flexibles et de profiter d’économies d’échelle.  Le cloud computing fournit un espace de stockage de données IoT et offre des services de visualisation, analyse et archivage des données.  En règle générale, vous payez uniquement les services cloud que vous utilisez (réduisant ainsi vos coûts d’exploitation), gérez votre infrastructure plus efficacement et adaptez l’échelle des services en fonction des besoins de votre entreprise. Dr. Mohamed MCHIRI Architecture IoT 2023 - 2024 47 Chapitre 3 : Composantes d’une solution IoT Cloud Computing Principaux avantages du cloud computing Le cloud computing est différent de l’approche traditionnelle que les entreprises adoptent en matière de ressources informatiques. Voici 7 raisons pour lesquelles les organisations optent pour des services de cloud computing :  Coût: optimiser les couts informatiques (matériels et logiciels)  Mise à l’échelle mondiale: mettre en œuvre la quantité nécessaire de ressources informatiques  Performances: un temps de latence réseau réduit pour les applications  Sécurité: protéger vos données, vos applications et votre infrastructure contre des menaces potentielles.  Vitesse: les services de cloud computing sont fournis en libre-service et à la demande.  Productivité: concrétiser les objectifs des entreprises  Fiabilité: Le cloud computing simplifie la sauvegarde des données et la continuité des activités. Dr. Mohamed MCHIRI Architecture IoT 2023 - 2024 48 Chapitre 3 : Composantes d’une solution IoT Cloud Computing Types de cloud computing Il existe trois modes de déploiement de services cloud: 1. Cloud public: Dans un cloud public, tout le matériel, tous les logiciels et toute l’infrastructure sont la propriété du fournisseur du cloud. Vous accédez à ces services et vous gérez votre compte par l’intermédiaire d’un navigateur web. Microsoft Azure est un exemple de cloud public. 2. Cloud privé: Le cloud privé est un cloud dans lequel les services et l’infrastructure se trouvent sur un réseau privé. Ce type offre des services accessibles via un réseau interne privé généralement hébergé localement, 3. Cloud hybride: regroupe des clouds publics et privés, liés par une technologie leur permettant de partager des données et des applications. Dr. Mohamed MCHIRI Architecture IoT 2023 - 2024 49 Chapitre 3 : Composantes d’une solution IoT Cloud Computing Types de services cloud : IaaS, PaaS et SaaS La plupart des services de cloud computing peuvent être classés en trois grandes catégories : IaaS (infrastructure as a service), PaaS (platform as a service) et SaaS (software as a service). On les appelle parfois "pile" de cloud computing.  IaaS: La catégorie la plus basique des services de cloud computing. Avec l’IaaS, vous louez une infrastructure informatique (serveurs, machines virtuelles, stockage, réseaux et systèmes d’exploitation) auprès d’un fournisseur de services cloud, avec un paiement en fonction de l’utilisation.  PaaS: se rapporte au service de cloud computing qui offre un environnement à la demande pour le développement, le test, la diffusion et la gestion des applications logicielles. L’infrastructure PaaS est conçue pour permettre aux développeurs de créer rapidement des applications web ou mobiles sans avoir à se préoccuper de la configuration ou de la gestion de l’infrastructure de serveurs, de stockage, de réseau et de bases de données nécessaire au développement.  SaaS: est une méthode de diffusion d’applications logicielles via Internet, à la demande et en général sur abonnement. Avec le SaaS, les fournisseurs de services cloud hébergent et gèrent les applications logicielles et l’infrastructure sous-jacente, et gèrent la maintenance, par exemple la mise à niveau des logiciels et l’application des correctifs de sécurité. Les utilisateurs se connectent à l’application via Internet, en général par l’intermédiaire d’un navigateur web sur leur téléphone, leur tablette ou leur PC. Dr. Mohamed MCHIRI Architecture IoT 2023 - 2024 50 Chapitre 3 : Composantes d’une solution IoT Cloud Computing Fournisseurs de service cloud Une fois que vous avez pris la décision de passer au cloud computing, vous devez choisir un fournisseur de services cloud. Il est crucial d’évaluer la fiabilité et les capacités du fournisseur de services auquel vous envisagez de confier les applications et les données de votre organisation. Un fournisseur de services cloud est une société tierce offrant des services cloud de plateforme, d’infrastructure, d’application ou de stockage. Tout comme un propriétaire paierait pour un service public tel que la distribution d’électricité ou de gaz, les entreprises ne doivent généralement payer que pour le volume de services cloud qu’elles utilisent en fonction de la demande. On trouve principalement:  Service Web Amazon (AWS)  Microsoft Azure  Google Cloud  IBM Cloud  Cloud Oracle  Digital Ocean Dr. Mohamed MCHIRI Architecture IoT 2023 - 2024 51 Chapitre 3 : Composantes d’une solution IoT Plateformes IoT Une plateforme d’IoT est un ensemble de services permettant de collecter, stocker, corréler, analyser et exploiter les données. Une plateforme est donc un ensemble d’APIs et drivers de communication, de bases de données, de services de traitements et de calculs et bien souvent un web service pour générer des tableaux de bords de visualisation et d’exploitation. Dr. Mohamed MCHIRI Architecture IoT 2023 - 2024 52 Chapitre 3 : Composantes d’une solution IoT Plateformes IoT Afin de rester compétitives, les entreprises doivent innover et créer d’avantage de valeur pour augmenter leur chiffre d’affaires ou pour améliorer leur productivité. La mise en place d’une plateforme IoT permet notamment de :  proposer de nouveaux services à vos équipes métiers et/ou à vos clients  mieux surveiller votre parc d’objets connectés  vous fournir des indicateurs pour faciliter vos prises de décision  connecter le matériel, comme les capteurs et les dispositifs,  gérer différents protocoles de communication hardware et software,  assurer la sécurité et l'authentification des dispositifs et des utilisateurs,  collecter, visualiser et analyser les données recueillies par les capteurs et les appareils,  intégrer tout ce qui précède avec les systèmes d'entreprise existants et d'autres services web Dr. Mohamed MCHIRI Architecture IoT 2023 - 2024 53 Chapitre 3 : Composantes d’une solution IoT Plateformes IoT Comment choisir une plateforme IoT ? Une plateforme IoT est un ensemble de services et chaque plateforme dispose d’avantages spécifiques en fonction de leurs services. Il existe deux types de plateformes :  Les propriétaires: ces sont des solutions de type PaaS (Plateforme As A Service). La plupart du temps, ces plateformes sont hébergées dans le Cloud. Elles permettent le partage des responsabilités, car le prestataire aura la charge du maintien opérationnel de tous les environnements.  Les open-source: demandent plus de temps et de technique, vu qu’elles nécessitent le développement de l’ensemble des services, la maintenance des outils, de l’infrastructure et des applications, mais elles sont ouvertes. Les développeurs peuvent en modifier le code pour l'adapter à leurs besoins et ils bénéficient de l'apport de l'ensemble de la communauté pour renforcer les paramètres de sécurité par exemple. Dr. Mohamed MCHIRI Architecture IoT 2023 - 2024 54 Chapitre 3 : Composantes d’une solution IoT Plateformes IoT Comment choisir une plateforme IoT ? Les critères à prendre en considération pour choisir une plateforme IoT: 1. La gestion des devices: Une plateforme IoT doit avoir vocation à connecter et gérer l’ensemble d’appareils hétérogènes sur une interface unique. 2. La gestion de la connectivité: Une plateforme IoT se doit de supporter un large éventail de protocoles de communication. 3. La Visualisation de la donnée: La qualité des algorithmes permettant une analyse fine de la donnée, l’éventail des possibilités des tableaux de bords pour visualiser l’information. 4. La Sécurité des objets et des données: Une plateforme IoT doit garantir la sécurité et la confidentialité des données de bout en bout, de la captation jusqu’à la restitution. 5. Le degré d’agilité: Une plateforme IoT doit avoir la capacité de s’adapter rapidement et garantir une solution pérenne à ses utilisateurs. Dr. Mohamed MCHIRI Architecture IoT 2023 - 2024 55 Chapitre 3 : Composantes d’une solution IoT Plateformes IoT Principales plateformes IoT  Amazon Web Services IoT (AWS)  IBM Watson  Microsoft Azure Cloud IoT  Google Cloud IoT  Oracle Integrated Cloud for IoT  Cisco Jasper Control Center  Cisco IoT Cloud  Digora IoT HUB Dr. Mohamed MCHIRI Architecture IoT 2023 - 2024 56 Annexes Annexe 1: SMTP – envoyer des données d’un capteur par email Envoyez les relevés du capteur BME280 par e-mail avec l’ESP32/ESP826 Dans cet exemple, on veut envoyer les mesures de la température, l’humidité et la pression issues d’un capteur BME280 par email utilisant le protocole SMTP. Pour envoyer les e-mails, nous utiliserons le module uMail. Cette bibliothèque ne fait pas partie de la bibliothèque MicroPython standard par défaut. Vous devez donc télécharger le fichier sur votre carte ESP32/ESP8266 et l’enregistrer sous le nom umail.py De même pour le capteur BME280 (fichier BME280.py) Dr. Mohamed MCHIRI Architecture IoT 2023 - 2024 57 Annexes SMTP – envoyer des données d’un capteur par email Envoyez lesrelevés Envoyez les relevés du capteur BME280 par e-mail avec l’ESP32/ESP826 Paramètres du serveur SMTP Pour envoyer des e-mails avec les cartes ESP32 ou ESP8266, vous avez besoin d’une adresse e-mail d’expéditeur et vous devez connaître les paramètres de votre serveur SMTP de messagerie. Vous trouverez ci-dessous les paramètres des fournisseurs de messagerie Gmail et Outlook. Paramètres du serveur SMTP Gmail Paramètres du serveur Outlook SMTP Si vous utilisez un compte Gmail, voici les détails du serveur SMTP : Pour les comptes Outlook, voici les paramètres du serveur  Serveur SMTP : smtp.gmail.com SMTP :  Nom d’utilisateur SMTP : adresse Gmail complète  Serveur SMTP : smtp.office365.com  Mot de passe SMTP : votre mot de passe Gmail  Nom d’utilisateur SMTP : Adresse e-mail Outlook complète  Port SMTP (TLS) : 587  Mot de passe SMTP : votre mot de passe Outlook  Port SMTP (SSL) : 465  Port SMTP : 587  SMTP TLS/SSL requis : oui  SMTP TLS/SSL requis : Oui Dr. Mohamed MCHIRI Architecture IoT 2023 - 2024 58 Annexes SMTP – envoyer des données d’un capteur par email Envoyez les relevés du capteur BME280 par e-mail avec l’ESP32/ESP826 import umail # BME280 pin assignment - ESP32 import network i2c = SoftI2C(scl=Pin(22), sda=Pin(21), freq=10000) bme = import BME280 BME280.BME280(i2c=i2c) from machine import Pin, SoftI2C def read_bme_sensor(): # Your network credentials try: ssid = 'YOUR_SSID’ temp = str(bme.temperature[:-1]) + " ºC" password = 'YOUR_PASSWORD’ hum = str(bme.humidity[:-1]) + " %" # Email details pres = str(bme.pressure[:-3]) + " hPa" sender_email = 'THE_SENDER_EMAIL’ return temp, hum, pres sender_name = 'ESP32’ except OSError as e: sender_app_password ='THE_SENDER_EMAIL_PASSWORD’ return('Failed to read sensor.') recipient_email ='THE_RECIPIENT_EMAIL’ email_subject =‘BME sensor readings’ Dr. Mohamed MCHIRI Architecture IoT 2023 - 2024 59 Annexes SMTP – envoyer des données d’un capteur par email Envoyez les relevés du capteur BME280 par e-mail avec l’ESP32/ESP826 # Get sensor readings temp, hum, pres = read_bme_sensor() print(temp) def connect_wifi(ssid, password): print(hum) #Connect to your network print(pres) station = network.WLAN(network.STA_IF) station.active(True) # Send the email station.connect(ssid, password) smtp = umail.SMTP('smtp.gmail.com', 465, ssl=True) while station.isconnected() == False: smtp.login(sender_email, sender_app_password) smtp.to(recipient_email) pass smtp.write("From:" + sender_name + "\n") print('Connection successful’) smtp.write("Subject:" + email_subject + "\n") print(station.ifconfig()) smtp.write("Hello from ESP32") smtp.send() # Connect to your network smtp.quit() connect_wifi(ssid, password) Dr. Mohamed MCHIRI Architecture IoT 2023 - 2024 60 Annexes SMTP – envoyer des données d’un capteur par email Envoyez les relevés du capteur BME280 par e-mail avec l’ESP32/ESP826 Dr. Mohamed MCHIRI Architecture IoT 2023 - 2024 61 Annexes Annexe 2: MQTT – envoyer des relevés d’un capteur à une plateforme MQTT : Message Queue Telemetry Transport (MQTT – Transport de télémétrie de file d’attente de messages)  MQTT, également connu sous le nom de protocole d’abonnement/publication, est un protocole de messagerie léger, ainsi que celui préféré pour les appareils IoT. Il collecte les données de divers appareils et supervise les appareils distants.  Il fonctionne avec le protocole TCP (Transmission Control Protocol) et prend en charge l’échange de messages événementiel via des réseaux sans fil. MQTT est principalement utilisé dans les appareils qui nécessitent moins de mémoire d’alimentation, par exemple, les capteurs embarqués et les montres intelligentes. Dr. Mohamed MCHIRI Architecture IoT 2023 - 2024 62 Annexes MQTT – envoyer des relevés d’un capteur à une plateforme Vue d’ensemble du protocole MQTT: MQTT est l’abréviation de Message Queuing Telemetry Transport. MQTT est un protocole de messagerie simple, conçu pour les appareils contraints avec une faible bande passante. C’est donc la solution idéale pour échanger des données entre plusieurs appareils IoT. La communication MQTT fonctionne comme un système de publication (publish) et d’abonnement (subscribe). Les appareils publient des messages sur un sujet spécifique. Tous les appareils abonnés à cette rubrique reçoivent le message. Ses principales applications comprennent l’envoi de messages pour contrôler les sorties, lire et publier des données à partir de nœuds de capteurs et bien plus encore. Dr. Mohamed MCHIRI Architecture IoT 2023 - 2024 63 Annexes MQTT – envoyer des relevés d’un capteur à une plateforme Vue d’ensemble du protocole MQTT: De même, nous pouvons une valeur de capteur d’un client (Publisher) et l’envoyer à un client (subscriber). Nous pouvons envoyer un message d’un client (Publisher) à un client (subscriber) pour contrôler une lampe. Entre publisher et subscriber se trouve un broker qui gère les messages. En effet, chaque publisher peut envoyer des messages à plusieurs subsribers. Un broker est chargé de filtrer les messages et de les envoyer à tous les subsribers. Dr. Mohamed MCHIRI Architecture IoT 2023 - 2024 64 Annexes MQTT – envoyer des relevés d’un capteur à une plateforme Vue d’ensemble du protocole MQTT: Les concepts de base du protocole MQTT: Publish / Subscribe – Messages / Topics / Broker MQTT – Publish/Subscribe MQTT – Messages Un appareil peut publier un message sur une rubrique, ou il Les messages sont les informations que vous souhaitez peut être abonné à une rubrique particulière pour recevoir échanger entre vos appareils. Il peut s’agir d’un message des messages comme une commande ou de données comme les lectures des capteurs, par exemple.  Par exemple, l’appareil 1 publie sur un sujet.  L’appareil 2 est abonné à la même rubrique que l’appareil 1.  Ainsi, l’appareil 2 reçoit le message. Dr. Mohamed MCHIRI Architecture IoT 2023 - 2024 65 Annexes MQTT – envoyer des relevés d’un capteur à une plateforme MQTT – Topics Les topics correspondent à la façon dont vous spécifiez l’emplacement où vous souhaitez publier le message. Elles sont représentées par des chaînes séparées par une barre oblique. Chaque barre oblique indique un niveau de sujet. Voici un exemple : (une lampe dans votre bureau à 1. Un appareil publie des messages « on » et « off » sur le topic domicile) : 2. L’ESP32 qui contrôle votre lampe, est abonné à ce même topic 3. Ainsi, lorsqu’un nouveau message est publié sur ce topic, l’ESP32 reçoit les messages « on » ou « off » et allume ou éteint la lampe. L’appareil qui publie les messages peut être un ESP32, un ESP8266 ou une plate-forme de contrôleur domotique avec prise en charge MQTT comme Node-RED, Home Assistant, Domoticz ou OpenHAB, par exemple. Dr. Mohamed MCHIRI Architecture IoT 2023 - 2024 66 Annexes MQTT – envoyer des relevés d’un capteur à une plateforme MQTT – Broker Le broker MQTT est responsable de la réception de tous les messages, du filtrage des messages, de la décision des personnes qui s’y intéressent, puis de la publication du message à tous les clients abonnés. Il existe plusieurs courtiers que vous pouvez utiliser. Dans les projets domotiques, nous utilisons le Mosquitto broker installé sur un Raspberry Pi. Dr. Mohamed MCHIRI Architecture IoT 2023 - 2024 67 Annexes MQTT – envoyer des relevés d’un capteur à une plateforme Envoyez les relevés du capteur DH22 par MQTT  L’ESP demande des relevés de température et d’humidité à partir du capteur DHT11 ou DHT22 ;  Les relevés de température sont publiés dans la rubrique (topic) esp/dht/temperature ;  Les relevés d’humidité sont publiés dans la rubrique esp/dht/humidity ;  Node-RED est abonné à ces rubriques ;  Node-RED reçoit les relevés du capteur et les affiche sur des jauges ;  Vous pouvez recevoir les lectures sur n’importe quelle autre plate-forme qui prend en charge MQTT et gérer les lectures comme vous le souhaitez. Dr. Mohamed MCHIRI Architecture IoT 2023 - 2024 68 Annexes MQTT – envoyer des relevés d’un capteur à une plateforme Envoyez les relevés du capteur DH22 par MQTT Dr. Mohamed MCHIRI Architecture IoT 2023 - 2024 69 Annexes MQTT – envoyer des relevés d’un capteur à une plateforme Envoyez les relevés du capteur DH22 par MQTT Copiez le code de la bibliothèque du protocole MQTT dans un nouveau fichier et enregistrez le sous le nom umqttsimple.py import time from umqttsimple import MQTTClient import ubinascii import machine import micropython import network import esp from machine import Pin import dht esp.osdebug(None) import gc gc.collect() Dr. Mohamed MCHIRI Architecture IoT 2023 - 2024 70 Annexes MQTT – envoyer des relevés d’un capteur à une plateforme ssid = 'REPLACE_WITH_YOUR_SSID’ def connect_mqtt(): password = 'REPLACE_WITH_YOUR_PASSWORD’ global client_id, mqtt_server mqtt_server = '192.168.1.106' #EXAMPLE IP Idr client = MQTTClient(client_id, mqtt_server) client_id = ubinascii.hexlify(machine.unique_id()) #client = MQTTClient(client_id, mqtt_server, user=your_username, topic_pub_temp = b'esp/dht/temperature’ password=your_password) topic_pub_hum = b'esp/dht/humidity’ client.connect() last_message = 0 #dernière fois qu’un msg a été envoyé print('Connected to %s MQTT broker' % (mqtt_server)) message_interval = 5 #un nouveau msg sera envoyé toutes les 5s return client station = network.WLAN(network.STA_IF) station.active(True) def restart_and_reconnect(): station.connect(ssid, password) print('Failed to connect to MQTT broker. Reconnecting...’) while station.isconnected() == False: time.sleep(10) pass machine.reset() print('Connection successful’) sensor = dht.DHT22(Pin(14)) Dr. Mohamed MCHIRI Architecture IoT 2023 - 2024 71 Annexes MQTT – envoyer des relevés d’un capteur à une plateforme try: client = connect_mqtt() except OSError as e: def read_sensor(): restart_and_reconnect() try: while True: sensor.measure() try: if (time.time() - last_message) > message_interval: temp = sensor.temperature() temp, hum = read_sensor() hum = sensor.humidity() print(temp) return temp, hum print(hum) except OSError as e: client.publish(topic_pub_temp, temp) return('Failed to read sensor.') client.publish(topic_pub_hum, hum) last_message = time.time() except OSError as e: restart_and_reconnect() Dr. Mohamed MCHIRI Architecture IoT 2023 - 2024 72 Annexes MQTT – envoyer des relevés d’un capteur à une plateforme Envoyez les relevés du capteur DH22 par MQTT L’ESP32 publie des relevés de température toutes les 5 secondes sur les topics esp/dht/temperature et esp/dht/humidity. Désormais, vous pouvez utiliser n’importe quel tableau de bord prenant en charge MQTT ou tout autre appareil prenant en charge MQTT pour vous abonner à ces topics et recevoir les lectures. À titre d’exemple, vous pouvez créer un flux simple à l’aide de Node-RED pour vous abonner à ces topics et afficher les lectures sur des jauges. On peut utiliser d’autres plateformes (AWS IOT, Microsoft Azure IoT, ThingSpeak, etc.) Dr. Mohamed MCHIRI Architecture IoT 2023 - 2024 73 Annexes MQTT – envoyer des relevés d’un capteur à une plateforme Envoyez les relevés du capteur DH22 par MQTT Dr. Mohamed MCHIRI Architecture IoT 2023 - 2024 74 Architecture IoT La fin du chapitre Fin chapitre 4 Dr. Mohamed MCHIRI Architecture IoT 2023 - 2024 75

Use Quizgecko on...
Browser
Browser