6.6 KiB
ਤਾਪਮਾਨ ਪ੍ਰਕਾਸ਼ਿਤ ਕਰੋ - ਵਰਚੁਅਲ IoT ਹਾਰਡਵੇਅਰ ਅਤੇ ਰਾਸਪਬੈਰੀ ਪਾਈ
ਇਸ ਪਾਠ ਦੇ ਇਸ ਹਿੱਸੇ ਵਿੱਚ, ਤੁਸੀਂ ਰਾਸਪਬੈਰੀ ਪਾਈ ਜਾਂ ਵਰਚੁਅਲ IoT ਡਿਵਾਈਸ ਦੁਆਰਾ ਪਤਾ ਲਗਾਏ ਗਏ ਤਾਪਮਾਨ ਮੁੱਲਾਂ ਨੂੰ MQTT ਦੇ ਜ਼ਰੀਏ ਪ੍ਰਕਾਸ਼ਿਤ ਕਰੋਗੇ ਤਾਂ ਜੋ ਉਹ ਬਾਅਦ ਵਿੱਚ GDD ਦੀ ਗਣਨਾ ਕਰਨ ਲਈ ਵਰਤੇ ਜਾ ਸਕਣ।
ਤਾਪਮਾਨ ਪ੍ਰਕਾਸ਼ਿਤ ਕਰੋ
ਜਦੋਂ ਤਾਪਮਾਨ ਪੜ੍ਹਿਆ ਜਾਂਦਾ ਹੈ, ਇਸਨੂੰ MQTT ਦੇ ਜ਼ਰੀਏ 'ਸਰਵਰ' ਕੋਡ ਨੂੰ ਪ੍ਰਕਾਸ਼ਿਤ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ ਜੋ ਮੁੱਲਾਂ ਨੂੰ ਪੜ੍ਹੇਗਾ ਅਤੇ GDD ਦੀ ਗਣਨਾ ਲਈ ਤਿਆਰ ਰੱਖੇਗਾ।
ਕੰਮ - ਤਾਪਮਾਨ ਪ੍ਰਕਾਸ਼ਿਤ ਕਰੋ
ਡਿਵਾਈਸ ਨੂੰ ਤਾਪਮਾਨ ਡਾਟਾ ਪ੍ਰਕਾਸ਼ਿਤ ਕਰਨ ਲਈ ਪ੍ਰੋਗਰਾਮ ਕਰੋ।
-
ਜੇ
temperature-sensor
ਐਪ ਪ੍ਰੋਜੈਕਟ ਖੁੱਲ੍ਹਾ ਨਹੀਂ ਹੈ, ਤਾਂ ਇਸਨੂੰ ਖੋਲ੍ਹੋ। -
ਪਿਛਲੇ ਪਾਠ 4 ਵਿੱਚ ਕੀਤੇ ਕਦਮਾਂ ਨੂੰ ਦੁਹਰਾਓ ਤਾਂ ਕਿ MQTT ਨਾਲ ਕਨੈਕਟ ਕੀਤਾ ਜਾ ਸਕੇ ਅਤੇ ਟੈਲੀਮੇਟਰੀ ਭੇਜੀ ਜਾ ਸਕੇ। ਤੁਸੀਂ ਉਹੀ ਪਬਲਿਕ Mosquitto ਬ੍ਰੋਕਰ ਵਰਤ ਰਹੇ ਹੋ।
ਇਸ ਲਈ ਕਦਮ ਹਨ:
- MQTT pip ਪੈਕੇਜ ਸ਼ਾਮਲ ਕਰੋ
- MQTT ਬ੍ਰੋਕਰ ਨਾਲ ਕਨੈਕਟ ਕਰਨ ਲਈ ਕੋਡ ਸ਼ਾਮਲ ਕਰੋ
- ਟੈਲੀਮੇਟਰੀ ਪ੍ਰਕਾਸ਼ਿਤ ਕਰਨ ਲਈ ਕੋਡ ਸ਼ਾਮਲ ਕਰੋ
⚠️ MQTT ਨਾਲ ਕਨੈਕਟ ਕਰਨ ਲਈ ਹਦਾਇਤਾਂ ਅਤੇ ਟੈਲੀਮੇਟਰੀ ਭੇਜਣ ਲਈ ਹਦਾਇਤਾਂ ਪਾਠ 4 ਤੋਂ ਜ਼ਰੂਰ ਵੇਖੋ ਜੇ ਲੋੜ ਹੋਵੇ।
-
ਯਕੀਨੀ ਬਣਾਓ ਕਿ
client_name
ਇਸ ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਾਮ ਨੂੰ ਦਰਸਾਉਂਦਾ ਹੈ:client_name = id + 'temperature_sensor_client'
-
ਟੈਲੀਮੇਟਰੀ ਲਈ, ਰੋਸ਼ਨੀ ਦਾ ਮੁੱਲ ਭੇਜਣ ਦੀ ਬਜਾਏ, DHT ਸੈਂਸਰ ਤੋਂ ਪੜ੍ਹੇ ਤਾਪਮਾਨ ਮੁੱਲ ਨੂੰ JSON ਦਸਤਾਵੇਜ਼ ਵਿੱਚ
temperature
ਨਾਮਕ ਗੁਣ ਵਿੱਚ ਭੇਜੋ:_, temp = sensor.read() telemetry = json.dumps({'temperature' : temp})
-
ਤਾਪਮਾਨ ਮੁੱਲ ਨੂੰ ਬਹੁਤ ਵਾਰ ਪੜ੍ਹਨ ਦੀ ਲੋੜ ਨਹੀਂ ਹੈ - ਇਹ ਛੋਟੇ ਸਮੇਂ ਵਿੱਚ ਬਹੁਤ ਜ਼ਿਆਦਾ ਨਹੀਂ ਬਦਲੇਗਾ, ਇਸ ਲਈ
time.sleep
ਨੂੰ 10 ਮਿੰਟਾਂ ਲਈ ਸੈਟ ਕਰੋ:time.sleep(10 * 60);
💁
sleep
ਫੰਕਸ਼ਨ ਸਮਾਂ ਸੈਕੰਡਾਂ ਵਿੱਚ ਲੈਂਦਾ ਹੈ, ਇਸ ਲਈ ਇਸਨੂੰ ਪੜ੍ਹਨ ਲਈ ਆਸਾਨ ਬਣਾਉਣ ਲਈ ਮੁੱਲ ਇੱਕ ਗਣਨਾ ਦੇ ਨਤੀਜੇ ਵਜੋਂ ਦਿੱਤਾ ਜਾਂਦਾ ਹੈ। 1 ਮਿੰਟ ਵਿੱਚ 60 ਸੈਕੰਡ, ਇਸ ਲਈ 10 x (1 ਮਿੰਟ ਵਿੱਚ 60 ਸੈਕੰਡ) 10 ਮਿੰਟ ਦੀ ਡਿਲੇਅ ਦਿੰਦਾ ਹੈ। -
ਕੋਡ ਨੂੰ ਉਸੇ ਤਰੀਕੇ ਨਾਲ ਚਲਾਓ ਜਿਵੇਂ ਤੁਸੀਂ ਪਿਛਲੇ ਅਸਾਈਨਮੈਂਟ ਦੇ ਹਿੱਸੇ ਤੋਂ ਕੋਡ ਚਲਾਇਆ ਸੀ। ਜੇ ਤੁਸੀਂ ਵਰਚੁਅਲ IoT ਡਿਵਾਈਸ ਵਰਤ ਰਹੇ ਹੋ, ਤਾਂ ਯਕੀਨੀ ਬਣਾਓ ਕਿ CounterFit ਐਪ ਚਲ ਰਹੀ ਹੈ ਅਤੇ ਨਮੀ ਅਤੇ ਤਾਪਮਾਨ ਸੈਂਸਰ ਸਹੀ ਪਿੰਸ 'ਤੇ ਬਣਾਏ ਗਏ ਹਨ।
pi@raspberrypi:~/temperature-sensor $ python3 app.py MQTT connected! Sending telemetry {"temperature": 25} Sending telemetry {"temperature": 25}
💁 ਤੁਸੀਂ ਇਹ ਕੋਡ code-publish-temperature/virtual-device ਫੋਲਡਰ ਜਾਂ code-publish-temperature/pi ਫੋਲਡਰ ਵਿੱਚ ਲੱਭ ਸਕਦੇ ਹੋ।
😀 ਤੁਸੀਂ ਸਫਲਤਾਪੂਰਵਕ ਆਪਣੇ ਡਿਵਾਈਸ ਤੋਂ ਟੈਲੀਮੇਟਰੀ ਵਜੋਂ ਤਾਪਮਾਨ ਪ੍ਰਕਾਸ਼ਿਤ ਕੀਤਾ ਹੈ।
ਅਸਵੀਕਰਤੀ:
ਇਹ ਦਸਤਾਵੇਜ਼ AI ਅਨੁਵਾਦ ਸੇਵਾ Co-op Translator ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਅਨੁਵਾਦ ਕੀਤਾ ਗਿਆ ਹੈ। ਜਦੋਂ ਕਿ ਅਸੀਂ ਸਹੀ ਹੋਣ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰਦੇ ਹਾਂ, ਕਿਰਪਾ ਕਰਕੇ ਧਿਆਨ ਦਿਓ ਕਿ ਸਵੈਚਾਲਿਤ ਅਨੁਵਾਦਾਂ ਵਿੱਚ ਗਲਤੀਆਂ ਜਾਂ ਅਸੁਚੱਜੇਪਣ ਹੋ ਸਕਦੇ ਹਨ। ਮੂਲ ਦਸਤਾਵੇਜ਼, ਜੋ ਇਸਦੀ ਮੂਲ ਭਾਸ਼ਾ ਵਿੱਚ ਹੈ, ਨੂੰ ਅਧਿਕਾਰਤ ਸਰੋਤ ਮੰਨਿਆ ਜਾਣਾ ਚਾਹੀਦਾ ਹੈ। ਮਹੱਤਵਪੂਰਨ ਜਾਣਕਾਰੀ ਲਈ, ਪੇਸ਼ੇਵਰ ਮਨੁੱਖੀ ਅਨੁਵਾਦ ਦੀ ਸਿਫਾਰਸ਼ ਕੀਤੀ ਜਾਂਦੀ ਹੈ। ਇਸ ਅਨੁਵਾਦ ਦੀ ਵਰਤੋਂ ਤੋਂ ਪੈਦਾ ਹੋਣ ਵਾਲੇ ਕਿਸੇ ਵੀ ਗਲਤਫਹਿਮੀ ਜਾਂ ਗਲਤ ਵਿਆਖਿਆ ਲਈ ਅਸੀਂ ਜ਼ਿੰਮੇਵਾਰ ਨਹੀਂ ਹਾਂ।