# ಇಂಟરનેಟ್ ಮೂಲಕ ನಿಮ್ಮ ನೈಟ್‌ಲೈಟ್ ನಿಯಂತ್ರಿಸಿ - ವರ್ಚುವಲ್ ಐಒಟಿ ಹಾರ್ಡ್‌ವೇರ್ ಮತ್ತು ರಾಸ್ಪ್ಬೆರ್ರಿ ಪೈ ಪಾಠದ ಈ ಭಾಗದಲ್ಲಿ, ನೀವು 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 ಬ್ರೋಕರ್‌ನಿಂದ ಕಮಾಂಡ್‌ಗಳಿಗೆ ಪ್ರತಿಕ್ರಿಯಿಸುವಂತೆ ನಿಮ್ಮ ಸಾಧನವನ್ನು ಯಶಸ್ವಿಯಾಗಿ ಕೋಡ್ ಮಾಡಿದ್ದಾರೆ. --- **ಪ್ರತ್ಯೇಕಣೆ**: ಈ ಡಾಕ್ಯುಮೆಂಟ್ ಅನ್ನು AI ಅನುವಾದ ಸೇವೆ [Co-op Translator](https://github.com/Azure/co-op-translator)ನಿಂದ ಅನುವಾದಿಸಲಾಗಿದೆ. ನಾವು ಶುದ್ದತೆಯ ಕಡೆ ಗಮನಹರಿಸುತ್ತಿದ್ದರೂ, ಸ್ವಯಂಚಾಲಿತ ಅನುವಾದಗಳಲ್ಲಿ ದುರ್ಬಲತೆಗಳು ಅಥವಾ ತಪ್ಪುಗಳು ಕಾಣಿಸಬಹುದು ಎಂದು ದಯವಿಟ್ಟು ತಿಳಿದುಕೊಳ್ಳಿ. ಮೂಲ ಡಾಕ್ಯುಮೆಂಟ್ ಅದರ ಮೂಲ ಭಾಷೆಯಲ್ಲೇ ಅತ್ಯಧಿಕೃತ ಮೂಲ ಎಣಿಸಬೇಕಾಗಿದೆ. ಗಂಭೀರ ಮಾಹಿತಿಗಾಗಿ ವೃತ್ತಿಪರ ಮಾನವ ಅನುವಾದವನ್ನು ಶಿಫಾರಸು ಮಾಡಲಾಗುತ್ತದೆ. ಈ ಅನುವಾದದ ಬಳಕೆಯಿಂದ ಉಂಟಾಗುವ ಯಾವುದೇ ತಪ್ಪು ಅರ್ಥಕಲ್ಪನೆಗಳಿಗೆ ನಾವು ಜವಾಬ್ದಾರಿವಿಲ್ಲ.