3.0 KiB
Dhibiti taa yako ya usiku kupitia Mtandao - Vifaa vya IoT vya Kawaida na Raspberry Pi
Katika sehemu hii ya somo, utatuma data ya telemetry na viwango vya mwanga kutoka kwa Raspberry Pi yako au kifaa cha IoT cha kawaida kwenda kwa broker wa MQTT.
Tuma telemetry
Hatua inayofuata ni kuunda hati ya JSON yenye data ya telemetry na kuituma kwa broker wa MQTT.
Kazi
Tuma telemetry kwa broker wa MQTT.
-
Fungua mradi wa taa ya usiku katika VS Code.
-
Ikiwa unatumia kifaa cha IoT cha kawaida, hakikisha terminal inaendesha mazingira ya kawaida. Ikiwa unatumia Raspberry Pi hautatumia mazingira ya kawaida.
-
Ongeza uingizaji ufuatao juu ya faili ya
app.py:import jsonMaktaba ya
jsoninatumika kufunga data ya telemetry kama hati ya JSON. -
Ongeza yafuatayo baada ya tamko la
client_name:client_telemetry_topic = id + '/telemetry'client_telemetry_topicni mada ya MQTT ambayo kifaa kitachapisha viwango vya mwanga. -
Badilisha yaliyomo ndani ya kitanzi cha
while True:mwishoni mwa faili na yafuatayo:while True: light = light_sensor.light telemetry = json.dumps({'light' : light}) print("Sending telemetry ", telemetry) mqtt_client.publish(client_telemetry_topic, telemetry) time.sleep(5)Msimbo huu unafunga kiwango cha mwanga ndani ya hati ya JSON na kuichapisha kwa broker wa MQTT. Kisha unasubiri ili kupunguza marudio ya kutuma ujumbe.
-
Endesha msimbo kwa njia sawa na ulivyoendesha msimbo kutoka sehemu ya awali ya kazi. Ikiwa unatumia kifaa cha IoT cha kawaida, hakikisha programu ya CounterFit inaendesha na sensor ya mwanga na LED zimeundwa kwenye pini sahihi.
(.venv) ➜ nightlight python app.py MQTT connected! Sending telemetry {"light": 0} Sending telemetry {"light": 0}
💁 Unaweza kupata msimbo huu katika folda ya code-telemetry/virtual-device au folda ya code-telemetry/pi.
😀 Umefanikiwa kutuma data ya telemetry kutoka kwa kifaa chako.
Kanusho:
Hati hii imetafsiriwa kwa kutumia huduma ya tafsiri ya AI Co-op Translator. Ingawa tunajitahidi kuhakikisha usahihi, tafsiri za kiotomatiki zinaweza kuwa na makosa au kutokuwa sahihi. Hati ya asili katika lugha yake ya awali inapaswa kuzingatiwa kama chanzo cha mamlaka. Kwa taarifa muhimu, tafsiri ya kitaalamu ya binadamu inapendekezwa. Hatutawajibika kwa kutoelewana au tafsiri zisizo sahihi zinazotokana na matumizi ya tafsiri hii.