|
|
# ഇന്റർനെറ്റിൽ നിങ്ങളുടെ നൈറ്റ് ലൈറ്റ് നിയന്ത്രിക്കുക - വെർച്ച്വൽ 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) ഫോൾഡറിൽ കാണാം.
|
|
|
|
|
|
😀 നിങ്ങൾ വിജയകരമായി നിങ്ങളുടെ ഉപകരണത്തിൽ നിന്ന് ടെലിമെട്രി അയച്ചു.
|
|
|
|
|
|
---
|
|
|
|
|
|
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
|
|
|
**പ്രതിജ്ഞാപത്രം**:
|
|
|
ഈ രേഖ AI വിവർത്തന സേവനം [Co-op Translator](https://github.com/Azure/co-op-translator) ഉപയോഗിച്ച് പരിഭാഷപ്പെടുത്തിയതാണ്. നമുക്ക് കൃത്യതയ്ക്ക് ശ്രമിക്കുകയാണെങ്കിലും, യാന്ത്രിക വിവർത്തനങ്ങളിൽ പിഴവുകളോ അസംവിധാനങ്ങളോ ഉണ്ടായേക്കാമെന്ന് ദയവായി മനസ്സിലാക്കുക. ആദ്യരൂപം ഉള്ള ഭാഷയിലെ തന്നെ ഈ രേഖയെ മേൽനോട്ട מקורമായി പരിഗണിക്കേണ്ടതാണ്. അത്യന്താപേക്ഷിത വിവരങ്ങൾക്ക് പেশাদარი മനുഷ്യ വിവർത്തന ശുപാർശ ചെയ്യുന്നു. ഈ പരിഭാഷ ഉപയോഗിച്ചതിനെ തുടർന്ന് ഉണ്ടാകുന്ന ഏതൊരു തെറ്റിഅർത്ഥങ്ങൾക്കും അല്ലെങ്കിൽ വിവക്ഷകൾക്കുമാണ് ഞങ്ങൾ ഉത്തരവാദികളാകാത്തത്.
|
|
|
<!-- CO-OP TRANSLATOR DISCLAIMER END --> |