Aperçu
1. Aperçu du processus de construction
2. Travaux de préparation
3. Commencez à construire !
4. Résumé
Si vous souhaitez voir comment l'ESP32 ou d'autres microcontrôleurs programmés à l'aide de MicroPython sont connectés au serveur cloud pour réaliser le contrôle HomeAssistant du microcontrôleur, veuillez lire le prochain article de mon blog.
1. Aperçu du processus de construction
0. Processus global
Nous devons d'abord avoir un serveur cloud, puis créer Docker dessus (utilisez simplement Pagoda Fool pour le construire, j'écrirai comment le construire plus tard), puis utiliser Docker pour créer 2 conteneurs, qui sont équipés respectivement de HomeAssistant et MQTT. . Cela équivaut à ce que nous faisons : il y a 2 "services (serveurs)" fonctionnant sur 1 serveur cloud. Le contenu spécifique du protocole de messagerie réseau MQTT est le suivant : vous pouvez le considérer comme une station de transfert permettant de connecter le terminal IoT ESP32 et la plateforme HomeAssistant :
2. Travaux de préparation
0. Achetez un serveur cloud
0.1 Achetez un serveur cloud (Un cloud, un cloud Teng, un cloud Hua n'a pas d'importance, un serveur léger devrait suffire, c'est à vous de décider. Si vous ne savez pas comment l'acheter, recherchez-le vous-même)
1. Logiciels ou services qui doivent être téléchargés temporairement sur un PC personnel
1.1.
2. Logiciels et services qui doivent temporairement être téléchargés sur le serveur cloud
2.1 Pagode (pour une utilisation plus facile du docker et d'autres opérations)
3. Début des travaux de construction
1. Utilisez Pagoda pour accéder à votre serveur cloud et installez Docker de manière infaillible
Cliquez sur Docker dans la colonne de gauche et vous devriez avoir un "Installer" sur la page. Après avoir cliqué, l'installation se poursuivra. Cela peut prendre un certain temps, veuillez attendre patiemment jusqu'à ce que l'installation soit terminée.
2. Une fois l'installation du Docker terminée, extrayez directement l'image HomeAssistant
2.1 Extraire
le docker HomeAssistant -> Miroir -> Extraire depuis l'entrepôt -> Remplissez le contenu : homeassistant/home-assistant:latest -> Confirmer
2.2 Étapes d'installation de HomeAssistant :
3. Créer un conteneur Docker
3.1 Créez un dossier conteneur Fichier -> Accédez au chemin home/votre nom d'utilisateur/
dans le répertoire racine et créez un nouveau dossier "homeassistant-config", comme indiqué sur la figure. 3.2 Ouvrez le terminal et commencez à créer le conteneur
3.3 Entrez la commande de création de conteneur et appuyez sur Entrée :
sudo docker run -d --name="homeassistant-v1" -v xxx:/config -p 8123:8123 homeassistant/home-assistant:latest
Veuillez noter! Dans la commande ci-dessus, « xxx » est le chemin pour créer le conteneur et doit être remplacé par votre propre chemin ! ! ! Par exemple, ma commande est modifiée en :
sudo docker run -d --name="homeassistant-v1" -v /home/admin/homeassistant-config:/config -p 8123:8123 homeassistant/home-assistant:latest
3.4 Conteneur créé avec succès
Aucune erreur n'est signalée lors de l'exécution de la commande. Allez jeter un œil au dossier vide que vous venez de créer. S'il y a déjà quelque chose, la création est réussie. Comme suit:
4. Ouvrez le port 8123 du pare-feu du serveur cloud.
4.1 Ouvrir le port
Je suis trop paresseux pour écrire. Vous pouvez entrer directement dans le terminal de la pagode ou d'un autre logiciel tel que xshell, à condition de pouvoir entrer dans le terminal du serveur cloud et exécuter les commandes suivantes dans l'ordre :
firewall-cmd --add-port=8123/tcp --permanent
firewall-cmd --reload
4.2 Vérifiez si le port est ouvert. Vous pouvez voir 8123/tcp, ce qui signifie que le port est ouvert avec succès.
firewall-cmd --list-ports
4.3 Ouvrir les ports sur la plateforme cloud
Cela dépend du cloud que vous utilisez. Vous pouvez rechercher les options de pare-feu de votre serveur et ajouter le port (je fais une démonstration d'Alibaba Cloud) :
5. Configurer HomeAssistant
5.1 Accéder à HomeAssistant
Utilisez votre ip:8123 pour accéder à la page Web HomeAssistant. Par exemple, si l'IP externe de votre serveur cloud est 182.96.213.203, alors vous pouvez visiter l'URL suivante dans votre navigateur : (Je donne juste un exemple, ne remplissez pas 182.96.213.203, indiquez l'IP externe de votre propre serveur. !)
182.96.213.203:8123
6. Installez le serveur MQTT
6.1 Visitez la zone de téléchargement du site officiel d'EMQX
https://www.emqx.io/zh/downloads
6.2 Exécutez la commande pour mettre EMQX dans Docker.
Exécutez "Obtenir l'image Docker" et "Démarrer le conteneur Docker" dans la figure ci-dessous sur le terminal serveur. Deux morceaux de code.
Pièce de code 1 :
docker pull emqx/emqx:5.1.4
Pièce de code 2 :
docker run -d --name emqx -p 1883:1883 -p 8083:8083 -p 8084:8084 -p 8883:8883 -p 18083:18083 emqx/emqx:5.1.4
6.3 Une fois le téléchargement d'EMQX terminé, vérifiez si EMQX est déjà dans Docker :
Utiliser la commande :
sudo docker ps
6.4 Ouvrir les ports 18083 et 1883 sur le pare-feu
6.4.1 Exécutez les commandes dans l'ordre, ouvrez le port et redémarrez le pare-feu pour prendre effet :
firewall-cmd --add-port=18083/tcp --permanent
firewall-cmd --add-port=1883/tcp --permanent
firewall-cmd --reload
6.4.2 Exécutez la commande suivante pour voir si nous avons ouvert les ports 18083 et 1883 :
firewall-cmd --list-ports
6.4.3 Ouvrez les ports 18083 et 1883 sur la console du serveur :
6.5 Visitez le site Web d'EMQX
6.5.1 URL :
http://xxx.xxx.xxx.xxx:18083
xxx.xxx.xxx.xxx représente l'adresse IP publique de votre serveur cloud
6.5.2 Connexion
Le nom d'utilisateur par défaut est : admin
Le mot de passe par défaut est : public
6.6 Retour au site Web de HomeAssistant
6.6.1 Processus de fonctionnement :
i : Configuration (colonne de gauche) ->
ii : Appareils et services ->
iii : Ajouter une intégration (coin inférieur droit) ->
iv : Rechercher "MQTT" ->
v : Cliquez sur "MQTT" ->
vi : Cliquez sur "MQTT" ->
vii : Saisissez les informations pertinentes (veuillez noter que le nom d'utilisateur et le mot de passe sont le nom d'utilisateur et le mot de passe que vous venez d'utiliser pour vous connecter à EMQX)
viii : Soumettez, réussi. Notre HomeAssistant s'est connecté avec succès au service MQTT
6.7 Retour au site Web EMQX
6.7.1 Processus opérationnel :
Surveillance->Client-> Trouvé une nouvelle connexion, ok
6.7.2 Confirmez que MQTT et HomeAssistant ont été connectés avec succès :
1. Accédez au site Web de HomeAssistant
2. Entrez le MQTT tout à l'heure
3. Cliquez sur « Options »
4. Après avoir activé l'écoute, envoyez un paquet de données à tester, et c'est réussi.
4. Résumé
À ce stade, la tâche consistant à utiliser Docker pour créer la plate-forme HomeAssistant sur le serveur cloud et à permettre à MQTT d'établir la communication avec la plate-forme HomeAssistant a été accomplie avec succès.Si vous voulez voir comment connecter ESP32 ou d'autres microcontrôleurs programmés avec MicroPython, veuillez lire le prochain article de mon blog.