DÉPARTEMENT GÉNIE ÉLECTRIQUE Université Mohammed V RABAT École Normale Supérieure de l’Enseignement Technique Rabat Année Universitaire 2018/2019 Présentation de Projet de Développement Logiciel de Simulation et de Visualisation Semestre 3 Sous thème : Utiliser un protocole MQTT pour la communication Inter projets sous Raspberry PI Élaboré par: AZNAG Younes EZZOUHRI Chouaib Encadré par: Prof. ZIDANE Nordine Soutenu le 13 Mars 2019 devant les jurys : M. N.ZIDANE : Professeur à l’ENSET. M. Mourad Raji : Professeur à l’ENSET. M.Achraf Benba: Professeur à l’ENSET.
5. Mise en pratique de projet 4. Fonctionnement du protocole MQTT 3. Problématique 2. Cahier des charges 1. Introduction 2 6. Sécurité MQTT 7. Conclusion
2 2. Cahier des charges 4 Utiliser le protocole MQTT pour la communication inter projets sous Raspberry PI Présentation du fonctionnement du protocole MQTT. Installer le broker sur PI. Sécuriser l’installation.
3 3. Problématique 4 Avoir un protocole de messagerie léger pour faire communiquer des machines dans un environnement où les déconnexions sont fréquentes. Dans l’IoT les déconnexions des capteurs ne sont pas rares et il faut quand même pouvoir recevoir les informations lors de la reconnexion.
C’est quoi MQTT Historique fonctionnement du protocole MQTT 4 Principe de fonctionnement Avantages-Inconvénients Qualité de service MQTT (Message Queuing Telemetry Transport) est un protocole de messagerie qui fonctionne sur le principe de souscription / publication qui a été développé à la base pour simplifier la communication entre les machines. Pour fonctionner il faut installer un serveur, qui est désigné par Broker. Vous pouvez l’installer sur quasiment toutes les plateformes dont les plus communes (Windows, Linux, Mac OS X….) mais aussi sur un Raspberry Pi (qui fonctionne sous Linux).
C’est quoi MQTT Historique fonctionnement du protocole MQTT 4 Principe de fonctionnement Avantages-Inconvénients Qualité de service Le MQTT fut inventé en 1999 par le Dr Andy Stanford-Clark et par le président de Cirrus Link Solutions, Arlen Nipper. Ce protocole fut créé pour permettre de collecter des données en provenance de nombreux appareils, pour ensuite transporter ces données vers une infrastructure informatique.
C’est quoi MQTT Historique fonctionnement du protocole MQTT 4 Principe de fonctionnement Avantages-Inconvénients Qualité de service
C’est quoi MQTT Historique fonctionnement du protocole MQTT 4 Principe de fonctionnement Avantages-Inconvénients Qualité de service Légèreté Flexibilité Sécurité Intégrité des données Arborescence des topics Prix de la sécurité Implémentations Avantages de MQTT Inconvénients de MQTT
C’est quoi MQTT Historique fonctionnement du protocole MQTT 4 Principe de fonctionnement Avantages-Inconvénients Qualité de service Transport en SSL/TLS, Authentification par certificats SSL/TLS, Authentification par login/mot de passe. Trois niveaux sont possibles Un message de QoS niveau 0 « At most once » Un message de QoS niveau 1 « At least once » Un message de QoS niveau 2 « exactly once » MQTT intègre en natif la notion de QoS. En effet le Publisher à la possibilité de définir la qualité de son message. sécuriser les échanges à plusieurs niveaux
Présentation du Raspberry PI 1er en service du Raspberry Mise en pratique de projet : installation du Broker sur Raspberry 4 Mise à jour du linux Installer Mosquitto sur Raspberry Pi Le raspberry Pi est un PC lite avec un système d’exploitations linux embarqué cadencé part un processeur ARM11 à 700Mhz. Il est doté plusieurs périphériques Un slot SD carde 2Port USB 2.0. 1 port Ethernet 10/100 Mb. 1 HDMI HD ready. 1 RCA VIDEO. 1 Connecteur AUDIO. 2 Connecteur GPIO.
Présentation du Raspberry PI 1er en service du Raspberry Mise en pratique de projet : installation du Broker sur Raspberry 4 Mise à jour du linux Installer Mosquitto sur Raspberry Pi Cette fenêtre permet de faire les réglages de bases, il vaut mieux paramétrer ici pour les novices. Pour retomber sur cette fenêtre il suffit de taper raspi-config dans la console. Fenêtre de configuration
Présentation du Raspberry PI 1er en service du Raspberry Mise en pratique de projet : installation du Broker sur Raspberry 4 Mise à jour du linux Installer Mosquitto sur Raspberry Pi Connectez le raspberry à internet via le connecteur ETHENET Dans la console tapez les commandes suivantes : sudo apt-get update sudo apt-get upgrade Commande de mise a jour
Présentation du Raspberry PI 1er en service du Raspberry Mise en pratique de projet : installation du Broker sur Raspberry 4 Mise à jour du linux Installer Mosquitto sur Raspberry Pi Mosquitto est un serveur MQTT Open Source (aussi appelé Broker) que l’on peut installer sur un Raspberry Pi mais aussi sur presque toutes les plateformes (macOS, Windows, Linux…). Quel Broker MQTT open-source choisir ? Il existe plusieurs brokers open-source : ActiveMQ ActiveMQ : qui permet d’ajouter MQTT à un serveur Web Apache. JoramMQ JoramMQ : pour l’intégration de MQTT en Java. RabbitMQ RabbitMQ : un projet open source disponible également avec un support commercial. EMQTT EMQTT : un projet développé en Erlang/OTP disponible pour Windows MosquittoMosquitto: le broker open-source le plus utilisé dans les projets DIY soutenu par la fondation eclipse.org.eclipse.org
Identification Authentification 6.Sécurité MQTT 4 Autorisation Trois concepts sont fondamentaux pour la sécurité MQTT: Identification : Identifiez un client MQTT par son identificateur, par son ID utilisateur, ou par un certificat numérique public Un serveur MQTT authentifie le certificat envoyé par le client à l'aide du protocole SSL, ou l'identité du client avec un mot de passe défini par ce dernier
Identification Authentification 6. Sécurité MQTT 4 Autorisation Authentification : Un client MQTT peut authentifier le serveur MQTT auquel il se connecte, et le serveur peut authentifier le client qui se connecte à lui. Un client authentifie un serveur à l'aide du protocole SSL
Identification Authentification 6.Sécurité MQTT 4 Autorisation Autorisation : L'autorisation ne fait pas partie du MQTT protocole. Elle est fournie par les serveurs MQTT. Ce qui est autorisé dépend de ce que fait le serveur.
22
19 zzzz