[Usage personnel] Le serveur Cloud utilise Docker pour créer la plateforme HomeAssistant + MQTT IoT

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 :

Insérer la description de l'image ici

Insérer la description de l'image ici


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.

Insérer la description de l'image ici

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
Insérer la description de l'image ici

2.2 Étapes d'installation de HomeAssistant :

Insérer la description de l'image iciInsérer la description de l'image ici

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
Insérer la description de l'image ici

Insérer la description de l'image ici

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:

Insérer la description de l'image ici

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

Insérer la description de l'image ici4.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) :

Insérer la description de l'image ici

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

Insérer la description de l'image ici

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

Insérer la description de l'image ici

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

Insérer la description de l'image ici

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

Insérer la description de l'image ici

6.4.3 Ouvrez les ports 18083 et 1883 sur la console du serveur :

Insérer la description de l'image ici

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

Insérer la description de l'image ici

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

Insérer la description de l'image iciInsérer la description de l'image iciInsérer la description de l'image iciInsérer la description de l'image iciInsérer la description de l'image iciInsérer la description de l'image ici

6.7 Retour au site Web EMQX

6.7.1 Processus opérationnel :

Surveillance->Client-> Trouvé une nouvelle connexion, ok

Insérer la description de l'image ici

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.

Insérer la description de l'image iciInsérer la description de l'image ici

Insérer la description de l'image ici

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.

Je suppose que tu aimes

Origine blog.csdn.net/qq_43768851/article/details/132233085
conseillé
Classement