3.7 KiB
Juhi oma öölampi Interneti kaudu - Virtuaalne IoT riistvara ja Raspberry Pi
IoT-seade tuleb programmeerida suhtlema test.mosquitto.org-iga, kasutades MQTT-d, et saata telemeetria väärtusi valgusanduri näitude põhjal ja vastu võtta käske LED-i juhtimiseks.
Selles õppetunni osas ühendate oma Raspberry Pi või virtuaalse IoT-seadme MQTT maakleriga.
MQTT kliendipaketi installimine
Et suhelda MQTT maakleriga, peate installima MQTT teegi pip-paketi kas oma Pi-le või virtuaalsesse keskkonda, kui kasutate virtuaalset seadet.
Ülesanne
Installige pip-pakett
-
Avage öölambi projekt VS Code'is.
-
Kui kasutate virtuaalset IoT-seadet, veenduge, et terminal töötab virtuaalses keskkonnas. Kui kasutate Raspberry Pi-d, siis virtuaalset keskkonda ei kasutata.
-
Käivitage järgmine käsk MQTT pip-paketi installimiseks:
pip3 install paho-mqtt
Seadme programmeerimine
Seade on valmis programmeerimiseks.
Ülesanne
Kirjutage seadme kood.
-
Lisage järgmine import
app.pyfaili algusesse:import paho.mqtt.client as mqttpaho.mqtt.clientteek võimaldab teie rakendusel suhelda MQTT kaudu. -
Lisage järgmine kood pärast valgusanduri ja LED-i definitsioone:
id = '<ID>' client_name = id + 'nightlight_client'Asendage
<ID>unikaalse ID-ga, mida kasutatakse selle seadme kliendi nimeks ja hiljem selle seadme avaldatavate ja tellitavate teemade jaoks. test.mosquitto.org maakler on avalik ja seda kasutavad paljud inimesed, sealhulgas teised õpilased, kes teevad seda ülesannet. Unikaalse MQTT kliendi nime ja teemanime kasutamine tagab, et teie kood ei lähe vastuollu kellegi teise omaga. Vajate seda ID-d ka hiljem, kui loote serveri koodi selle ülesande raames.💁 Võite kasutada veebisaiti nagu GUIDGen, et genereerida unikaalne ID.
client_nameon unikaalne nimi sellele MQTT kliendile maakleris. -
Lisage järgmine kood selle uue koodi alla, et luua MQTT kliendi objekt ja ühendada MQTT maakleriga:
mqtt_client = mqtt.Client(client_name) mqtt_client.connect('test.mosquitto.org') mqtt_client.loop_start() print("MQTT connected!")See kood loob kliendi objekti, ühendab avaliku MQTT maakleriga ja käivitab töötlemislingi, mis töötab taustalõimes ja kuulab sõnumeid tellitud teemadel.
-
Käivitage kood samamoodi nagu käivitasite koodi ülesande eelmisest osast. Kui kasutate virtuaalset IoT-seadet, veenduge, et CounterFit rakendus töötab ja valgusandur ning LED on loodud õigetele pinidele.
(.venv) ➜ nightlight python app.py MQTT connected! Light level: 0 Light level: 0
💁 Selle koodi leiate code-mqtt/virtual-device kaustast või code-mqtt/pi kaustast.
😀 Olete edukalt ühendanud oma seadme MQTT maakleriga.
Lahtiütlus:
See dokument on tõlgitud AI tõlketeenuse Co-op Translator abil. Kuigi püüame tagada täpsust, palume arvestada, et automaatsed tõlked võivad sisaldada vigu või ebatäpsusi. Algne dokument selle algses keeles tuleks pidada autoriteetseks allikaks. Olulise teabe puhul soovitame kasutada professionaalset inimtõlget. Me ei vastuta selle tõlke kasutamisest tulenevate arusaamatuste või valesti tõlgenduste eest.