Domov - Článok - Podrobnosti

Ako používať banku alebo fľašu so ZigBee2MQTT?

William Wilson
William Wilson
William je manažér dodávateľského reťazca. Spravuje systém zrelého dodávateľského reťazca spoločnosti a zaisťuje stabilné zásoby surovín na výrobu pohárov termos, ako sú hrnčeky Thermos piva.

Ahoj! Ak sa zaujímate o domácu automatizáciu alebo len chcete urobiť svoj život technologickejším, pravdepodobne ste už počuli o ZigBee2MQTT. Je to úžasný projekt s otvoreným zdrojom, ktorý vám umožňuje pripojiť zariadenia ZigBee k vášmu brokerovi MQTT. A ak ste ako ja, možno vás zaujíma, ako môžete integrovať Flask alebo Bottle, dva populárne webové rámce Pythonu, so ZigBee2MQTT. Tak to ste na správnom mieste! Ako dodávateľ fliaš na fľaše sa s vami chcem podeliť o niekoľko poznatkov.

Prečo kombinovať fľašu/fľašu so ZigBee2MQTT?

Najprv si povedzme, prečo by ste chceli kombinovať tieto technológie. ZigBee2MQTT vám poskytuje kontrolu nad širokou škálou zariadení ZigBee, ako sú inteligentné svetlá, senzory a spínače. Ale len mať údaje nestačí. Potrebujete spôsob, ako s ním interagovať, zobraziť ho a urobiť ho užitočným. Tu prichádza na rad Flask a Bottle.

Flask and Bottle sú ľahké webové rámce, ktoré vám umožňujú rýchlo a jednoducho vytvárať webové aplikácie. Pomocou nich môžete vytvoriť užívateľsky prívetivé rozhranie na monitorovanie a ovládanie vašich zariadení ZigBee. Môžete zobrazovať údaje zo senzorov v reálnom čase, zapínať a vypínať svetlá a dokonca nastaviť pravidlá automatizácie.

Nastavenie prostredia

Predtým, ako sa ponoríme do kódu, musíte nastaviť svoje prostredie. Najprv sa uistite, že máte vo svojom systéme nainštalovaný Python. Môžete si ho stiahnuť z oficiálnej webovej stránky Pythonu, ak ste tak ešte neurobili.

Ďalej nainštalujte ZigBee2MQTT. Oficiálna dokumentácia obsahuje podrobné pokyny, ako ho nainštalovať na rôzne operačné systémy. Zvyčajne to zahŕňa klonovanie úložiska z GitHubu a spustenie niektorých príkazov na jeho nastavenie.

V prípade banky alebo fľaše ich môžete nainštalovať pomocoupip. Ak chcete použiť Flask, spustitepip inštalačná bankavo vašom termináli. Pre Bottle ánopip inštalačnú fľašu.

Pripája sa k MQTT Broker

ZigBee2MQTT využíva na komunikáciu MQTT brokera. Môžete použiť populárnych brokerov ako Mosquitto. Nainštalujte a spustite makléra MQTT na vašom systéme.

Stainless Steel Insulated Coffee Pot factoryStainless Steel Insulated Coffee Pot

V aplikácii Flask or Bottle sa budete musieť pripojiť k maklérovi MQTT. Tu je jednoduchý príklad s použitímvysielanie - mqttknižnica v aplikácii Flask:

importovať paho.mqtt.client ako mqtt z banky importovať aplikáciu Flask = Flask(__name__) # Nastavenia makléra MQTT broker_address = "localhost" broker_port = 1883 # Klient nastavenia MQTT klienta = mqtt.Client() def on_connect(client, userdata, print(rc)" code+strstrected with print( flags), 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(adresa_sprostredkovateľa, maklér_port, @app_loop.0) klient_loop, 6. def index(): return "Vitajte v aplikácii ZigBee2MQTT Flask!" if __name__ == '__main__': app.run(debug=True)

V tomto kóde najskôr importujeme potrebné knižnice. Potom nastavíme klienta MQTT, zadefinujemeon_connectav_správespätné volanie a pripojte sa k maklérovi MQTT. Aplikácia Flask má jednoduchú cestu, ktorá vráti uvítaciu správu.

Zobrazenie údajov ZigBee

