5.9 KiB
ಇಂಟರ್ನೆಟ್ மூலம் ನಿಮ್ಮ ನೈಟ್ ಲೈಟ್ ನಿಯಂತ್ರಿಸಿ - Wio ಟರ್ಮಿನಲ್
ಪಾಠದ ಈ ಭಾಗದಲ್ಲಿ, ನೀವು ನಿಮ್ಮ Wio ಟರ್ಮಿನಲ್ನಿಂದ ಬೆಳಕು ಮಟ್ಟಗಳೊಂದಿಗೆ ಟೆಲಿಮೆಟ್ರಿಯನ್ನು MQTT ಬ್ರೊಕರ್ ಗೆ ಕಳುಹಿಸಲಿದ್ದೀರಿ.
JSON ಆರ್ಡುವಿನೊ ಲೈಬ್ರರಿಗಳನ್ನು ಸ್ಥಾಪಿಸಿ
MQTT ಮೂಲಕ ಸಂದೇಶಗಳನ್ನು ಕಳುಹಿಸುವ ಜನಪ್ರಿಯ ವಿಧಾನ JSON ಅನ್ನು ಬಳಸುವುದು. JSON ಓದು ಮತ್ತು ಬರೆಯುವಿಕೆಯನ್ನು ಸುಲಭಗೊಳಿಸುವ ಆರ್ಡುವಿನೊ JSON ಲೈಬ್ರರಿ ಇದೆ.
ಕಾರ್ಯ
ಆರ್ಡುವಿನೊ JSON ಲೈಬ್ರರಿಯನ್ನು ಸ್ಥಾಪಿಸಿ.
-
VS ಕೋಡ್ನಲ್ಲಿ ನೈಟ್ ಲೈಟ್ ಪ್ರಾಜೆಕ್ಟ್ ಅನ್ನು ತೆರೆಯಿರಿ.
-
platformio.iniಫೈಲಿನlib_depsಪಟ್ಟಿಗೆ ಕೆಳಗಿನನ್ನು ಹೆಚ್ಚುವರಿ ಸಾಲಾಗಿ ಸೇರಿಸಿ:bblanchon/ArduinoJson @ 6.17.3ಇದು ArduinoJson, ಆರ್ಡುಯಿನೊ JSON ಲೈಬ್ರರಿಯನ್ನು ಆಮದುಮಾಡುತ್ತದೆ.
ಟೆಲಿಮೆಟ್ರಿ ಪ್ರಕಟಿಸಲು
ಮುಂದಿನ ಹಂತವೆಂದರೆ ಟೆಲಿಮೆಟ್ರಿ ಹೊಂದಿರುವ JSON ಡಾಕ್ಯುಮೆಂಟ್ ಅನ್ನು ರಚಿಸಿ MQTT ಬ್ರೊಕರ್ ಗೆ ಕಳುಹಿಸುವುದು.
ಕಾರ್ಯ - ಟೆಲಿಮೆಟ್ರಿ ಪ್ರಕಟಿಸಿ
MQTT ಬ್ರೊಕರ್ ಗೆ ಟೆಲಿಮೆಟ್ರಿ ಪ್ರಕಟಿಸಿ.
-
MQTT ಬ್ರೊಕರ್ ಗಾಗಿ ಟೆಲಿಮೆಟ್ರಿ ವಿಷಯದ ಹೆಸರನ್ನು ವ್ಯಾಖ್ಯಾನಿಸಲು
config.hಫೈಲಿನ ಕೆಳಭಾಗಕ್ಕೆ ಕೆಳಗಿನ ಕೋಡ್ ಅನ್ನು ಸೇರಿಸಿ:const string CLIENT_TELEMETRY_TOPIC = ID + "/telemetry";CLIENT_TELEMETRY_TOPICಎಂಬುದು ಸಾಧನವು ಬೆಳಕು ಮಟ್ಟಗಳನ್ನು ಪ್ರಕಟಿಸುವ ವಿಷಯವಾಗಿದೆ. -
main.cppಫೈಲನ್ನು ತೆರೆಯಿರಿ -
ಫೈಲಿನ ತಲೆಯನ್ನು
#includeನಿರ್ದೇಶನದ ಕೆಳಗಿನಂತೆ ಸೇರಿಸಿ:#include <ArduinoJSON.h> -
loopಫಂಕ್ಷನ್ ಒಳಗೆ,delayಮೊದಲು ಕೆಳಗಿನ ಕೋಡ್ ಅನ್ನು ಸೇರಿಸಿ:int light = analogRead(WIO_LIGHT); DynamicJsonDocument doc(1024); doc["light"] = light; string telemetry; serializeJson(doc, telemetry); Serial.print("Sending telemetry "); Serial.println(telemetry.c_str()); client.publish(CLIENT_TELEMETRY_TOPIC.c_str(), telemetry.c_str());ಈ ಕೋಡ್ ಬೆಳಕು ಮಟ್ಟವನ್ನು ಓದುತ್ತದೆ ಮತ್ತು ಆ ಮಟ್ಟದೊಂದಿಗೆ ArduinoJson ಉಪಯೋಗಿಸಿ JSON ಡಾಕ್ಯುಮೆಂಟ್ ರಚಿಸುತ್ತದೆ. ನಂತರ ಅದನ್ನು ಸ್ಟ್ರಿಂಗ್ ಆಗಿ ಸರಣಿಸಿದ (serialize) ಮಾಡಿ MQTT ಕ್ಲೈಂಟ್ ಮೂಲಕ ಟೆಲಿಮೆಟ್ರಿ MQTT ವಿಷಯದಲ್ಲಿ ಪ್ರಕಟಿಸಲಾಗುತ್ತದೆ.
-
ನಿಮ್ಮ Wio ಟರ್ಮಿನಲ್ ಗೆ ಕೋಡ್ ಅಪ್ಲೋಡ್ ಮಾಡಿ ಮತ್ತು ಸೇರಿಯಲ್ ಮಾನಿಟರ್ ಬಳಸಿ MQTT ಬ್ರೊಕರ್ ಗೆ ಕಳುಹಿಸಲಾಗುತ್ತಿರುವ ಬೆಳಕು ಮಟ್ಟಗಳನ್ನು ನೋಡಿ.
Connecting to WiFi.. Connected! Attempting MQTT connection...connected Sending telemetry {"light":652} Sending telemetry {"light":612} Sending telemetry {"light":583}
💁 ನೀವು ಈ ಕೋಡ್ ಅನ್ನು code-telemetry/wio-terminal ಫೋಲ್ಡರಿನಲ್ಲಿ ಕಂಡುಹಿಡಿಯಬಹುದು.
😀 ನೀವು ಯಶಸ್ವಿಯಾಗಿ ನಿಮ್ಮ ಸಾಧನದಿಂದ ಟೆಲಿಮೆಟ್ರಿಯನ್ನು ಕಳುಹಿಸಿದ್ದಾರೆ.
ಬಾಧ್ಯತೆ ರಹಿತ ಸೂಚನೆ: ಈ ಡಾಕ್ಯುಮೆಂಟ್ ಅನ್ನು AI ಅನುವಾದ ಸೇವೆ Co-op Translator ಬಳಸಿ ಅನುವಾದಿಸಲಾಗಿದೆ. ನಾವು ಶುದ್ಧತೆಯಿಗಾಗಿ ಪ್ರಯತ್ನಿಸಿದರೂ, ಸ್ವಯಂಚಾಲಿತ ಅನುವಾದಗಳಲ್ಲಿ ತಪ್ಪುಗಳು ಅಥವಾ ಅಸತ್ಯತೆಗಳಾಗಿರಬಹುದು ಎಂದು ದಯವಿಟ್ಟು ಗಮನಿಸಿ. ಮೂಲ ಭಾಷೆಯಲ್ಲಿರುವ ಮೂಲ ಡಾಕ್ಯುಮೆಂಟ್ ಅನ್ನು ಅಧಿಕೃತ ಮೂಲವೆಂದು ಪರಿಗಣಿಸಬೇಕು. ಮಹತ್ವದ ಮಾಹಿತಿಗಾಗಿ ವೃತ್ತಿಪರ ಮಾನವ ಅನುವಾದವನ್ನು ಶಿಫಾರಸು ಮಾಡಲಾಗುತ್ತದೆ. ಈ ಅನುವಾದ ಬಳಕೆಯಿಂದ ಉಂಟಾಗುವ ಯಾವುದೇ ತಪ್ಪು ಅರ್ಥಮಾಡಿಕೊಳ್ಳುವಿಕೆ ಅಥವಾ ಸಂಶಯಗಳಿಗೆ ನಾವು ಜವಾಬ್ದಾರರಾಗಿಲ್ಲ.