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.
60 lines
7.0 KiB
60 lines
7.0 KiB
# ಇಂಟરનેಟ್ ಮೂಲಕ ನಿಮ್ಮ ನೈಟ್ಲೈಟ್ ನಿಯಂತ್ರಿಸಿ - ವರ್ಚುವಲ್ ಐಒಟಿ ಹಾರ್ಡ್ವೇರ್ ಮತ್ತು ರಾಸ್ಪ್ಬೆರ್ರಿ ಪೈ
|
|
|
|
ಪಾಠದ ಈ ಭಾಗದಲ್ಲಿ, ನೀವು MQTT ಬ್ರೋಕರ್ನಿಂದ ನಿಮ್ಮ ರಾಸ್ಪ್ಬೆರ್ರಿ ಪೈ ಅಥವಾ ವರ್ಚುವಲ್ ಐಒಟಿ ಸಾಧನಕ್ಕೆ ಕಳುಹಿಸಲಾದ ಕಮಾಂಡ್ಗಳನ್ನು ಸಬ್ಸ್ಕ್ರೈಬ್ ಮಾಡುತ್ತೀರಿ.
|
|
|
|
## ಕಮಾಂಡ್ಗಳನ್ನು ಸಬ್ಸ್ಕ್ರೈಬ್ ಮಾಡಿ
|
|
|
|
ಮುಂದಿನ ಹೆಜ್ಜೆ ಎಂದರೆ MQTT ಬ್ರೋಕರ್ನಿಂದ ಕಳುಹಿಸಲಾದ ಕಮಾಂಡ್ಗಳನ್ನು ಸಬ್ಸ್ಕ್ರೈಬ್ ಮಾಡಿ ಅವುಗಳಿಗೆ ಪ್ರತಿಕ್ರಿಯಿಸಬೇಕು.
|
|
|
|
### ಕಾರ್ಯ
|
|
|
|
ಕಮಾಂಡ್ಗಳನ್ನು ಸಬ್ಸ್ಕ್ರೈಬ್ ಮಾಡಿ.
|
|
|
|
1. ನೈಟ್ಲೈಟ್ ಪ್ರಾಜೆಕ್ಟ್ ಅನ್ನು VS ಕೋಡ್ನಲ್ಲಿ ತೆರೆಯಿರಿ.
|
|
|
|
1. ನೀವು ವರ್ಚುವಲ್ ಐಒಟಿ ಸಾಧನವನ್ನು ಬಳಸುತ್ತಿದ್ದರೆ, ಟರ್ಮಿನಲ್ ವರ್ಚುವಲ್ ಪರಿಸರವನ್ನು ಚಾಲನೆ ಮಾಡುತ್ತಿದ್ದುದನ್ನು ಖಾತ್ರಿ ಪಡಿಸಿಕೊಳ್ಳಿ. ನೀವು ರಾಸ್ಪ್ಬೆರ್ರಿ ಪೈ ಬಳಸುತ್ತಿದ್ದರೆ, ನೀವು ವರ್ಚುವಲ್ ಪರಿಸರವನ್ನು ಬಳಸುವುದಿಲ್ಲ.
|
|
|
|
1. `client_telemetry_topic` ವ್ಯಾಖ್ಯಾನಗಳ ನಂತರ ಕೆಳಗಿನ ಕೋಡ್ ಅನ್ನು ಸೇರಿಸಿ:
|
|
|
|
```python
|
|
server_command_topic = id + '/commands'
|
|
```
|
|
|
|
`server_command_topic` ಎಂಬುದು ಸಾಧನವು LED ಕಮಾಂಡ್ಗಳನ್ನು ಪಡೆಯಲು ಸಬ್ಸ್ಕ್ರೈಬ್ ಮಾಡುವ MQTT ಟಾಪಿಕ್ ಆಗಿದೆ.
|
|
|
|
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. ಹಿಂದೆ ಮಾಡಿದ ಭಾಗದಂತೆ ಕೋಡ್ ಅನ್ನು ಚಲಾಯಿಸಿ. ನೀವು ವರ್ಚುವಲ್ ಐಒಟಿ ಸಾಧನವನ್ನು ಬಳಸುತ್ತಿದ್ದರೆ, 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 -->
|
|
**ಪ್ರತ್ಯೇಕಣೆ**:
|
|
ಈ ಡಾಕ್ಯುಮೆಂಟ್ ಅನ್ನು AI ಅನುವಾದ ಸೇವೆ [Co-op Translator](https://github.com/Azure/co-op-translator)ನಿಂದ ಅನುವಾದಿಸಲಾಗಿದೆ. ನಾವು ಶುದ್ದತೆಯ ಕಡೆ ಗಮನಹರಿಸುತ್ತಿದ್ದರೂ, ಸ್ವಯಂಚಾಲಿತ ಅನುವಾದಗಳಲ್ಲಿ ದುರ್ಬಲತೆಗಳು ಅಥವಾ ತಪ್ಪುಗಳು ಕಾಣಿಸಬಹುದು ಎಂದು ದಯವಿಟ್ಟು ತಿಳಿದುಕೊಳ್ಳಿ. ಮೂಲ ಡಾಕ್ಯುಮೆಂಟ್ ಅದರ ಮೂಲ ಭಾಷೆಯಲ್ಲೇ ಅತ್ಯಧಿಕೃತ ಮೂಲ ಎಣಿಸಬೇಕಾಗಿದೆ. ಗಂಭೀರ ಮಾಹಿತಿಗಾಗಿ ವೃತ್ತಿಪರ ಮಾನವ ಅನುವಾದವನ್ನು ಶಿಫಾರಸು ಮಾಡಲಾಗುತ್ತದೆ. ಈ ಅನುವಾದದ ಬಳಕೆಯಿಂದ ಉಂಟಾಗುವ ಯಾವುದೇ ತಪ್ಪು ಅರ್ಥಕಲ್ಪನೆಗಳಿಗೆ ನಾವು ಜವಾಬ್ದಾರಿವಿಲ್ಲ.
|
|
<!-- CO-OP TRANSLATOR DISCLAIMER END --> |