# ഇന്റർനെറ്റിൽ നിങ്ങളുടെ നൈറ്റ് ലൈറ്റ് നിയന്ത്രിക്കുക - വെർച്ച്വൽ IoT ഹാർഡ്‌വെയർ һәм റാസ്പ്ബെറി പൈ പാഠഭാഗം ഈ ഭാഗത്ത്, നിങ്ങൾ നിങ്ങളുടെ റാസ്പ്ബെറി പൈയോ വെർച്ച്വൽ IoT ഉപകരണമോ നിന്ന് ലൈറ്റ് നിരപ്പുകൾ ഉൾപ്പെടുന്ന ടെലിമെട്രി MQTT ബ്രോക്കറിലേക്ക് അയയ്ക്കും. ## ടെലിമെട്രി പ്രസിദ്ധീകരിക്കുക അടുത്ത ഘട്ടം ടെലിമെട്രി അടങ്ങിയ ഒരു JSON ഡോക്യുമെന്റ് ഉണ്ടാക്കി അത് MQTT ബ്രോക്കറിലേക്ക് അയയ്ക്കലാണ്. ### പ്രവൃത്തി MQTT ബ്രോക്കറിലേക്ക് ടെലിമെട്രി പ്രസിദ്ധീകരിക്കുക. 1. VS കോഡിൽ നൈറ്റ് ലൈറ്റ് പ്രോജക്ട് തുറക്കുക. 1. നിങ്ങൾ വെർച്ച്വൽ IoT ഉപകരണം ഉപയോഗിക്കുന്നുവെങ്കിൽ, ടെർമിനൽ വെർച്ച്വൽ എൻവയോൺമെന്റ് പ്രവർത്തിച്ചു കൊണ്ടിരിക്കുന്നുവെന്ന് ഉറപ്പാക്കുക. റാസ്പ്ബെറി പൈ ഉപയോഗിച്ചാൽ വെർച്ച്വൽ എൻവയോൺമെന്റ് ഉപയോഗിക്കേണ്ടതില്ല. 1. `app.py` ഫയലിന്റെ മുകളിലായി താഴെ കാണിക്കുന്ന ഇമ്പോർട്ട്‌ ചേർക്കുക: ```python import json ``` JSON ഡോക്യുമെന്റ് ആക്കുന്നതിനായി `json` ലൈബ്രറി ഉപയോഗിക്കുന്നു. 1. `client_name` പ്രഖ്യാപനത്തിന് ശേഷം താഴെ കാണിക്കുന്ന കോഡ് ചേർക്കുക: ```python client_telemetry_topic = id + '/telemetry' ``` `client_telemetry_topic` എന്നത് ഈ ഉപകരണം ലൈറ്റ് നിരപ്പുകൾ പ്രസിദ്ധീകരിക്കാൻ ഉപയോഗിക്കുന്ന MQTT വിഷയം ആണ്. 1. ഫയൽ അവസാനത്തെ `while True:` ലൂപിന്റെ ഉള്ളടക്കം താഴെ കാണിക്കുന്നതിനായി മാറ്റുക: ```python 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 ബ്രോക്കറിലേക്ക് പ്രസിദ്ധീകരിക്കുന്നു. സന്ദേശങ്ങൾ അയയ്ക്കുന്നതിനുള്ള ആവൃത്തിയെ കുറയ്ക്കാൻ പിന്നീട് ഉറക്കം പോകുന്നു. 1. മുമ്പത്തെ ഭാഗം പോലെ തന്നെ കോഡ് ഓടിക്കുക. നിങ്ങൾ വെർച്ച്വൽ IoT ഉപകരണം ഉപയോഗിക്കുന്നുവെങ്കിൽ CounterFit ആപ്പ് പ്രവർത്തനക്ഷമമാണെന്ന്, ലൈറ്റ് സെൻസറും LEDയും ശരിയായ പിനുകളിൽ സൃഷ്ടിക്കപ്പെട്ടിട്ടുണ്ടെന്ന് ഉറപ്പാക്കുക. ```output (.venv) ➜ nightlight python app.py MQTT connected! Sending telemetry {"light": 0} Sending telemetry {"light": 0} ``` > 💁 നിങ്ങൾക്ക് ഈ കോഡ് [code-telemetry/virtual-device](../../../../../1-getting-started/lessons/4-connect-internet/code-telemetry/virtual-device) ഫോൾഡറിൽ അല്ലെങ്കിൽ [code-telemetry/pi](../../../../../1-getting-started/lessons/4-connect-internet/code-telemetry/pi) ഫോൾഡറിൽ കാണാം. 😀 നിങ്ങൾ വിജയകരമായി നിങ്ങളുടെ ഉപകരണത്തിൽ നിന്ന് ടെലിമെട്രി അയച്ചു. --- **പ്രതിജ്ഞാപത്രം**: ഈ രേഖ AI വിവർത്തന സേവനം [Co-op Translator](https://github.com/Azure/co-op-translator) ഉപയോഗിച്ച് പരിഭാഷപ്പെടുത്തിയതാണ്. നമുക്ക് കൃത്യതയ്ക്ക് ശ്രമിക്കുകയാണെങ്കിലും, യാന്ത്രിക വിവർത്തനങ്ങളിൽ പിഴവുകളോ അസംവിധാനങ്ങളോ ഉണ്ടായേക്കാമെന്ന് ദയവായി മനസ്സിലാക്കുക. ആദ്യരൂപം ഉള്ള ഭാഷയിലെ തന്നെ ഈ രേഖയെ മേൽനോട്ട מקורമായി പരിഗണിക്കേണ്ടതാണ്. അത്യന്താപേക്ഷിത വിവരങ്ങൾക്ക് പেশাদარი മനുഷ്യ വിവർത്തന ശുപാർശ ചെയ്യുന്നു. ഈ പരിഭാഷ ഉപയോഗിച്ചതിനെ തുടർന്ന് ഉണ്ടാകുന്ന ഏതൊരു തെറ്റിഅർത്ഥങ്ങൾക്കും അല്ലെങ്കിൽ വിവക്ഷകൾക്കുമാണ് ഞങ്ങൾ ഉത്തരവാദികളാകാത്തത്.