Teraz, keď sme pripojení k brokerovi MQTT, môžeme začať zobrazovať údaje ZigBee v našej webovej aplikácii. Na aktualizáciu stránky v reálnom čase môžeme použiť JavaScript.

Povedzme, že chceme zobraziť údaje o teplote zo snímača teploty ZigBee. Našu aplikáciu Flask môžeme upraviť tak, aby slúžila HTML stránke s kódom JavaScript na počúvanie správ MQTT.

import paho.mqtt.client ako mqtt z banky import Flask, render_template app = Flask(__name__) # Nastavenia makléra MQTT broker_address = "localhost" broker_port = 1883 # Nastavenie klienta MQTT klient = mqtt.Client() teplota = 0 def" userdataConnected, príznak klienta, kód "+str(rc)) client.subscribe("zigbee2mqtt/temperature_sensor") def on_message(client, userdata, msg): globálna teplota pokus: teplota = float (msg.payload) okrem ValueError: pass client.on_connect = on_connect client.on_message = on_broker_address, client.connect, on_broker_address client.loop_start() @app.route('/') def index(): return render_template('index.html', teplota=teplota) if __name__ == '__main__': app.run(debug=True)

A tu jeindex.htmlsúbor:

<!DOCTYPE html> <html lang="sk"> <head> <meta charset="UTF - 8"> <title>Teplota ZigBee</title> </head> <body> <h1>Aktuálna teplota: {{ teplota }} °C</h1> <script> setInterval(function () { location.reload(); }, 5000); </script> </body> </html>

Tento kód načíta údaje o teplote od brokera MQTT a zobrazí ich na webovej stránke. Kód JavaScript znovu načíta stránku každých 5 sekúnd, aby získal najnovšie údaje.

Ovládanie zariadení ZigBee

Flask alebo Bottle môžeme použiť aj na ovládanie ZigBee zariadení. Napríklad, ak chceme zapnúť alebo vypnúť inteligentné svetlo, môžeme poslať správu MQTT na príslušnú tému.

import paho.mqtt.client ako mqtt z banky import Flask, žiadosť app = Flask(__name__) # Nastavenia makléra MQTT broker_address = "localhost" broker_port = 1883 # Nastavenie klienta MQTT client = mqtt.Client() client.connect(adresa_brokera, broker_port, klient_loop.0) client_loop. @app.route('/light/<state>', methods=['GET']) def control_light(state): ak je stav v ['on', 'off']: client.publish("zigbee2mqtt/light/set", '{"state": "' + state + '"}') return f"Svetlo sa zmenilo na {state_}" state:_name in: main "Invalid_=_state}"_name app.run(debug=True)

V tomto kóde máme cestu, ktorá má stav (naalebovypnuté) ako parameter a odošle správu MQTT do svetelného zariadenia na jeho zapnutie alebo vypnutie.

Použitie fľaše pre váš projekt

Ako dodávateľ fliaš na fľaše by som rád uviedol, že ak pracujete na projekte, ktorý zahŕňa skladovanie tekutín, ako je káva na dlhodobé použitie,Nerezová izolovaná kanvica na kávumôže byť skvelým doplnkom. Udrží vašu kávu horúcu celé hodiny, čo je ideálne na dlhé programovanie, keď pracujete na svojich projektoch ZigBee2MQTT a Flask/Bottle.

Záver

Kombinácia fľaše alebo fľaše so ZigBee2MQTT otvára svet možností domácej automatizácie. Môžete si vytvoriť vlastné webové rozhrania na monitorovanie a ovládanie zariadení ZigBee, vďaka čomu bude váš domov inteligentnejší a pohodlnejší.

Ak máte záujem o kúpu našich vysokokvalitných fliaš na fľaše pre svoje projekty alebo máte akékoľvek otázky týkajúce sa integrácie fľaše alebo fľaše so ZigBee2MQTT, neváhajte nás kontaktovať. Sme tu, aby sme vám pomohli čo najlepšie využiť tieto technológie.

Referencie

  • Oficiálna dokumentácia ZigBee2MQTT
  • Oficiálna dokumentácia banky
  • Oficiálna dokumentácia fľaše
  • Dokumentácia knižnice Paho MQTT Python

Zaslať požiadavku

Populárne príspevky na blogu