7.5 KiB
ਤਾਪਮਾਨ ਪ੍ਰਕਾਸ਼ਿਤ ਕਰੋ - Wio Terminal
ਇਸ ਪਾਠ ਦੇ ਇਸ ਹਿੱਸੇ ਵਿੱਚ, ਤੁਸੀਂ Wio Terminal ਦੁਆਰਾ ਪਤਾ ਲਗਾਏ ਗਏ ਤਾਪਮਾਨ ਮੁੱਲਾਂ ਨੂੰ MQTT ਦੇ ਜ਼ਰੀਏ ਪ੍ਰਕਾਸ਼ਿਤ ਕਰੋਗੇ ਤਾਂ ਜੋ ਉਹ ਬਾਅਦ ਵਿੱਚ GDD ਦੀ ਗਣਨਾ ਕਰਨ ਲਈ ਵਰਤੇ ਜਾ ਸਕਣ।
ਤਾਪਮਾਨ ਪ੍ਰਕਾਸ਼ਿਤ ਕਰੋ
ਜਦੋਂ ਤਾਪਮਾਨ ਪੜ੍ਹਿਆ ਜਾਂਦਾ ਹੈ, ਇਸਨੂੰ MQTT ਦੇ ਜ਼ਰੀਏ ਕੁਝ 'ਸਰਵਰ' ਕੋਡ ਨੂੰ ਪ੍ਰਕਾਸ਼ਿਤ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ ਜੋ ਮੁੱਲਾਂ ਨੂੰ ਪੜ੍ਹੇਗਾ ਅਤੇ GDD ਦੀ ਗਣਨਾ ਲਈ ਤਿਆਰ ਰੱਖੇਗਾ। ਮਾਈਕ੍ਰੋਕੰਟਰੋਲਰ ਇੰਟਰਨੈਟ ਤੋਂ ਸਮਾਂ ਨਹੀਂ ਪੜ੍ਹਦੇ ਅਤੇ ਬਾਕਸ ਤੋਂ ਬਾਹਰ ਇੱਕ ਰੀਅਲ-ਟਾਈਮ ਘੜੀ ਨਾਲ ਸਮਾਂ ਟ੍ਰੈਕ ਨਹੀਂ ਕਰਦੇ, ਜੰਤਰ ਨੂੰ ਇਹ ਕਰਨ ਲਈ ਪ੍ਰੋਗਰਾਮ ਕੀਤਾ ਜਾਣਾ ਚਾਹੀਦਾ ਹੈ, ਜੇਕਰ ਇਸ ਵਿੱਚ ਜ਼ਰੂਰੀ ਹਾਰਡਵੇਅਰ ਹੈ।
ਇਸ ਪਾਠ ਲਈ ਚੀਜ਼ਾਂ ਸਧਾਰਨ ਬਣਾਉਣ ਲਈ, ਸੈਂਸਰ ਡਾਟਾ ਦੇ ਨਾਲ ਸਮਾਂ ਨਹੀਂ ਭੇਜਿਆ ਜਾਵੇਗਾ, ਇਸਦੀ ਬਜਾਏ ਇਹ ਬਾਅਦ ਵਿੱਚ ਜਦੋਂ ਸਰਵਰ ਕੋਡ ਸੁਨੇਹੇ ਪ੍ਰਾਪਤ ਕਰਦਾ ਹੈ, ਜੋੜਿਆ ਜਾ ਸਕਦਾ ਹੈ।
ਕੰਮ
ਜੰਤਰ ਨੂੰ ਤਾਪਮਾਨ ਡਾਟਾ ਪ੍ਰਕਾਸ਼ਿਤ ਕਰਨ ਲਈ ਪ੍ਰੋਗਰਾਮ ਕਰੋ।
-
temperature-sensor
Wio Terminal ਪ੍ਰੋਜੈਕਟ ਖੋਲ੍ਹੋ -
ਪਾਠ 4 ਵਿੱਚ ਕੀਤੇ ਕਦਮਾਂ ਨੂੰ ਦੁਹਰਾਓ ਤਾਂ ਕਿ MQTT ਨਾਲ ਜੁੜ ਸਕੋ ਅਤੇ ਟੈਲੀਮੇਟਰੀ ਭੇਜ ਸਕੋ। ਤੁਸੀਂ ਉਹੀ ਪਬਲਿਕ Mosquitto ਬ੍ਰੋਕਰ ਵਰਤ ਰਹੇ ਹੋਵੋਗੇ।
ਇਸ ਲਈ ਕਦਮ ਹਨ:
.ini
ਫਾਈਲ ਵਿੱਚ Seeed WiFi ਅਤੇ MQTT ਲਾਇਬ੍ਰੇਰੀਆਂ ਸ਼ਾਮਲ ਕਰੋ- WiFi ਨਾਲ ਜੁੜਨ ਲਈ ਕਨਫਿਗ ਫਾਈਲ ਅਤੇ ਕੋਡ ਸ਼ਾਮਲ ਕਰੋ
- MQTT ਬ੍ਰੋਕਰ ਨਾਲ ਜੁੜਨ ਲਈ ਕੋਡ ਸ਼ਾਮਲ ਕਰੋ
- ਟੈਲੀਮੇਟਰੀ ਪ੍ਰਕਾਸ਼ਿਤ ਕਰਨ ਲਈ ਕੋਡ ਸ਼ਾਮਲ ਕਰੋ
⚠️ MQTT ਨਾਲ ਜੁੜਨ ਲਈ ਹਦਾਇਤਾਂ ਅਤੇ ਟੈਲੀਮੇਟਰੀ ਭੇਜਣ ਲਈ ਹਦਾਇਤਾਂ ਪਾਠ 4 ਤੋਂ ਜ਼ਰੂਰ ਵੇਖੋ ਜੇ ਲੋੜ ਹੋਵੇ।
-
ਯਕੀਨੀ ਬਣਾਓ ਕਿ
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 ਮਿੰਟ ਦੇਰੀ ਦਿੰਦਾ ਹੈ। -
ਇਸਨੂੰ ਆਪਣੇ Wio Terminal ਵਿੱਚ ਅੱਪਲੋਡ ਕਰੋ, ਅਤੇ ਸੀਰੀਅਲ ਮਾਨੀਟਰ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਵੇਖੋ ਕਿ ਤਾਪਮਾਨ 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 ਫੋਲਡਰ ਵਿੱਚ ਪਾ ਸਕਦੇ ਹੋ।
😀 ਤੁਸੀਂ ਸਫਲਤਾਪੂਰਵਕ ਆਪਣੇ ਜੰਤਰ ਤੋਂ ਟੈਲੀਮੇਟਰੀ ਵਜੋਂ ਤਾਪਮਾਨ ਪ੍ਰਕਾਸ਼ਿਤ ਕਰ ਦਿੱਤਾ ਹੈ।
ਅਸਵੀਕਾਰਨਾ:
ਇਹ ਦਸਤਾਵੇਜ਼ AI ਅਨੁਵਾਦ ਸੇਵਾ Co-op Translator ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਅਨੁਵਾਦ ਕੀਤਾ ਗਿਆ ਹੈ। ਜਦੋਂ ਕਿ ਅਸੀਂ ਸਹੀਤਾ ਲਈ ਯਤਨਸ਼ੀਲ ਹਾਂ, ਕਿਰਪਾ ਕਰਕੇ ਧਿਆਨ ਦਿਓ ਕਿ ਸਵੈਚਾਲਿਤ ਅਨੁਵਾਦਾਂ ਵਿੱਚ ਗਲਤੀਆਂ ਜਾਂ ਅਸੁੱਤੀਆਂ ਹੋ ਸਕਦੀਆਂ ਹਨ। ਮੂਲ ਦਸਤਾਵੇਜ਼ ਨੂੰ ਇਸਦੀ ਮੂਲ ਭਾਸ਼ਾ ਵਿੱਚ ਅਧਿਕਾਰਤ ਸਰੋਤ ਮੰਨਿਆ ਜਾਣਾ ਚਾਹੀਦਾ ਹੈ। ਮਹੱਤਵਪੂਰਨ ਜਾਣਕਾਰੀ ਲਈ, ਪੇਸ਼ੇਵਰ ਮਨੁੱਖੀ ਅਨੁਵਾਦ ਦੀ ਸਿਫਾਰਸ਼ ਕੀਤੀ ਜਾਂਦੀ ਹੈ। ਇਸ ਅਨੁਵਾਦ ਦੀ ਵਰਤੋਂ ਤੋਂ ਪੈਦਾ ਹੋਣ ਵਾਲੇ ਕਿਸੇ ਵੀ ਗਲਤਫਹਿਮੀ ਜਾਂ ਗਲਤ ਵਿਆਖਿਆ ਲਈ ਅਸੀਂ ਜ਼ਿੰਮੇਵਾਰ ਨਹੀਂ ਹਾਂ।