7.9 KiB
ತಾಪಮಾನವನ್ನು ಪ್ರಕಟಿಸಿ - ವಿಯೋ ಟರ್ಮಿನಲ್
ಈ ಪಾಠದ ಭಾಗದಲ್ಲಿ, ನೀವು ವಿಯೋ ಟರ್ಮಿನಲ್ ಕಂಡುಹಿಡಿದ ತಾಪಮಾನ ಮೌಲ್ಯಗಳನ್ನು MQTT ಮೂಲಕ ಪ್ರಕಟಿಸುತ್ತೀರಿ ಹೀಗಾಗಿ ಅವುಗಳನ್ನು ನಂತರ GDD ಲೆಕ್ಕಹಾಕಲು ಬಳಸಬಹುದು.
ತಾಪಮಾನವನ್ನು ಪ್ರಕಟಿಸಿ
ತಾಪಮಾನವನ್ನು ಓದಲಾದ ಮೇಲೆ, ಅದನ್ನು MQTT ಮೂಲಕ ಕೆಲವು 'ಸರ್ವರ್' ಕೋಡ್ಗೆ ಪ್ರಕಟಿಸಬಹುದಾಗಿದೆ, ಅದು ಮೌಲ್ಯಗಳನ್ನು ಓದಿ, GDD ಲೆಕ್ಕಹಾಕಲು ಬಳಸಲು ಸಿದ್ಧವಾಗಿಸುವಂತೆ ಇವುಗಳನ್ನು ಸಂಗ್ರಹಿಸಲಿದೆ. ಮೈಕ್ರೊಕಂಟ್ರೋಲರ್ಗಳುಿಂಟ್ ನೆಟ್ ರೀತಿ ಸಮಯವನ್ನು ಓದಲು ಅಥವಾ ಸಮಯವನ್ನು ಬಾಕ್ಸ್ನಿಂದಲೂ ರಿಯಲ್-ಟೈಮ್ ಕ್ಲಾಕ್ನೊಂದಿಗೆ ಟ್ರ್ಯಾಕ್ ಮಾಡಲು ಸಾಧ್ಯವಿಲ್ಲ, ಸಾಧನದಲ್ಲಿರುವ ಅಗತ್ಯವಾದ ಹಾರ್ಡ್ವೇರ್ ಇದೆ ಎಂದು ಊಹಿಸಿ, ಇದು ಪ್ರೋಗ್ರಾಮ್ ಮಾಡಲ್ಪಡುವ ಅಗತ್ಯವಿದೆ.
ಈ ಪಾಠವನ್ನು ಸರಳಗೊಳಿಸಲು, ಸಮಯವನ್ನು ಸೆನ್ಸಾರ್ ಡೇಟಾ ಜೊತೆಗೆ ಕಳುಹಿಸಲಾಗುವುದಿಲ್ಲ, ಬದಲಾಗಿ ಸಂದೇಶಗಳನ್ನು ಸ್ವೀಕರಿಸುವಾಗ ಸರ್ವರ್ ಕೋಡ್ ನಂತರ ಇದನ್ನು ಸೇರಿಸಬಹುದು.
ಕಾರ್ಯ
ಪರಿಕರವನ್ನು ತಾಪಮಾನ ಡೇಟಾವನ್ನು ಪ್ರಕಟಿಸಲು ಪ್ರೋಗ್ರಾಮ್ ಮಾಡಿ.
-
temperature-sensorವಿಯೋ ಟರ್ಮಿನಲ್ ಪ್ರಾಜೆಕ್ಟ್ ಅನ್ನು ತೆರೆಯಿರಿ -
MQTT ಗೆ ಸಂಪರ್ಕಿಸಲು ಮತ್ತು ಟೆಲಿಮೆಟ್ರಿ ಕಳುಹಿಸಲು ನೀವು ಪಾಠ 4 ನಲ್ಲಿ ಮಾಡಿದ ಹೆಜ್ಜೆಗಳನ್ನು ಪುನರಾವರ್ತಿಸಿ, ನೀವು ಅದೇ ಸಾರ್ವಜನಿಕ Mosquitto ಬ್ರೋಕರ್ ಬಳಸುವಿರಿ.
ಇದಕ್ಕೆ ಹೆಜ್ಜೆಗಳು ಇವು:
.iniಫೈಲ್ಗೆ Seeed WiFi ಮತ್ತು MQTT ಲೈಬ್ರರಿಗಳನ್ನು ಸೇರಿಸಿ- WiFi ಗೆ ಸಂಪರ್ಕಿಸಲು config ಫೈಲ್ ಮತ್ತು ಕೋಡ್ ಸೇರಿಸಿ
- MQTT ಬ್ರೋಕರ್ಗೆ ಸಂಪರ್ಕಿಸಕೂಡ Code ಸೇರಿಸಿ
- ಟೆಲಿಮೆಟ್ರಿಯನ್ನು ಪ್ರಕಟಿಸಲು ಕೋಡ್ ಸೇರಿಸಿ
⚠️ ಅಗತ್ಯವಿದ್ದರೆ ಪಾಠ 4 ನಿಂದ MQTT ಗೆ ಸಂಪರ್ಕಿಸುವ ಸೂಚನೆಗಳು ಮತ್ತು ಟೆಲಿಮೆಟ್ರಿ ಕಳುಹಿಸುವ ಸೂಚನೆಗಳು ನೋಡಿ.
-
config.hಹೆಡರ್ ಫೈಲ್ನಲ್ಲಿCLIENT_NAMEಈ ಪ್ರಾಜೆಕ್ಟ್ ಅನ್ನು ಪ್ರತಿಬಿಂಬಿಸುವಂತೆ ಮಾಡಿ:const string CLIENT_NAME = ID + "temperature_sensor_client"; -
ಟೆಲಿಮೆಟ್ರಿಗಾಗಿ, ಲೈಟ್ ಮೌಲ್ಯವನ್ನು ಕಳುಹಿಸುವ ಬದಲು, DHT ಸೆನ್ಸರ್ನಿಂದ ಓದಿದ ತಾಪಮಾನ ಮೌಲ್ಯವನ್ನು JSON ಡಾಕ್ಯುಮೆಂಟ್ನ
temperatureಎಂಬ ಪ್ರಾಪರ್ಟಿಯಲ್ಲಿ ಕಳುಹಿಸಿmain.cppನಲ್ಲಿloopಫಂಕ್ಷನ್ ಅನ್ನು ಬದಲಿಸಿ:float temp_hum_val[2] = {0}; dht.readTempAndHumidity(temp_hum_val); DynamicJsonDocument doc(1024); doc["temperature"] = temp_hum_val[1]; -
ತಾಪಮಾನ ಮೌಲ್ಯವನ್ನು ತುಂಬಾ ಹೆಚ್ಚಾಗಿ ಓದಲು ಅಗತ್ಯವಿಲ್ಲ - ಅದು ಚಿಕ್ಕ ಸಮಯದಲ್ಲಿ ಬಹಳ ಕಡಿಮೆ ಬದಲಾವಣೆಯಾಗುತ್ತದೆ, ಆದ್ದರಿಂದ
loopಫಂಕ್ಷನ್ನಲ್ಲಿdelayಅನ್ನು 10 ನಿಮಿಷಕ್ಕೆ ಸೆಟ್ ಮಾಡಿ:delay(10 * 60 * 1000);💁
delayಫಂಕ್ಷನ್ ಸಮಯವನ್ನು ಮಿಲಿಸೆಕೆಂಡ್ಗಳಲ್ಲಿ ತೆಗೆದುಕೊಳ್ಳುತ್ತದೆ, ಆದ್ದರಿಂದ ಓದಲು ಸುಲಭವಾಗಿಸುವಂತೆ ಮೌಲ್ಯವನ್ನು ಲೆಕ್ಕಾಚಾರದ ಫಲವಾಗಿ ನೀಡಲಾಗಿದೆ. 1,000ms ನೊಂದು ಒಂದು ಸೆಕೆಂಡಿಗೆ, 60s ನೊಂದು ಒಂದು ನಿಮಿಷಕ್ಕೆ, ಆದ್ದರಿಂದ 10 x (60s ಒಂದು ನಿಮಿಷಕ್ಕೆ) x (1000ms ಒಂದು ಸೆಕೆಂಡಿಗೆ) 10 ನಿಮಿಷ ದೆ ಇರುತ್ತದೆ. -
ಇದನ್ನು ನಿಮ್ಮ ವಿಯೋ ಟರ್ಮಿನಲ್ ಗೆ ಅಪ್ಲೋಡ್ ಮಾಡಿ, ಮತ್ತು ಸೀರಿಯಲ್ ಮೋನಿಟರ್ ಬಳಸಿ MQTT ಬ್ರೋಕರ್ಗೆ ತಾಪಮಾನ ಕಳುಹಿಸುವುದನ್ನು ನೋಡಿ.
--- Available filters and text transformations: colorize, debug, default, direct, hexlify, log2file, nocontrol, printable, send_on_enter, time --- More details at http://bit.ly/pio-monitor-filters --- Miniterm on /dev/cu.usbmodem1201 9600,8,N,1 --- --- Quit: Ctrl+C | Menu: Ctrl+T | Help: Ctrl+T followed by Ctrl+H --- Connecting to WiFi.. Connected! Attempting MQTT connection...connected Sending telemetry {"temperature":25} Sending telemetry {"temperature":25}
💁 ಈ ಕೋಡ್ ಅನ್ನು code-publish-temperature/wio-terminal ಫೋಲ್ಡರ್ನಲ್ಲಿ ಹುಡುಕಬಹುದು.
😀 ನೀವು ಯಶಸ್ವಿಯಾಗಿ ನಿಮ್ಮ ಡಿವೈಸ್ನಿಂದ ತಾಪಮಾನವನ್ನು ಟೆಲಿಮೆಟ್ರಿಯಾಗಿ ಪ್ರಕಟಿಸಿದ್ದಾರೆ.
ಜಾನೆ:
ಈ ದಾಖಲೆ Co-op Translator ಎಂಬ AI ಅನುವಾದ ಸೇವೆಯನ್ನು ಬಳಸಿಕೊಂಡು ಅನುವದಿಸಲಾಗಿದೆ. ನಾವು ಶುದ್ಧತೆಗೆ ಪ್ರಯತ್ನಿಸಿದರೂ, ავტომೇಟೆಡ್ ಅನುವಾದಗಳಲ್ಲಿ ತಪ್ಪುಗಳು ಅಥವಾ ಅಸತ್ಯತೆಯುಂಟಾಗಬಹುದು ಎಂದು ದಯವಿಟ್ಟು ಗಮನಿಸಿ. ಮೂಲ ಭಾಷೆಯಲ್ಲಿರುವ ಮೂಲ ದಾಖಲೆ ಅಧಿಕೃತ ಮೂಲವೆಂದು ಪರಿಗಣಿಸಬೇಕು. ಮಹತ್ವದ ಮಾಹಿತಿಗಾಗಿ, ವೃತ್ತಿಪರ ಮಾನವ ಅನುವಾದವನ್ನು ಶಿಫಾರಸು ಮಾಡಲಾಗಿದೆ. ಈ ಅನುವಾದ ಬಳಕೆಯಿಂದ ಉಂಟಾಗುವ ಯಾವುದೇ ಅರ್ಥಕ್ಕೋರುವ ಗೊಂದಲಗಳ ಅಥವಾ ತಪ್ಪು ವಿವರಣೆಗಳಿಗೆ ನಾವು ಹೊಣೆಗಾರರಾಗುವುದಿಲ್ಲ.