4.1 KiB
Ovládajte svoje nočné svetlo cez internet - Virtuálny IoT hardvér a Raspberry Pi
IoT zariadenie musí byť naprogramované tak, aby komunikovalo s test.mosquitto.org pomocou MQTT na odosielanie telemetrických hodnôt zo snímača svetla a prijímanie príkazov na ovládanie LED diódy.
V tejto časti lekcie pripojíte svoj Raspberry Pi alebo virtuálne IoT zariadenie k MQTT brokerovi.
Inštalácia balíka MQTT klienta
Na komunikáciu s MQTT brokerom je potrebné nainštalovať knižnicu MQTT cez pip, buď na vašom Raspberry Pi, alebo vo virtuálnom prostredí, ak používate virtuálne zariadenie.
Úloha
Nainštalujte pip balík
-
Otvorte projekt nočného svetla vo VS Code.
-
Ak používate virtuálne IoT zariadenie, uistite sa, že terminál beží vo virtuálnom prostredí. Ak používate Raspberry Pi, virtuálne prostredie používať nebudete.
-
Spustite nasledujúci príkaz na inštaláciu MQTT pip balíka:
pip3 install paho-mqtt
Naprogramujte zariadenie
Zariadenie je pripravené na programovanie.
Úloha
Napíšte kód pre zariadenie.
-
Pridajte nasledujúci import na začiatok súboru
app.py
:import paho.mqtt.client as mqtt
Knižnica
paho.mqtt.client
umožňuje vašej aplikácii komunikovať cez MQTT. -
Pridajte nasledujúci kód za definície snímača svetla a LED diódy:
id = '<ID>' client_name = id + 'nightlight_client'
Nahraďte
<ID>
jedinečným ID, ktoré bude použité ako názov tohto klienta zariadenia a neskôr pre témy, ktoré toto zariadenie publikuje a odoberá. Broker test.mosquitto.org je verejný a používa ho veľa ľudí, vrátane iných študentov pracujúcich na tejto úlohe. Použitie jedinečného názvu MQTT klienta a názvov tém zabezpečí, že váš kód nebude kolidovať s kódom niekoho iného. Toto ID budete potrebovať aj pri vytváraní serverového kódu neskôr v tejto úlohe.💁 Môžete použiť webovú stránku ako GUIDGen na vygenerovanie jedinečného ID.
client_name
je jedinečný názov pre tohto MQTT klienta na brokeri. -
Pridajte nasledujúci kód pod tento nový kód na vytvorenie objektu MQTT klienta a pripojenie k MQTT brokerovi:
mqtt_client = mqtt.Client(client_name) mqtt_client.connect('test.mosquitto.org') mqtt_client.loop_start() print("MQTT connected!")
Tento kód vytvára objekt klienta, pripája sa k verejnému MQTT brokerovi a spúšťa spracovávaciu slučku, ktorá beží na pozadí v samostatnom vlákne a počúva správy na všetkých odoberaných témach.
-
Spustite kód rovnakým spôsobom, ako ste spustili kód z predchádzajúcej časti úlohy. Ak používate virtuálne IoT zariadenie, uistite sa, že aplikácia CounterFit beží a že snímač svetla a LED dióda boli vytvorené na správnych pinoch.
(.venv) ➜ nightlight python app.py MQTT connected! Light level: 0 Light level: 0
💁 Tento kód nájdete v priečinku code-mqtt/virtual-device alebo v priečinku code-mqtt/pi.
😀 Úspešne ste pripojili svoje zariadenie k MQTT brokerovi.
Upozornenie:
Tento dokument bol preložený pomocou služby AI prekladu Co-op Translator. Aj keď sa snažíme o presnosť, prosím, berte na vedomie, že automatizované preklady môžu obsahovať chyby alebo nepresnosti. Pôvodný dokument v jeho rodnom jazyku by mal byť považovaný za autoritatívny zdroj. Pre kritické informácie sa odporúča profesionálny ľudský preklad. Nenesieme zodpovednosť za akékoľvek nedorozumenia alebo nesprávne interpretácie vyplývajúce z použitia tohto prekladu.