Table des matières:
- Étape 1: Qu'est-ce que MQTT et comment cela fonctionne
- Étape 2: Raspberry Pi
- Étape 3: Comment configurer l'adresse IP statique
- Étape 4: NodeMCU
- Étape 5: Script Python
- Étape 6: Connexions et schéma de circuit
- Étape 7: Résultat
Vidéo: Raspberry Pi parlant à ESP8266 à l'aide de MQTT : 8 étapes
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:09
Dans ce projet, j'expliquerai ce qu'est le protocole MQTT et comment il est utilisé pour communiquer entre les appareils. Ensuite, à titre de démonstration pratique, je montrerai comment configurer un système client et courtier, où un module ESP8266 ainsi que RPi parlent l'un à l'autre ou envoyer un message lorsqu'un bouton est enfoncé.
Matériel requis
1. Framboise Pi 3
2. NodeMCU
3. DEL
4. Bouton
5. Résistances (10k, 475 ohms)
Étape 1: Qu'est-ce que MQTT et comment cela fonctionne
MQTT
MQTT est un protocole de transfert de données de machine à machine (M2M). MQTT a été créé dans le but de collecter des données à partir de nombreux appareils, puis de les transporter vers l'infrastructure informatique. Il est léger et donc idéal pour la surveillance à distance, en particulier dans les connexions M2M qui nécessitent une faible empreinte de code ou lorsque la bande passante du réseau est limitée.
Comment fonctionne MQTT
MQTT est un protocole de publication/abonnement qui permet aux périphériques de périphérie de réseau de publier sur un courtier. Les clients se connectent à ce courtier, qui assure ensuite la médiation de la communication entre les deux appareils. Chaque appareil peut s'abonner ou s'inscrire à des sujets particuliers. Lorsqu'un autre client publie un message sur une rubrique abonnée, le courtier transmet le message à tout client abonné.
MQTT est bidirectionnel et maintient la conscience de session avec état. Si un périphérique de périphérie du réseau perd sa connectivité, tous les clients abonnés seront informés de la fonction « Dernières volontés et testament » du serveur MQTT afin que tout client autorisé du système puisse publier une nouvelle valeur vers la périphérie de réseau. périphérique réseau, en maintenant une connectivité bidirectionnelle.
Le projet est divisé en 3 parties
Tout d'abord, nous créons un serveur MQTT sur RPi et installons quelques bibliothèques.
Deuxièmement, nous allons installer des bibliothèques dans Arduino IDE pour que NodeMCU fonctionne avec MQTT, télécharger le code et vérifier si le serveur fonctionne ou non.
Enfin, nous créons un script dans Rpi, téléchargeons le code requis dans NodeMCU et exécutons le script python pour contrôler les leds côté serveur et côté client. Ici, le serveur est RPi et le client est NodeMCU.
Étape 2: Raspberry Pi
1. Pour installer le dernier serveur et client MQTT dans RPi, pour utiliser le nouveau référentiel, vous devez d'abord importer la clé de signature du package de référentiel.
wget https://repo.mosquitto.org/debian/mosquitto-repo.gpg.keysudo apt-key ajouter mosquitto-repo.gpg.key
2. Rendre le référentiel disponible pour apt.
cd /etc/apt/sources.list.d/
3. Selon la version de Debian que vous utilisez.
sudo wget https://repo.mosquitto.org/debian/mosquitto-wheezy.listsudo wget
sudo wget
sudo apt-get mise à jour
4. Installez le serveur Mosquitto à l'aide de la commande.
sudo apt-get install moustique
Si vous obtenez des erreurs lors de l'installation de Mosquitto comme celle-ci.
#################################################################
Les packages suivants ont des dépendances non satisfaites: mosquitto: Dépend: libssl1.0.0 (>= 1.0.1) mais il n'est pas installable Dépend: libwebsockets3 (>= 1.2) mais il n'est pas installable E: Impossible de corriger les problèmes, vous avez tenu le coup paquets.
#################################################################
Utilisez ensuite cette commande pour résoudre les problèmes.
sudo apt --fix-breaké installer
5. Après avoir installé le serveur MQTT, installez le client à l'aide de la commande
sudo apt-get install mosquitto-clients
Vous pouvez vérifier les services à l'aide de la commande.
état systemctl mosquitto.service
Comme notre serveur et client MQTT est installé. Maintenant, nous pouvons le vérifier en utilisant s'abonner et publier. Pour vous abonner et publier, vous pouvez vérifier les commandes ou visiter le site Web comme indiqué ci-dessous.
Sous-marin moustique
Pub Moustique
Pour installer la bibliothèque paho-mqtt, utilisez la commande ci-dessous.
sudo pip installer paho-mqtt
Paho
Étape 3: Comment configurer l'adresse IP statique
Allez dans le répertoire cd /etc et ouvrez le fichier dhcpcd.conf en utilisant n'importe quel éditeur. À la fin, écrivez ces quatre lignes.
interface eth0 statique ip_address=192.168.1.100 // ip que vous souhaitez utiliser
interface wlan0
adresse_ip statique=192.168.1.68
routeurs statiques=192.168.1.1 // votre passerelle par défaut
serveurs de nom_domaine statiques=192.168.1.1
Après cela, enregistrez-le et redémarrez votre pi.
Étape 4: NodeMCU
Installer les bibliothèques requises dans Arduino IDE pour NodeMCU
1. Allez dans Sketch ==> Inclure la bibliothèque ==> Gérer les bibliothèques.
2. Recherchez mqtt et installez la bibliothèque par Adafruit ou vous pouvez installer n'importe quelle bibliothèque.
3. Cela dépend de la bibliothèque sleepydog, nous avons donc également besoin de cette bibliothèque.
Le programme est donné ci-dessus, juste pour vérifier s'il fonctionne ou non. Ici, je n'ai créé aucun script dans RPi. Nous utilisons simplement des commandes pour nous abonner et publier. Nous créerons un script pour le contrôle plus tard.
mosquitto_pub -h raspberrypi -t "/leds/pi" -m "ON"
mosquitto_pub -h raspberrypi -t "/leds/pi" -m "OFF"
mosquitto_pub -h raspberrypi -t "/leds/pi" -m "TOGGLE"
mosquitto_pub -h raspberrypi -t "/leds/esp8266" -m "ON"
mosquitto_pub -h raspberrypi -t "/leds/esp8266" -m "OFF"
mosquitto_pub -h raspberrypi -t "/leds/esp8266" -m "TOGGLE"
-h == > nom d'hôte-t == > sujet
-m == > message
Après avoir vérifié le programme Mqtt_check, téléchargez le programme complet dans NodeMCU
Étape 5: Script Python
Comme je l'ai expliqué ci-dessus, nous avons besoin d'un script python pour contrôler les leds à l'aide de boutons. Nous allons donc créer un script. Le script est donné ci-dessus.
Lorsque vous exécutez le script, votre script doit ressembler à celui indiqué dans l'image. Si le code de résultat n'est pas nul, il s'agit d'une erreur que vous pouvez vérifier sur le site Web de paho.
Étape 6: Connexions et schéma de circuit
Interfaçage du bouton, LED avec NodeMCU
NodeMCU === > ButtonGnd === > Gnd
3.3V === > PIN1
GPIO4 (D2) === > PIN2
NodeMCU === > LED
Gnd === > Cathode (-ve)
GPIO5 (D1) === > Anode(+ve)
Interfaçage du bouton, LED avec RPi
RPi === > ButtonGnd === > PIN1
GPIO 23 === > PIN2
RPi === > LED
Gnd == > Cathode(-ve)
GPIO 24 === > Anode(+ve)
Étape 7: Résultat
Assurez-vous que votre script est en cours d'exécution, sinon il ne pourra pas contrôler la led à l'aide de boutons.
Conseillé:
Surveillance de l'accélération à l'aide de Raspberry Pi et AIS328DQTR à l'aide de Python : 6 étapes
Surveillance de l'accélération à l'aide de Raspberry Pi et AIS328DQTR à l'aide de Python : L'accélération est finie, je pense selon certaines lois de la physique. - Terry Riley Un guépard utilise une accélération incroyable et des changements rapides de vitesse lors de la poursuite. La créature la plus rapide à terre utilise de temps en temps sa vitesse maximale pour attraper une proie. Les
Ted le grille-pain parlant : 6 étapes (avec photos)
Ted le grille-pain parlant : Les conversations avec un grille-pain ont toujours été à sens unique. Jusqu'à présent, rencontrez Ted le grille-pain parlant ! Ci-dessous un aperçu du contenu : Vidéo du projet Toaster Electronics Chat/Voice bot Remo.tv Domination mondiale
Comment faire un système de sécurité de mouvement PIR parlant : 3 étapes
Comment créer un système de sécurité de mouvement PIR parlant : Dans cette vidéo, nous allons créer un système de sécurité qui détecte les mouvements et parle. Dans ce projet, le capteur PIR détecte le mouvement et le module DFPlayer Mini MP3 joue le son défini précédemment
Affichage Baymax parlant pour le cabinet d'un pédiatre : 10 étapes (avec photos)
Affichage Baymax parlant pour le cabinet d'un pédiatre : « Bonjour. Je suis Baymax, votre compagnon de santé personnel. - BaymaxAu bureau de mon pédiatre local, ils ont adopté une stratégie intéressante pour tenter de rendre l'environnement médical moins stressant et plus amusant pour les enfants. Ils ont rempli le e
Lecteur de code-barres parlant Raspberry Pi : 12 étapes
Lecteur de codes-barres parlant Raspberry Pi : Fig.1 Scanner de codes-barres de DX.comOverviewUpdate : Une courte démo vidéo est disponible https://youtu.be/b905MLfGTcMM Ma mère ne peut plus lire les étiquettes sur les articles d'épicerie, alors je suis allé chercher des solutions. Après avoir vu que les lecteurs de codes-barres pour aveugles