5.6 KiB
ನಿಮ್ಮ ರಾತ್ರಿ ಬೆಳಕನ್ನು ಇಂಟರ್ನೆಟ್ ಮೂಲಕ ನಿಯಂತ್ರಿಸಿ - ವರ್ಚುವಲ್ ಐಒಟಿ ಹಾರ್ಡ್ವೇರ್ ಮತ್ತು ರಾಸ್ಪ್ಬೆರಿ ಪೈ
ಪಾಠದ ಈ ಭಾಗದಲ್ಲಿ, ನೀವು ನಿಮ್ಮ ರಾಸ್ಪ್ಬೆರಿ ಪೈ ಅಥವಾ ವರ್ಚುವಲ್ ಐಒಟಿ ಸಾಧನದಿಂದ ಬೆಳಕಿನ ಮಟ್ಟಗಳೊಂದಿಗೆ ಟೆಲಿಮೆಟ್ರಿ ಅನ್ನು MQTT ಬ್ರೋಕರ್ಗೆ ಕಳುಹಿಸುವಿರಿ.
ಟೆಲಿಮೆಟ್ರಿ ಪ್ರಕಟಿಸಿ
ಮುಂದಿನ ಹೆಜ್ಜೆ ಎಂದರೆ ಟೆಲಿಮೆಟ್ರಿ ಸಹಿತ JSON ಡಾಕ್ಯುಮೆಂಟ್ ರಚಿಸಿ ಅದನ್ನು MQTT ಬ್ರೋಕರ್ಗೆ ಕಳುಹಿಸುವುದು.
ಕಾರ್ಯ
ಟೆಲಿಮೆಟ್ರಿಯನ್ನು MQTT ಬ್ರೋಕರ್ಗೆ ಪ್ರಕಟಿಸಿ.
-
VS ಕೋಡ್ನಲ್ಲಿ ನೈಟ್ಲೈಟ್ ಪ್ರಾಜೆಕ್ಟ್ ಅನ್ನು ತೆರೆಯಿರಿ.
-
ನೀವು ವರ್ಚುವಲ್ ಐಒಟಿ ಸಾಧನವನ್ನು ಬಳಸುತ್ತಿರುವರೆ, ಟರ್ಮಿನಲ್ ವರ್ಚುವಲ್ ಪರಿಸರವನ್ನು ರನ್ ಮಾಡುತ್ತಿರುವುದನ್ನು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಿ. ನೀವು ರಾಸ್ಪ್ಬೆரி ಪೈ ಬಳಸುತ್ತಿದ್ದರೆ, ವರ್ಚುವಲ್ ಪರಿಸರವನ್ನು ಬಳಸುವುದಿಲ್ಲ.
-
app.pyಫೈಲಿನ ಮೇಲ್ಭಾಗಕ್ಕೆ ಕೆಳಗಿನ ಆಮದು ಸೇರಿಸಿ:import jsonjsonಲೈಬ್ರರಿ ಟೆಲಿಮೆಟ್ರಿಯನ್ನು JSON ಡಾಕ್ಯುಮೆಂಟ್ ಆಗಿ ಸಂಕೋಡಿಸಲು ಬಳಸಲಾಗುತ್ತದೆ. -
client_nameಘೋಷಣೆಯ ನಂತರ ಕೆಳಗಿನ 것을 ಸೇರಿಸಿ:client_telemetry_topic = id + '/telemetry'client_telemetry_topicವು ಸಾಧನವು ಬೆಳಕಿನ ಮಟ್ಟಗಳನ್ನು ಪ್ರಕಟಿಸುವ MQTT ವಿಷಯ. -
ಫೈಲಿನ ಕೊನೆಯಲ್ಲಿ ಇರುವ
while True:ಲೂಪ್ನ ವಿಷಯಗಳನ್ನು ಕೆಳಗಿನದಾಗಿ ಬದಲಾಯಿಸಿ: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 ಬ್ರೋಕರ್ಗೆ ಪ್ರಕಟಿಸುತ್ತದೆ. ನಂತರ ಸಂದೇಶಗಳ頻ತೆ ಕಡಿಮೆ ಮಾಡಲು ನಿದ್ರಿಸುತ್ತಾನೆ.
-
ನೀವು ಹಿಂದಿನ ಭಾಗದ ಹೋಲಿಕೆಯಂತೆ ಈ ಕೋಡ್ ಅನ್ನು ರನ್ ಮಾಡಿ. ನೀವು ವರ್ಚುವಲ್ ಐಒಟಿ ಸಾಧನ ಬಳಸುತ್ತಿದ್ದರೆ, ಕೌಂಟರ್ಫಿಟ್ ಆ್ಯಪ್ ರನ್ ಆಗುತ್ತಿದೆ ಮತ್ತು ಲೈಟ್ ಸೆನ್ಸಾರ್ ಮತ್ತು LED ಸರಿಯಾದ ಪಿನ್ ಗಳಲ್ಲಿ ರಚಿಸಲಾಗಿದೆ ಎಂದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಿ.
(.venv) ➜ nightlight python app.py MQTT connected! Sending telemetry {"light": 0} Sending telemetry {"light": 0}
💁 ನೀವು ಈ ಕೋಡ್ ಅನ್ನು code-telemetry/virtual-device ಫೋಲ್ಡರ್ ಅಥವಾ code-telemetry/pi ಫೋಲ್ಡರ್ನಲ್ಲಿ ಕಂಡುಹಿಡಿಯಬಹುದು.
😀 ನೀವು ಯಶಸ್ವಿಯಾಗಿ ನಿಮ್ಮ ಸಾಧನದಿಂದ ಟೆಲಿಮೆಟ್ರಿ ಕಳುಹಿಸಿದ್ದೀರಿ.
ಅಪರೀತಿ:
ಈ ದಾಖಲೆ Co-op Translator ಎಂಬ AI ಅನುವಾದ ಸೇವೆಯನ್ನು ಬಳಸಿಕೊಂಡು ಅನುವಾದಿಸಲಾಗಿದೆ. ನಾವು ಶುದ್ದತೆಯಿಗಾಗಿ ಪ್ರಯತ್ನಿಸುತ್ತಿರುವಾಗ, ಸ್ವಯಂಚಾಲಿತ ಅನುವಾದಗಳಲ್ಲಿ ತಪ್ಪುಗಳು ಅಥವಾ ಅಸಮರ್ಪಕತೆಗಳು ಇರಬಹುದು ಎಂದು ಗಮನಿಸಿ. ಮೂಲ ಭಾಷೆಯಲ್ಲಿ ಇರುವ ಮೂಲ ದಾಖಲೆ ನಿಜವಾದ ಮತ್ತು ಮಾನ್ಯ ಮೂಲವಾಗಿರುವುದಾಗಿ ಪರಿಗಣಿಸಬೇಕು. ಪ್ರಮುಖ ಮಾಹಿತಿಗಾಗಿ ವೃತ್ತಿಪರ ಮಾನವ ಅನುವಾದವನ್ನು ಶಿಫಾರಸು ಮಾಡಲಾಗುತ್ತದೆ. ಈ ಅನುವಾದ ಬಳಕೆಯಿಂದ ಉಂಟಾಗುವ ಯಾವುದೇ ತಪ್ಪು ಗ್ರಹಿಕೆಗಳಿಗೆ ಅಥವಾ ದೋಷವಿಮಾನಕ್ಕೆ ನಾವು ಹೊಣೆಗಾರರಲ್ಲ.