Accueil - Article - Détails

Comment utiliser une gourde ou une bouteille avec ZigBee2MQTT ?

William Wilson
William Wilson
William est directeur de la chaîne d'approvisionnement. Il gère le système de chaîne d'approvisionnement mature de l'entreprise, garantissant une alimentation stable en matières premières pour la production de tasses thermos telles que les tasses thermos de la bière.

Salut! Si vous êtes amateur de domotique ou si vous cherchez simplement à rendre votre vie un peu plus technophile, vous avez probablement entendu parler de ZigBee2MQTT. C'est un projet open source génial qui vous permet de connecter des appareils ZigBee à votre courtier MQTT. Et si vous êtes comme moi, vous vous demandez peut-être comment intégrer Flask ou Bottle, deux frameworks Web Python populaires, avec ZigBee2MQTT. Eh bien, vous êtes au bon endroit ! En tant que fournisseur de flacons, j'ai quelques idées à partager avec vous.

Pourquoi combiner flacon/bouteille avec ZigBee2MQTT ?

Tout d’abord, parlons des raisons pour lesquelles vous souhaiteriez combiner ces technologies. ZigBee2MQTT vous permet de contrôler une large gamme d'appareils ZigBee, tels que des lumières intelligentes, des capteurs et des interrupteurs. Mais il ne suffit pas de disposer de données. Vous avez besoin d’un moyen d’interagir avec lui, de l’afficher et de le rendre utile. C'est là qu'interviennent Flask et Bottle.

Flask et Bottle sont des frameworks Web légers qui vous permettent de créer des applications Web rapidement et facilement. Avec eux, vous pouvez créer une interface conviviale pour surveiller et contrôler vos appareils ZigBee. Vous pouvez afficher les données en temps réel des capteurs, allumer et éteindre les lumières et même configurer des règles d'automatisation.

Configuration de l'environnement

Avant de plonger dans le code, vous devez configurer votre environnement. Tout d’abord, assurez-vous que Python est installé sur votre système. Vous pouvez le télécharger depuis le site officiel de Python si ce n'est pas déjà fait.

Ensuite, installez ZigBee2MQTT. La documentation officielle contient des instructions détaillées sur la façon de l'installer sur différents systèmes d'exploitation. Cela implique généralement de cloner le référentiel depuis GitHub et d'exécuter certaines commandes pour le configurer.

Pour Flask ou Bottle, vous pouvez les installer en utilisantpépin. Si vous souhaitez utiliser Flask, exécutezpip installer le flacondans votre terminal. Pour Bottle, c'estpip installer la bouteille.

Connexion au courtier MQTT

ZigBee2MQTT utilise un courtier MQTT pour communiquer. Vous pouvez utiliser des courtiers populaires comme Mosquitto. Installez et démarrez le courtier MQTT sur votre système.

Stainless Steel Insulated Coffee Pot factoryStainless Steel Insulated Coffee Pot

Dans votre application Flask ou Bottle, vous devrez vous connecter au courtier MQTT. Voici un exemple simple utilisant lediffusion - mqttbibliothèque dans une application Flask :

importer paho.mqtt.client en tant que mqtt depuis flask import Flask app = Flask(__name__) # Paramètres du courtier MQTT broker_address = "localhost" broker_port = 1883 # Client de configuration du client MQTT = mqtt.Client() def on_connect(client, userdata, flags, rc): print("Connecté avec le code de résultat "+str(rc)) client.subscribe("zigbee2mqtt/#") def on_message(client, userdata, msg): print(msg.topic+" "+str(msg.payload)) client.on_connect = on_connect client.on_message = on_message client.connect(broker_address, broker_port, 60) client.loop_start() @app.route('/') def index(): return "Bienvenue dans l'application Flask ZigBee2MQTT !" si __name__ == '__main__' : app.run(debug=True)

Dans ce code, nous importons d'abord les bibliothèques nécessaires. Ensuite, nous configurons le client MQTT, définissons leon_connectetsur_messagerappels et connectez-vous au courtier MQTT. L'application Flask dispose d'un itinéraire simple qui renvoie un message de bienvenue.

