6.5 KiB
உங்கள் இரவுத்தீவை இணையத்தின் மூலம் கட்டுப்படுத்துங்கள் - மெய்நிகர் IoT சாதனம் மற்றும் ராஸ்பெர்ரி பை
இந்த பாடத்தின் இந்த பகுதியில், உங்கள் ராஸ்பெர்ரி பை அல்லது மெய்நிகர் IoT சாதனத்திலிருந்து ஒளியின் அளவுகளை MQTT broker-க்கு அனுப்புவீர்கள்.
டெலிமெட்ரியை வெளியிடுங்கள்
அடுத்த படியாக, டெலிமெட்ரியுடன் JSON ஆவணத்தை உருவாக்கி அதை MQTT broker-க்கு அனுப்ப வேண்டும்.
பணிகள்
MQTT broker-க்கு டெலிமெட்ரியை வெளியிடுங்கள்.
-
VS Code-ல் nightlight திட்டத்தை திறக்கவும்.
-
நீங்கள் மெய்நிகர் IoT சாதனத்தைப் பயன்படுத்தினால், டெர்மினல் மெய்நிகர் சூழலை இயக்குகிறதா என்பதை உறுதிப்படுத்தவும். நீங்கள் ராஸ்பெர்ரி பை பயன்படுத்தினால், மெய்நிகர் சூழலை நீங்கள் பயன்படுத்தமாட்டீர்கள்.
-
app.pyகோப்பின் மேல் பக்கத்தில் பின்வரும் இறக்குமதியைச் சேர்க்கவும்:import jsonjsonநூலகம் டெலிமெட்ரியை JSON ஆவணமாக குறியாக்க பயன்படுத்தப்படுகிறது. -
client_nameஅறிவிப்புக்குப் பிறகு பின்வருவனவற்றைச் சேர்க்கவும்:client_telemetry_topic = id + '/telemetry'client_telemetry_topicஎன்பது சாதனம் ஒளியின் அளவுகளை வெளியிடும் MQTT தலைப்பாகும். -
கோப்பின் இறுதியில் உள்ள
while True:மடக்கLoop-இன் உள்ளடக்கங்களை பின்வருவனவாக மாற்றவும்: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 broker-க்கு வெளியிடுகிறது. பின்னர், செய்திகளை அனுப்பும் அதிர்வெணையை குறைக்க தூங்குகிறது.
-
பணியின் முந்தைய பகுதியில் நீங்கள் குறியீட்டை இயக்கிய விதத்தில் குறியீட்டை இயக்கவும். நீங்கள் மெய்நிகர் 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 கோப்புறையிலும் காணலாம்.
😀 நீங்கள் உங்கள் சாதனத்திலிருந்து வெற்றிகரமாக டெலிமெட்ரியை அனுப்பியுள்ளீர்கள்.
குறிப்பு:
இந்த ஆவணம் Co-op Translator என்ற AI மொழிபெயர்ப்பு சேவையை பயன்படுத்தி மொழிபெயர்க்கப்பட்டுள்ளது. எங்கள் நோக்கம் துல்லியமாக இருக்க வேண்டும் என்பதுதான், ஆனால் தானியங்கி மொழிபெயர்ப்புகளில் பிழைகள் அல்லது துல்லியமின்மைகள் இருக்கக்கூடும் என்பதை தயவுசெய்து கவனத்தில் கொள்ளவும். அதன் தாய்மொழியில் உள்ள மூல ஆவணம் அதிகாரப்பூர்வ ஆதாரமாக கருதப்பட வேண்டும். முக்கியமான தகவல்களுக்கு, தொழில்முறை மனித மொழிபெயர்ப்பு பரிந்துரைக்கப்படுகிறது. இந்த மொழிபெயர்ப்பைப் பயன்படுத்துவதால் ஏற்படும் எந்த தவறான புரிதல்கள் அல்லது தவறான விளக்கங்களுக்கு நாங்கள் பொறுப்பல்ல.