5.4 KiB
మీ నైట్లైట్ను ఇంటర్నెట్ ద్వారా నియంత్రించండి - వర్చువల్ IoT హార్డ్వేర్ మరియు రెస్ప్బెర్రీ పై
ఈ పాఠంలో, మీరు మీ రెస్ప్బెర్రీ పై లేదా వర్చువల్ IoT పరికరం నుండి లైట్ స్థాయిల telemetryని MQTT బ్రోకర్కు పంపిస్తారు.
మీట్రిక్స్ ప్రచురించండి
తరువాతి దశలో, మీట్రిక్స్తో JSON డాక్యుమెంట్ సృష్టించి దాన్ని MQTT బ్రోకర్కు పంపించాలి.
పని
మీట్రిక్స్ను MQTT బ్రోకర్కు ప్రచురించండి.
-
VS కోడ్లో నైట్లైట్ ప్రాజెక్ట్ను తెరవండి.
-
మీరు వర్చువల్ IoT పరికరం ఉపయోగిస్తున్నట్లయితే, టెర్మినల్ వర్చువల్ వాతావరణాన్ని నడుపుతున్నదని నిర్ధారించండి. మీరు రెస్ప్బెర్రీ పై ఉపయోగిస్తున్నట్లయితే, వర్చువల్ వాతావరణాన్ని ఉపయోగించరు.
-
app.pyఫైల్ టాప్లో క్రింది దిగుమతిని జోడించండి:import jsonjsonలైబ్రరీ మీట్రిక్స్ని JSON డాక్యుమెంట్గా ఎంకోడ్ చేయడానికి ఉపయోగిస్తారు. -
client_nameঘোষణ తర్వాత క్రిందివి జోడించండి:client_telemetry_topic = id + '/telemetry'client_telemetry_topicఅనేది పరికరం లైట్ స్థాయిలను ప్రచురించే MQTT టాపిక్. -
ఫైల్ చివరలోని
while True:లూప్ ఉన్నాయి వాటిని క్రిందివి ద్వారా మార్చండి: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)ఈ కోడ్ లైట్ స్థాయిని JSON డాక్యుమెంట్గా ప్యాకేజ్ చేసి MQTT బ్రోకర్కు ప్రచురిస్తుంది. తరువాత సందేశాలు పంపించే పలుసార్లు తగ్గించడానికి నిద్రపోతుంది.
-
మీరు ముందుగా నడిపిన విధంగా కోడ్ నడపండి. మీరు వర్చువల్ IoT పరికరం ఉపయోగిస్తుంటే, CounterFit యాప్ నడుస్తోంది మరియు లైట్ సెన్సార్, LED సరైన పిన్లపై సృష్టించబడ్డాయని నిర్ధారించండి.
(.venv) ➜ nightlight python app.py MQTT connected! Sending telemetry {"light": 0} Sending telemetry {"light": 0}
💁 మీరు ఈ కోడ్ను code-telemetry/virtual-device ఫోల్డర్ లేదా code-telemetry/pi ఫోల్డర్లో కనుగొనవచ్చు.
😀 మీరు విజయవంతంగా మీ పరికరం నుండి మీట్రిక్స్ పంపించారు.
విమర్శన:
ఈ డాక్యుమెంట్ను AI అనువాద సేవ Co-op Translator ఉపయోగించి అనువదించాం. మేము ఖచ్చితత్వానికి ప్రయత్నించినా, ఆటోమేటెడ్ అనువాదాల్లో పొరపాట్లు లేదా తప్పిదాలు ఉండవచ్చు. స్థానిక భాషలో ఉన్న అసలు డాక్యుమెంట్ను అధికారిక మూలంగా పరిగణించాలి. కీలక సమాచారం కోసం, ప్రొఫెషనల్ మానవ అనువాదాన్ని సూచించబడుతుంది. ఈ అనువాదం వాడకం వల్ల జరిగే ఏవైనా తప్పుదోవలు లేదా తప్పుగా అర్థం చేసుకోవడంపై మేము బాధ్యత వహించము.