Affichage des données ZigBee

Maintenant que nous sommes connectés au courtier MQTT, nous pouvons commencer à afficher les données ZigBee sur notre application web. Nous pouvons utiliser JavaScript pour mettre à jour la page en temps réel.

Disons que nous voulons afficher les données de température d'un capteur de température ZigBee. Nous pouvons modifier notre application Flask pour servir une page HTML avec du code JavaScript pour écouter les messages MQTT.

importer paho.mqtt.client en tant que mqtt depuis flask import Flask, render_template app = Flask(__name__) # Paramètres du courtier MQTT broker_address = "localhost" broker_port = 1883 # Client de configuration du client MQTT = mqtt.Client() température = 0 def on_connect(client, userdata, flags, rc): print("Connecté avec le code de résultat "+str(rc)) client.subscribe("zigbee2mqtt/temperature_sensor") def on_message(client, userdata, msg) : température globale essayez : température = float(msg.payload) sauf ValueError : pass client.on_connect = on_connect client.on_message = on_message client.connect(broker_address, broker_port, 60) client.loop_start() @app.route('/') def index() : renvoie render_template('index.html', temperature=temperature) si __name__ == '__main__' : app.run(debug=True)

Et voici leindex.htmldéposer:

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF - 8"> <title>Température ZigBee</title> </head> <body> <h1>Température actuelle : {{ température }} °C</h1> <script> setInterval(function () { location.reload(); }, 5000); </script> </body> </html>

Ce code récupère les données de température du courtier MQTT et les affiche sur la page Web. Le code JavaScript recharge la page toutes les 5 secondes pour obtenir les dernières données.

Contrôler les appareils ZigBee

Nous pouvons également utiliser Flask ou Bottle pour contrôler les appareils ZigBee. Par exemple, si nous voulons allumer ou éteindre une lumière intelligente, nous pouvons envoyer un message MQTT au sujet approprié.

importer paho.mqtt.client en tant que mqtt à partir du flacon importer Flask, demande app = Flask(__name__) # Paramètres du courtier MQTT adresse_broker = "localhost" port_broker = 1883 # client de configuration du client MQTT = mqtt.Client() client.connect(adresse_broker, port_broker, 60) client.loop_start() @app.route('/light/<state>', méthodes=['GET']) def control_light(state) : si l'état est dans ['on', 'off'] : client.publish("zigbee2mqtt/light/set", '{"state": "' + state + '"}') return f"Light turn {state}" else : return "Invalid state" if __name__ == '__main__' : app.run(debug=True)

Dans ce code, nous avons une route qui prend un état (suroudésactivé) en tant que paramètre et envoie un message MQTT au dispositif d'éclairage pour l'allumer ou l'éteindre.

Utiliser une bouteille flacon pour votre projet

En tant que fournisseur de bouteilles en flacon, je voudrais mentionner que si vous travaillez sur un projet impliquant le stockage de liquides, comme du café pour une utilisation à long terme, notreCafetière isolée en acier inoxydablepourrait être un excellent ajout. Il garde votre café chaud pendant des heures, parfait pour les longues sessions de codage pendant que vous travaillez sur vos projets ZigBee2MQTT et Flask/Bottle.

Conclusion

La combinaison d'un flacon ou d'une bouteille avec ZigBee2MQTT ouvre un monde de possibilités pour la domotique. Vous pouvez créer des interfaces Web personnalisées pour surveiller et contrôler vos appareils ZigBee, rendant ainsi votre maison plus intelligente et plus pratique.

Si vous souhaitez acheter nos flacons de haute qualité pour vos projets ou si vous avez des questions sur l'intégration de Flask ou Bottle avec ZigBee2MQTT, n'hésitez pas à nous contacter. Nous sommes là pour vous aider à tirer le meilleur parti de ces technologies.

Références

  • Documentation officielle de ZigBee2MQTT
  • Documentation officielle du flacon
  • Documentation officielle de la bouteille
  • Documentation de la bibliothèque Paho MQTT Python

Envoyez demande

Articles de blog populaires