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.
86 lines
8.2 KiB
86 lines
8.2 KiB
# ಇಂಟರ್ನೆಟ್ ಮೂಲಕ ನಿಮ್ಮ ನೈಟ್ಲೈಟ್ ಅನ್ನು ನಿಯಂತ್ರಿಸಿ - ವರ್ಚುವಲ್ ಐಒಟಿ ಹಾರ್ಡ್ವೇರ್ ಮತ್ತು ರಾಸ್ಪ್ಬೆರಿ ಪೈ
|
|
|
|
ಐಒಟಿ ಸಾಧನವನ್ನು *test.mosquitto.org* ಜೊತೆ MQTT ಬಳಸಿ ಸಂವಹನ ಮಾಡಲು ಕೋಡ್ ಮಾಡಬೇಕಾಗಿದ್ದು, ಲೈಟ್ ಸೆನ್ಸರ್ ಓದಿನೊಂದಿಗೆ ಟೆಲಿವೆಲ್ಮೆಟ್ರಿ ಮೌಲ್ಯಗಳನ್ನು ಕಳುಹಿಸಿ, ಮತ್ತು ಎಡ್ಎಲ್ಇ ನಿಯಂತ್ರಣಕ್ಕಾಗಿ ಆಜ್ಞೆಗಳು ಸ್ವೀಕರಿಸಬೇಕಾಗುತ್ತದೆ.
|
|
|
|
ಪಾಠದ ಈ ಭಾಗದಲ್ಲಿ, ನೀವು ನಿಮ್ಮ ರಾಸ್ಪ್ಬೆರಿ ಪೈ ಅಥವಾ ವರ್ಚುವಲ್ ಐಒಟಿ ಸಾಧನವನ್ನು MQTT ಬ್ರೋಕರ್ಗೆ ಸಂಪರ್ಕಿಸುವಿರಿ.
|
|
|
|
## MQTT ಕ್ಲೈಂಟ್ ಪ್ಯಾಕೇಜ್ ಅನ್ನು ಇನ್ಸ್ಟಾಲ್ ಮಾಡಿಕೊಳ್ಳಿ
|
|
|
|
MQTT ಬ್ರೋಕರ್ ಜೊತೆಗೆ ಸಂವಹನ ಮಾಡಲು, ನೀವು ನಿಮ್ಮ ಪೈನಲ್ಲಿ ಅಥವಾ ನೀವು ವರ್ಚುವಲ್ ಸಾಧನ ಬಳಸುತ್ತಿದ್ದರೆ ವರ್ಚುವಲ್ ಪರಿಸರದಲ್ಲಿಒಂದು MQTT ಲೈಬ್ರರಿ ಪಿಪ್ ಪ್ಯಾಕೇಜ್ ಇನ್ಸ್ಟಾಲ್ ಮಾಡಿಕೊಳ್ಳಬೇಕಾಗುತ್ತದೆ.
|
|
|
|
### ಕಾರ್ಯ
|
|
|
|
ಪಿಪ್ ಪ್ಯಾಕೇಜನ್ನು ಇನ್ಸ್ಟಾಲ್ ಮಾಡಿಕೊಳ್ಳಿ
|
|
|
|
1. VS ಕೋಡ್ನಲ್ಲಿ ನೈಟ್ಲೈಟ್ ಪ್ರಾಜೆಕ್ಟ್ ತೆರೆಯಿರಿ.
|
|
|
|
1. ನೀವು ವರ್ಚುವಲ್ ಐಒಟಿ ಸಾಧನ ಬಳಸುತ್ತಿದ್ದರೆ, ಟರ್ಮಿನಲ್ಗೆ ವರ್ಚುವಲ್ ಪರಿಸರ ಚಾಲನೆಯಲ್ಲಿದ್ದಾಗಿದ್ದರೆ ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಿ. ನೀವು ರಾಸ್ಪ್ಬೆರಿ ಪೈ ಬಳಸುತ್ತಿದ್ದರೆ, ನೀವು ವರ್ಚುವಲ್ ಪರಿಸರವನ್ನು ಬಳಸುವುದಿಲ್ಲ.
|
|
|
|
1. ಕೆಳಗಿನ ಆಜ್ಞೆಯನ್ನು ಚಾಲನೆ ಮಾಡಿ MQTT ಪಿಪ್ ಪ್ಯಾಕೇಜ್ ಇನ್ಸ್ಟಾಲ್ ಮಾಡಲು:
|
|
|
|
```sh
|
|
pip3 install paho-mqtt
|
|
```
|
|
|
|
## ಸಾಧನವನ್ನು ಕೋಡ್ ಮಾಡಿ
|
|
|
|
ಸಾಧನ ಕೋಡ್ ಮಾಡಲು ಸಿದ್ಧವಾಗಿದೆ.
|
|
|
|
### ಕಾರ್ಯ
|
|
|
|
ಸಾಧನ ಕೋಡ್ ಬರೆಯಿರಿ.
|
|
|
|
1. `app.py` ಫೈಲ್ನ ಮೇಲ್ಪಡಿಯಾಗಿ ಕೆಳಗಿನ ಆಮದು ಬಳಕೆಮಾಡಿ:
|
|
|
|
```python
|
|
import paho.mqtt.client as mqtt
|
|
```
|
|
|
|
`paho.mqtt.client` ಲೈಬ್ರರಿ ನಿಮ್ಮ ಆಪ್ ಅನ್ನು MQTT ಮೂಲಕ ಸಂವಹನ ಮಾಡಲು ಅನುಮತಿಸುತ್ತದೆ.
|
|
|
|
1. ಲೈಟ್ ಸೆನ್ಸರ್ ಮತ್ತು ಎಲ್ಇಡಿ ವಿವರಣೆಗಳ ನಂತರ ಕೆಳಗಿನ ಕೋಡ್ ಸೇರಿಸಿ:
|
|
|
|
```python
|
|
id = '<ID>'
|
|
|
|
client_name = id + 'nightlight_client'
|
|
```
|
|
|
|
`<ID>` ಅನ್ನು ಒಂದು ವಿಶಿಷ್ಟ ID ಯಿಂದ ಬದಲಾಯಿಸಿ, ಇದು ಈ ಸಾಧನ ಕ್ಲೈಂಟ್ ಹೆಸರಾಗಿ ಮತ್ತು ನಂತರ ಈ ಸಾಧನವು ಪ್ರಕಟಿಸುವ ಮತ್ತು ಸೇರ್ಪಡೆ ಮಾಡಿಕೊಳ್ಳುವ ವಿಷಯಗಳಿಗಾಗಿ ಉಪಯೋಗಿಸಲಾಗುತ್ತದೆ. *test.mosquitto.org* ಬ್ರೋಕರ್ ಸಾರ್ವಜನಿಕವಾಗಿದೆ ಮತ್ತು ಈ ನಿಯೋಜನೆ ಮೂಲಕ ಕೆಲಸ ಮಾಡುತ್ತಿರುವ ಇತರ ವಿದ್ಯಾರ್ಥಿಗಳು ಸೇರಿದಂತೆ ಹಲವಾರು ಜನರು ಇನ್ನು ಬಳಕೆಮಾಡುತ್ತಾರೆ. ವಿಶಿಷ್ಟ MQTT ಕ್ಲೈಂಟ್ ಹೆಸರು ಮತ್ತು ವಿಷಯಗಳ ಹೆಸರುಗಳು ನಿಮ್ಮ ಕೋಡ್ ಯಾರದೊಡನೆ ಗದ್ದಲವಾಗದಂತೆ ಖಚಿತಪಡಿಸುತ್ತದೆ. ಈ ID ನೀವು ಈ ನಿಯೋಜನೆಯಲ್ಲಿ ನಂತರ ಸರ್ವರ್ ಕೋಡ್ ರಚಿಸಿದಾಗವೂ ಅಗತ್ಯವಾಗುತ್ತದೆ.
|
|
|
|
> 💁 ನೀವು [GUIDGen](https://www.guidgen.com) ಅನ್ನು ಬಳಸಿಕೊಂಡು ವಿಶಿಷ್ಟ ID ಅನ್ನು ರಚಿಸಬಹುದು.
|
|
|
|
`client_name` ಈ MQTT ಕ್ಲೈಂಟ್ ಬ್ರೋಕರ್ ಮೇಲೆ ವಿಶಿಷ್ಟ ಹೆಸರು ಆಗಿದೆ.
|
|
|
|
1. MQTT ಕ್ಲೈಂಟ್ ವಸ್ತುವನ್ನು ರಚಿಸಿ ಮತ್ತು MQTT ಬ್ರೋಕರ್ಗೆ ಸಂಪರ್ಕಿಸಲು ಈ ಹೊಸ ಕೋಡ್ ಕೆಳಗೆ ಸೇರಿಸಿ:
|
|
|
|
```python
|
|
mqtt_client = mqtt.Client(client_name)
|
|
mqtt_client.connect('test.mosquitto.org')
|
|
|
|
mqtt_client.loop_start()
|
|
|
|
print("MQTT connected!")
|
|
```
|
|
|
|
ಈ ಕೋಡ್ ಕ್ಲೈಂಟ್ ವಸ್ತುವನ್ನು ರಚಿಸುತ್ತದೆ, ಸಾರ್ವಜನಿಕ MQTT ಬ್ರೋಕರ್ಗೆ ಸಂಪರ್ಕಿಸುತ್ತದೆ, ಮತ್ತು ಯಾವುದೇ ಸದಸ್ಯೀಕರಿಸಿದ ವಿಷಯಗಳಲ್ಲಿ ಸಂದೇಶಗಳನ್ನು ಕೇಳುವ ಬ್ಯಾಕ್ಗ್ರೌಂಡ್ ಥ್ರೆಡ್ನಲ್ಲಿ ನಡೆಯುವ ಪ್ರಕ್ರಿಯಾನುಕರಣ ಲೂಪ್ ಪ್ರಾರಂಭಿಸುತ್ತದೆ.
|
|
|
|
1. ಈ ನಿಯೋಜನೆಯ ಹಿಂದಿನ ಭಾಗದಲ್ಲಿ დაშಾರಿಸಿದ ರೀತಿಯಲ್ಲಿ ಈ ಕೋಡ್ ಅನ್ನು ರನ್ ಮಾಡಿ. ನೀವು ವರ್ಚುವಲ್ ಐಒಟಿ ಸಾಧನ ಬಳಸುತ್ತಿದ್ದರೆ, CounterFit ಆಪ್ ಚಾಲನೆಯಲ್ಲಿದ್ದು, ಲೈಟ್ ಸೆನ್ಸರ್ ಮತ್ತು ಎಲ್ಇಡಿ ಸರಿಯಾದ ಪಿನ್ಗಳಲ್ಲಿ ರಚಿಸಲಾಗಿದೆ ಎಂದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಿ.
|
|
|
|
```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 ಬ್ರೋಕರ್ಗೆ ಸಂಪರ್ಕಿಸಿದ್ದೀರಿ.
|
|
|
|
---
|
|
|
|
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
|
|
**ತಪ್ಪು ತಿಳಿವು**:
|
|
ಈ ಡಾಕ್ಯುಮೆಂಟ್ ಅನ್ನು AI ಅನುವಾದ ಸೇವೆ [Co-op Translator](https://github.com/Azure/co-op-translator) ಬಳಸಿ ಅನುವಾದಿಸಲಾಗಿದೆ. ನಾವು ಶುದ್ಧತೆಯತ್ತ ಗಮನಹರಿಸಿದರೂ, ಸ್ವಯಂಚಾಲಿತ ಅನುವಾದಗಳಲ್ಲಿ ದೋಷಗಳು ಅಥವಾ ತಪ್ಪು ಅರ್ಥಗಳಿರಬಹುದು ಎಂದು ದಯವಿಟ್ಟು ಗಮನಿಸಿರಿ. ಮೂಲ ಡಾಕ್ಯುಮೆಂಟ್ ತನ್ನ ಸ್ಥಳೀಯ ಭಾಷೆಯಲ್ಲಿ ಅಧಿಕೃತ ಮೂಲವೆಂದು ಪರಿಗಣಿಸಬೇಕಾಗಿದೆ. ಪ್ರಮುಖ ಮಾಹಿತಿಗಾಗಿ, ವೃತ್ತಿಪರ ಮಾನವ ಅನುವಾದವನ್ನು ಶಿಫಾರಸು ಮಾಡಲಾಗುತ್ತದೆ. ಈ ಅನುವಾದದ ಬಳಕೆಯಿಂದ ಉಂಟಾಗುವ ಯಾವುದೇ ತಪ್ಪಿನ ಅರ್ಥಮಾಡಿಕೊಳ್ಳುವಿಕೆ ಅಥವಾ ಅರ್ಥಗೊಂಡಿಕೆಗೆ ನಾವು ಜವಾಬ್ದಾರಿಯಲ್ಲ.
|
|
<!-- CO-OP TRANSLATOR DISCLAIMER END --> |