You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
IoT-For-Beginners/translations/ml/1-getting-started/lessons/4-connect-internet/single-board-computer-comma...

60 lines
7.5 KiB

# ഇന്റർനെറ്റ üzerinden നൈറ്റ്‌ലൈറ്റ് നിയന്ത്രിക്കുക - വാചക IoT ഹാർഡ്‌വെയർ மற்றும் റാസ്ബെറി പൈ
പാഠത്തിന്റെ ഈ ഭാഗത്തിൽ, നിങ്ങൾ MQTT ബ്രോക്കറിൽ നിന്നുള്ള കമാൻഡുകൾ നിങ്ങളുടെ റാസ്ബെറി പൈയിലേക്കോ വാചക IoT ഉപകരണം വഴിയോ ലഭിക്കുന്നതിന് സബ്സ്ക്രൈബ് ചെയ്യും.
## കമാൻഡുകൾക്ക് സബ്സ്ക്രൈബ് ചെയ്യുക
അടുത്തപടി MQTT ബ്രോക്കറിൽ നിന്നും അയക്കുന്ന കമാൻഡുകൾക്ക് സബ്സ്ക്രൈബ് ചെയ്ത് അവയ്ക്ക് പ്രതികരിക്കുക എന്നതാണ്.
### ടാസ്‌ക്
കമാൻഡുകൾക്ക് സബ്സ്ക്രൈബ് ചെയ്യുക.
1. VS കോഡിൽ നൈറ്റ്‌ലൈറ്റ് പ്രോജക്റ്റ് തുറക്കുക.
1. നിങ്ങൾ വാചക IoT ഉപകരണം ഉപയോഗിക്കുന്നുവെങ്കിൽ, ടെർമിനൽ വാചക അന്തർദ്ദേശീയ പരിസ്ഥിതിയിൽ പ്രവർത്തിക്കുന്നുണ്ടെന്ന് ഉറപ്പാക്കുക. റാസ്ബെറി പൈ ഉപയോഗിച്ചാൽ, നിങ്ങൾക്ക് വാചക അന്തർദ്ദേശീയ പരിസ്ഥിതി ആവശ്യമില്ല.
1. `client_telemetry_topic` നിർവചനത്തിന് ശേഷം താഴെ കാണുന്ന കോഡ് ചേർക്കുക:
```python
server_command_topic = id + '/commands'
```
`server_command_topic` എന്നത് MQTT വിഷയമാണ്; ഉപകരണം LED കമാൻഡുകൾ സ്വീകരിക്കാൻ ഇടുങ്ങുന്നത്.
1. പ്രധാന ലൂപ്പിന് മുകളിൽ, `mqtt_client.loop_start()` വരിയുടെ ശേഷമുള്ള ഭാഗത്ത് താഴെ കാണുന്ന കോഡ് ചേർക്കുക:
```python
def handle_command(client, userdata, message):
payload = json.loads(message.payload.decode())
print("Message received:", payload)
if payload['led_on']:
led.on()
else:
led.off()
mqtt_client.subscribe(server_command_topic)
mqtt_client.on_message = handle_command
```
ഈ കോഡ് `handle_command` എന്ന ഒരു ഫങ്ഷൻ നിർവചിക്കുന്നു, ഇത് ഒരു സന്ദേശം JSON ഡോക്യുമെന്റായി വായിക്കുകയും `led_on` പ്രോപ്പർട്ടി മൂല്യം പരിശോധിക്കുകയും ചെയ്യുന്നു. അതു `True` ആണെങ്കിൽ LED ഓൺ ചെയ്യുന്നുവേണം, അല്ലെങ്കിൽ ഓഫ്.
MQTT ക്ലയന്റ്, സർവറിനു അയക്കുന്ന സന്ദേശങ്ങൾ ലഭിക്കുന്നതിനായി ആ വിഷയത്തിൽ സബ്സ്ക്രൈബ് ചെയ്യുകയും, ഒപ്പം സന്ദേശം ലഭിച്ചപ്പോൾ `handle_command` ഫങ്ഷൻ വിളിക്കുന്നതായി സജ്ജമാക്കുകയും ചെയ്യുന്നു.
> 💁 `on_message` ഹാൻഡ്ലർ എല്ലാ സബ്സ്ക്രൈബ് ചെയ്ത വിഷയങ്ങൾക്കും വിളിക്കപ്പെടുന്നു. നിങ്ങൾ ഭാവിയിൽ നിരവധി വിഷയങ്ങളിൽ കേൾക്കുന്നതിന് കോഡ് എഴുതുകയാണെങ്കിൽ, സന്ദേശം അയച്ച വിഷയത്തെ `message` ഒബ്ജക്റ്റിൽ നിന്ന് സ്വീകരിക്കാവുന്നതാണ്.
1. മുൻ‌പ് ഭാഗത്തുള്ള അസൈൻമെന്റ് പോലെ തന്നെ കോഡ് പ്രവർത്തിപ്പിക്കുക. നിങ്ങൾ വാചക IoT ഉപകരണം ഉപയോഗിച്ചാൽ, CounterFit ആപ്പ് പ്രവർത്തിക്കുന്നുണ്ടെന്ന് ഉറപ്പാക്കുകയും ലൈറ്റ് സെൻസർ, LED ശരിയായ പിനുകളിൽ സൃഷ്‌ടിച്ചിട്ടുണ്ടെന്ന് പരിശോധിക്കുകയും ചെയ്യുക.
1. നിങ്ങളുടെ ഭൗതികമോ വാചകമോ ഉപകരണം കണ്ടെത്തുന്ന ലൈറ്റ് നിലം ക്രമീകരിക്കുക. സന്ദേശങ്ങൾ സ്വീകരിക്കുകയും കമാൻഡുകൾ അയയ്ക്കുകയും ടെർമിനലിൽ രേഖപ്പെടുത്തുകയും ചെയ്യും. ലൈറ്റ് നിലപ്രകാരം LED ഓൺ-ഓഫ് ചെയ്യും.
> 💁 ഈ കോഡ് നിങ്ങൾക്ക് [code-commands/virtual-device](../../../../../1-getting-started/lessons/4-connect-internet/code-commands/virtual-device) ഫോൾഡറിൽ അല്ലെങ്കിൽ [code-commands/pi](../../../../../1-getting-started/lessons/4-connect-internet/code-commands/pi) ഫോൾഡറിൽ നേടാം.
😀 നിങ്ങൾ MQTT ബ്രോക്കറിൽ നിന്നുള്ള കമാൻഡുകൾക്ക് പ്രതികരിക്കാൻ നിങ്ങളുടെ ഉപകരണം വിജയകരമായി കോഡുചെയ്തിരിക്കുന്നു.
---
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**അസരിപ്പാട്**:
ഈ രേഖ ഈ ഐഎ ട്രാൻസ്ലേഷൻ സേവനമായ [കോ-ഓപ്പ് ട്രാൻസ്ലേറ്റർ](https://github.com/Azure/co-op-translator) ഉപയോഗിച്ച് പരിഭാഷപ്പെടുത്തിയതാണ്. നിഗൂಢതയിലേക്ക് ശ്രമിച്ചെങ്കിലും, യാന്ത്രിക തർജ്ജമകളിൽ അപൂർവമായ ഭാഷാപിഴവുകൾ ഉണ്ടാകാമെന്ന് ശ്രദ്ധിക്കുക. മൗലിക രേഖ അതിന്റെ ജന്മഭാഷയിലുള്ള രൂപം നിഗൂഢമായ സ്രോതസായി കണക്കാക്കപ്പെടണം. നിർ‍ണായക വിവരങ്ങൾക്ക്, പ്രൊഫഷണൽ മാനവ ട്രാൻസ്ലേഷൻ നിർദ്ദേശിക്കുന്നു. ഈ തർജ്ജമ ഉപയോഗത്തിൽ നിന്നുണ്ടാകുന്ന തെറ്റിദ്ധാരണകൾക്കോ ভুলവിവർത്തനങ്ങൾക്കോ ഞങ്ങൾ ഉത്തരവാദികളല്ല.
<!-- CO-OP TRANSLATOR DISCLAIMER END -->