# ഇന്റർനെറ്റിൽ നിങ്ങളുടെ നൈറ്റ്‌ലൈറ്റ് നിയന്ത്രിക്കുക - Wio ടേർമിനൽ ഇവിടത്തെ പാഠത്തിന്റെ ഭാഗത്തിൽ, നിങ്ങൾ നിങ്ങളുടെ Wio ടേർമിനലിൽ നിന്നുള്ള ലൈറ്റ് ലെവലുകളോടുകൂടി ടെലിമെട്രി MQTT ബ്രോക്കർക്ക് അയയ്ക്കും. ## JSON Arduino ലൈബ്രറികൾ ഇൻസ്റ്റാൾ ചെയ്യുക MQTT വഴി സന്ദേശങ്ങൾ അയയ്ക്കാനുള്ള പ്രമുഖ മാർഗ്ഗം JSON ഉപയോഗിക്കലാണ്. JSON ഡോക്യുമെന്റുകൾ വായിക്കാനും എഴുതാനും സുഗമമാക്കുന്ന Arduino JSON ലൈബ്രറി ഉണ്ട്. ### ജോലിയുടെ വിശദാംശം Arduino JSON ലൈബ്രറി ഇൻസ്റ്റാൾ ചെയ്യുക. 1. VS കോഡിൽ nightlight പ്രോജക്റ്റ് തുറക്കുക. 1. `platformio.ini` ഫയലിലെ `lib_deps` ലിസ്റ്റിൽ തുടർന്നുള്ള വരി ഒരു അധിക വരിയായി ചേർക്കുക: ```ini bblanchon/ArduinoJson @ 6.17.3 ``` ഇതു [ArduinoJson](https://arduinojson.org) എന്ന Arduino JSON ലൈബ്രറി ഉൾക്കൊള്ളുന്നു. ## ടെലിമെട്രി പബ്ലിഷ് ചെയ്യുക അടുത്ത ചുവട് ടെലിമെട്രി ഉള്ള JSON ഡോക്യുമെന്റ് സൃഷ്ടിച്ച് MQTT ബ്രോക്കർക്ക് അയയ്ക്കലാണ്. ### ജോലിയുടെ വിശദാംശം - ടെലിമെട്രി പബ്ലിഷ് ചെയ്യുക MQTT ബ്രോക്കറിലേക്ക് ടെലിമെട്രി പബ്ലിഷ് ചെയ്യുക. 1. `config.h` ഫയലിന്റെ താഴ്ഭാഗത്ത് താഴെയുള്ള കോഡ് ചേർത്ത് MQTT ബ്രോക്കറിനുള്ള ടെലിമെട്രി ടോപ്പിക് നാമം നിർവ്വചിക്കുക: ```cpp const string CLIENT_TELEMETRY_TOPIC = ID + "/telemetry"; ``` `CLIENT_TELEMETRY_TOPIC` ഡിവൈസ് ലൈറ്റ് ലെവലുകൾ പ്രസിദ്ധീകരിക്കാൻ ഉപയോഗിക്കുന്ന ടോപ്പിക്കാണ്. 1. `main.cpp` ഫയൽ തുറക്കുക. 1. ഫയലിന്റെ മുകളിലേക്ക് താഴെയുള്ള `#include` ഡയറക്ടീവ് ചേർക്കുക: ```cpp #include ``` 1. `loop` ഫങ്ഷനിനകം, `delay`-ക്ക് മുമ്പായി താഴെയുള്ള കോഡ് ചേർക്കുക: ```cpp int light = analogRead(WIO_LIGHT); DynamicJsonDocument doc(1024); doc["light"] = light; string telemetry; serializeJson(doc, telemetry); Serial.print("Sending telemetry "); Serial.println(telemetry.c_str()); client.publish(CLIENT_TELEMETRY_TOPIC.c_str(), telemetry.c_str()); ``` ഈ കോഡ് ലൈറ്റ് ലെവൽ വായിക്കുകയും, ArduinoJson ഉപയോഗിച്ച് ഈ ലെവൽ അടങ്ങിയ JSON ഡോക്യുമെന്റ് സൃഷ്ടിക്കുകയും ചെയ്യുന്നു. പിന്നീട് ഇത് സിരിയലൈസ് ചെയ്ത് MQTT ക്ലയന്റ് ടെലിമെട്രി MQTT ടോപ്പിക്കിൽ പ്രസിദ്ധീകരിക്കുന്നു. 1. കോഡ് നിങ്ങളുടെ Wio ടേർമിനലിലേക്ക് അപ്‌ലോഡ് ചെയ്യുക, MQTT ബ്രോക്കർക്ക് അയക്കുന്ന ലൈറ്റ് ലെവലുകൾ കാണാൻ സീരിയൽ മോണിറ്റർ ഉപയോഗിക്കുക. ```output Connecting to WiFi.. Connected! Attempting MQTT connection...connected Sending telemetry {"light":652} Sending telemetry {"light":612} Sending telemetry {"light":583} ``` > 💁 ഈ കോഡ് [code-telemetry/wio-terminal](../../../../../1-getting-started/lessons/4-connect-internet/code-telemetry/wio-terminal) ഫോൾഡറിൽ കണ്ടെത്താം. 😀 നിങ്ങൾ വിജയകരമായി നിങ്ങളുടെ ഡിവൈസിൽ നിന്നൊരു ടെലിമെട്രി അയച്ചിട്ടുണ്ട്. --- **വിവരണം**: ഈ രേഖ AI വിവർത്തന സേവനം [Co-op Translator](https://github.com/Azure/co-op-translator) ഉപയോഗിച്ച് വിവർത്തനം ചെയ്തതാണ്. ഞങ്ങൾ ശരിയായ വിവർത്തനത്തിന് ശ്രമിച്ചുവെങ്കിലും, ഓട്ടോമേറ്റഡ് വിവർത്തനങ്ങളിൽ പിഴവുകളും അച്ചടക്ക കുറവുകളും ഉണ്ടാകാമെന്ന് ദയവായി മനസ്സിലാക്കുക. മൂല രേഖ യഥാർത്ഥ ഭാഷയിൽ ഉള്ളത് മാത്രമാണ് അതിന്റെ പ്രാമാണിക ഉറവിടം. നിർണായകമായ വിവരങ്ങൾക്ക്, പ്രൊഫഷണൽ മാനവ വിവർത്തനം ശുപാർശ ചെയ്യപ്പെടുന്നു. ഈ വിവർത്തനത്തിന്റെ ഉപയോഗം മൂലം ഉണ്ടാകുന്ന തെറ്റിദ്ധാരണകൾക്കും അർത്ഥ വ്യത്യാസങ്ങൾക്കും ഞങ്ങൾ ഉത്തരവാദിത്വം ഏറ്റെടുക്കുന്നില്ല.