# ഇന്റർനെറ്റിലൂടെ നിങ്ങളുടെ നൈറ്റ്‌ലൈറ്റിനെ നിയന്ത്രിക്കുക - વર્ચ്വൽ IoT ഹാർഡ്‌വെയർ এবং റാസ്പ്ബെറി പൈ IoT ഉപകരണം *test.mosquitto.org* എന്ന MQTT ബ്രോക്കറുമായി നടത്തുന്ന ടെലിമെട്രി മൂല്യങ്ങൾ പ്രകാശ സെൻസർ വായനയോടെ അയക്കാനും LED നിയന്ത്രിക്കാൻ കമാൻഡുകൾ സ്വീകരിക്കാനും MQTT ഉപയോഗിച്ച് കോഡ് ചെയ്യേണ്ടതാണ്. പാഠഭാഗത്തിന്റെ ഈ ഭാഗത്തിൽ, നിങ്ങൾ നിങ്ങളുടെ റാസ്പ്ബെറി പൈ അല്ലെങ്കിൽ വർച്വൽ IoT ഉപകരണം MQTT ബ്രോക്കറുമായി ബന്ധിപ്പിക്കും. ## MQTT ക്ലയന്റ് പാക്കേജ് ഇൻസ്റ്റാൾ ചെയ്യുക MQTT ബ്രോക്കറുമായി ആശയവിനിമയം നടത്താൻ, നിങ്ങളുടെ പെയ്ക്കേജിൽ അല്ലെങ്കിൽ നിങ്ങൾ വർച്വൽ ഉപകരണം ഉപയോഗിക്കുന്നെങ്കിൽ അതിന്റെ വെർച്വൽ പരിതസ്ഥിതിയിൽ MQTT ലൈബ്രറി പൈപ്പ് പാക്കേജ് ഇൻസ്റ്റാൾ ചെയ്യേണ്ടതുണ്ട്. ### დავალება പൈപ്പ് പാക്കേജ് ഇൻസ്റ്റാൾ ചെയ്യുക 1. VS കോഡിൽ നൈറ്റ്‌ലൈറ്റ പ്രോജെക്ട് തുറക്കുക. 1. നിങ്ങൾ ഒരു വർച്വൽ IoT ഉപകരണം ഉപയോഗിക്കുന്നുവെങ്കിൽ, ടെർമിനലിൽ വർച്വൽ പരിതസ്ഥിതി പ്രവർത്തിക്കുകയാണെന്ന് ഉറപ്പു വരുത്തുക. റാസ്പ്ബെറി പൈ ഉപയോഗിച്ചാൽ വയർച്വൽ പരിതസ്ഥിതി ഉപയോഗിക്കേണ്ടതില്ല. 1. MQTT പൈപ്പ് പാക്കേജ് ഇൻസ്റ്റാൾ ചെയ്യാൻ താഴെ കാണുന്ന കമാൻഡ് റൺ ചെയ്യുക: ```sh pip3 install paho-mqtt ``` ## ഉപകരണം കോഡ് ചെയ്യുക ഉപകരണം കോഡ് ചെയ്യാൻ തയ്യാറാണ്. ### დავალება ഉപകരണ കോഡ് എഴുതുക. 1. `app.py` ഫയലിന്റെ മുകളിലായി താഴെ കാണുന്ന ഇമ്പോർട്ട് ചേർക്കുക: ```python import paho.mqtt.client as mqtt ``` `paho.mqtt.client` ലൈബ്രറി നിങ്ങളുടെ ആപ്പിന് MQTT വഴിയുള്ള ആശയവിനിമയം സാധ്യമാക്കുന്നു. 1. ലൈറ്റ് സെൻസർ ۽ LED നിർവചനങ്ങളുടെ ശേഷം താഴെ കാണുന്ന കോഡ് ചേർക്കുക: ```python id = '' client_name = id + 'nightlight_client' ``` `` എന്നിടത്ത് ഈ ഉപകരണ ക്ലയന്റിന്റെ പേര് ആയ പ്രത്യേക ഒരു ഐഡി ഇടുക, പിന്നീട് ഈ ഉപകരണം പ്രസിദ്ധീകരിക്കുന്ന തോപികുകളും സബ്സ്ക്രൈബ് ചെയ്യുന്ന തോപികുകളും ഇതുപയോഗിച്ച് വിളിക്കുന്നു. *test.mosquitto.org* ബ്രോക്കർ പൊതു ആണെന്നും മറ്റു വിദ്യാർത്ഥികളും ഈ അസൈൻമെൻറിൽ ജോലി ചെയ്തുകൊണ്ടിരിക്കുന്നതും ഉൾപ്പെടുന്നു. ഒരു വ്യത്യസ്ത MQTT ക്ലയന്റ് പേരും തോപിക് പേരും വയ്ക്കുന്നതിലൂടെ നിങ്ങളുടെ കോഡ് മറ്റുള്ളവരുടെ കോഡുമായി പടിയിറങ്ങാതെ പ്രവർത്തിക്കും. ഈ ഐഡി പിന്നീട് സერვർ കോഡ് നിർമ്മിക്കുന്നപ്പോൾ ആവശ്യമായിരിക്കും. > 💁 [GUIDGen](https://www.guidgen.com) പോലുള്ള ഒരു വെബ്സൈറ്റ് ഉപയോഗിച്ച് വ്യത്യസ്തമായ ഒരു ഐഡി സൃഷ്‌ടിക്കാവുന്നതാണ്. `client_name` ബ്രോക്കറിൽ ഈ MQTT ക്ലയന്റിനുള്ള വ്യത്യസ്തമായ പേര് ആണ്. 1. MQTT ക്ലയന്റ് объsonുക്ക് സൃഷ്ടിച്ച് MQTT ബ്രോക്കറുമായി ബന്ധിപ്പിക്കാൻ താഴെ കാണുന്ന കോഡ് ഈ പുതുതായി ചേർത്ത കോഡിന്റെ കീഴിൽ ചേർക്കുക: ```python mqtt_client = mqtt.Client(client_name) mqtt_client.connect('test.mosquitto.org') mqtt_client.loop_start() print("MQTT connected!") ``` ഈ കോഡ് ക്ലയന്റ് объsonൂക് സൃഷ്ടിക്കുന്നു, പൊതു MQTT ബ്രോക്കറുമായി ബന്ധിപ്പിക്കുന്നു, കൂടാതെ ബാക്ക്ഗ്രൗണ്ട് ത്രെഡിൽ പ്രവർത്തിക്കുന്ന പ്രോസസ്സിംഗ് ലൂപ്പ് ആരംഭിക്കുകയും സബ്സ്ക്രൈബ് ചെയ്ത തോപികുകളിലെ സന്ദേശങ്ങൾ കേൾക്കുകയും ചെയ്യും. 1. അസൈൻമെന്റെ മുൻപത് ഭാഗം പോലെ കോഡ് റൺ ചെയ്യുക. നിങ്ങൾ ഒരു വർച്വൽ IoT ഉപകരണം ഉപയോഗിക്കുന്നുവെങ്കിൽ, കൌണ്ടർഫിറ്റ് ആപ്പ് പ്രവർത്തിക്കുന്നുണ്ടെന്ന് ഉറപ്പാക്കുക, പ്രകാശ സെൻസറും LED-ഉം ശരിയായ പിനുകളിൽ സൃഷ്ടിച്ചു തീർന്നിട്ടുണ്ട്. ```output (.venv) ➜ nightlight python app.py MQTT connected! Light level: 0 Light level: 0 ``` > 💁 ഈ കോഡ് നിങ്ങൾക്ക് [code-mqtt/virtual-device](../../../../../1-getting-started/lessons/4-connect-internet/code-mqtt/virtual-device) ഫോൾഡറിലും [code-mqtt/pi](../../../../../1-getting-started/lessons/4-connect-internet/code-mqtt/pi) ഫോൾഡറിലും കണ്ടെത്താം. 😀 നിങ്ങൾ വിജയകരമായി നിങ്ങളുടെ ഉപകരണം ഒരു MQTT ബ്രോക്കറുമായി ബന്ധിപ്പിച്ചു. --- **ഡിസ്ക്ലെയിമർ**: ഈ പ്രമാണം AI വിവർത്തന സേവനം [Co-op Translator](https://github.com/Azure/co-op-translator) ഉപയോഗിച്ച് വിവർത്തനം ചെയ്തതാണ്. ഞങ്ങൾ കൃത്യത ഉറപ്പാക്കാൻ പരിശ്രമിച്ചുവെങ്കിലും, ഓട്ടോമേറ്റഡ് വിവർത്തനങ്ങളിൽ പിശകുകൾ അല്ലെങ്കിൽ അച്ചടക്കമാറ്റങ്ങൾ ഉണ്ടാകാം എന്ന് ദയവായി ശ്രദ്ധിക്കുക. മാതൃഭാഷയിലുള്ള മുള്‍പ്പുരയ്ക്കുള്ള പ്രമാണം അതിനുള്ള ഔദ്യോഗിക ഉറവിടമായി കണക്കാക്കേണ്ടതാണ്. നിർണംകമായ വിവരങ്ങൾക്ക് പ്രൊഫഷണൽ മനുഷ്യ വിവർത്തനം ശുപാർശ ചെയ്യപ്പെടുന്നു. ഈ വിവർത്തനത്തിന്റെ ഉപയോഗത്തിൽ നിന്നുണ്ടാകുന്ന തെറ്റിദ്ധാരണകൾക്കോ വ്യാഖ്യാന പിശകുകൾക്കോ ഞങ്ങൾ ഉത്തരവാദിയല്ല.