You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
154 lines
14 KiB
154 lines
14 KiB
<!--
|
|
CO_OP_TRANSLATOR_METADATA:
|
|
{
|
|
"original_hash": "70e5a428b607cd5a9a4f422c2a4df03d",
|
|
"translation_date": "2025-08-27T11:09:26+00:00",
|
|
"source_file": "2-farm/lessons/1-predict-plant-growth/virtual-device-temp.md",
|
|
"language_code": "pa"
|
|
}
|
|
-->
|
|
# ਤਾਪਮਾਨ ਮਾਪੋ - ਵਰਚੁਅਲ IoT ਹਾਰਡਵੇਅਰ
|
|
|
|
ਇਸ ਪਾਠ ਦੇ ਇਸ ਹਿੱਸੇ ਵਿੱਚ, ਤੁਸੀਂ ਆਪਣੇ ਵਰਚੁਅਲ IoT ਡਿਵਾਈਸ ਵਿੱਚ ਇੱਕ ਤਾਪਮਾਨ ਸੈਂਸਰ ਸ਼ਾਮਲ ਕਰੋਗੇ।
|
|
|
|
## ਵਰਚੁਅਲ ਹਾਰਡਵੇਅਰ
|
|
|
|
ਵਰਚੁਅਲ IoT ਡਿਵਾਈਸ ਇੱਕ ਨਕਲੀ Grove Digital Humidity ਅਤੇ Temperature ਸੈਂਸਰ ਦੀ ਵਰਤੋਂ ਕਰੇਗਾ। ਇਹ ਲੈਬ ਉਸੇ ਤਰ੍ਹਾਂ ਹੈ ਜਿਵੇਂ ਕਿ ਇੱਕ ਰਾਸਪਬੈਰੀ ਪਾਈ ਨਾਲ ਭੌਤਿਕ Grove DHT11 ਸੈਂਸਰ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ।
|
|
|
|
ਸੈਂਸਰ ਇੱਕ **ਤਾਪਮਾਨ ਸੈਂਸਰ** ਨੂੰ **ਨਮੀ ਸੈਂਸਰ** ਨਾਲ ਜੋੜਦਾ ਹੈ, ਪਰ ਇਸ ਲੈਬ ਵਿੱਚ ਤੁਸੀਂ ਸਿਰਫ ਤਾਪਮਾਨ ਸੈਂਸਰ ਹਿੱਸੇ ਵਿੱਚ ਦਿਲਚਸਪੀ ਰੱਖਦੇ ਹੋ। ਇੱਕ ਭੌਤਿਕ IoT ਡਿਵਾਈਸ ਵਿੱਚ, ਤਾਪਮਾਨ ਸੈਂਸਰ ਇੱਕ [ਥਰਮਿਸਟਰ](https://wikipedia.org/wiki/Thermistor) ਹੋਵੇਗਾ ਜੋ ਤਾਪਮਾਨ ਵਿੱਚ ਬਦਲਾਅ ਦੇ ਨਾਲ ਰੋਧ ਵਿੱਚ ਬਦਲਾਅ ਨੂੰ ਮਹਿਸੂਸ ਕਰਕੇ ਤਾਪਮਾਨ ਮਾਪਦਾ ਹੈ। ਤਾਪਮਾਨ ਸੈਂਸਰ ਆਮ ਤੌਰ 'ਤੇ ਡਿਜੀਟਲ ਸੈਂਸਰ ਹੁੰਦੇ ਹਨ ਜੋ ਅੰਦਰੂਨੀ ਤੌਰ 'ਤੇ ਮਾਪੇ ਗਏ ਰੋਧ ਨੂੰ ਡਿਗਰੀ ਸੈਲਸੀਅਸ (ਜਾਂ ਕੇਲਵਿਨ, ਜਾਂ ਫੈਰਨਹਾਈਟ) ਵਿੱਚ ਤਬਦੀਲ ਕਰਦੇ ਹਨ।
|
|
|
|
### CounterFit ਵਿੱਚ ਸੈਂਸਰ ਸ਼ਾਮਲ ਕਰੋ
|
|
|
|
ਵਰਚੁਅਲ ਨਮੀ ਅਤੇ ਤਾਪਮਾਨ ਸੈਂਸਰ ਦੀ ਵਰਤੋਂ ਕਰਨ ਲਈ, ਤੁਹਾਨੂੰ CounterFit ਐਪ ਵਿੱਚ ਦੋ ਸੈਂਸਰ ਸ਼ਾਮਲ ਕਰਨ ਦੀ ਲੋੜ ਹੈ।
|
|
|
|
#### ਕੰਮ - CounterFit ਵਿੱਚ ਸੈਂਸਰ ਸ਼ਾਮਲ ਕਰੋ
|
|
|
|
CounterFit ਐਪ ਵਿੱਚ ਨਮੀ ਅਤੇ ਤਾਪਮਾਨ ਸੈਂਸਰ ਸ਼ਾਮਲ ਕਰੋ।
|
|
|
|
1. ਆਪਣੇ ਕੰਪਿਊਟਰ 'ਤੇ `temperature-sensor` ਨਾਮਕ ਫੋਲਡਰ ਵਿੱਚ ਇੱਕ ਨਵਾਂ Python ਐਪ ਬਣਾਓ ਜਿਸ ਵਿੱਚ `app.py` ਨਾਮਕ ਇੱਕ ਫਾਈਲ ਹੋਵੇ ਅਤੇ ਇੱਕ Python ਵਰਚੁਅਲ ਵਾਤਾਵਰਣ ਬਣਾਓ, ਅਤੇ CounterFit pip ਪੈਕੇਜ ਸ਼ਾਮਲ ਕਰੋ।
|
|
|
|
> ⚠️ ਜੇ ਲੋੜ ਹੋਵੇ ਤਾਂ ਤੁਸੀਂ [ਪਾਠ 1 ਵਿੱਚ CounterFit Python ਪ੍ਰੋਜੈਕਟ ਬਣਾਉਣ ਅਤੇ ਸੈਟਅੱਪ ਕਰਨ ਲਈ ਹਦਾਇਤਾਂ](../../../1-getting-started/lessons/1-introduction-to-iot/virtual-device.md) ਨੂੰ ਵੇਖ ਸਕਦੇ ਹੋ।
|
|
|
|
1. DHT11 ਸੈਂਸਰ ਲਈ CounterFit ਸ਼ਿਮ ਇੰਸਟਾਲ ਕਰਨ ਲਈ ਇੱਕ ਹੋਰ Pip ਪੈਕੇਜ ਇੰਸਟਾਲ ਕਰੋ। ਯਕੀਨੀ ਬਣਾਓ ਕਿ ਤੁਸੀਂ ਇਹ ਵਰਚੁਅਲ ਵਾਤਾਵਰਣ ਐਕਟੀਵੇਟ ਕੀਤੇ ਹੋਏ ਟਰਮੀਨਲ ਤੋਂ ਕਰ ਰਹੇ ਹੋ।
|
|
|
|
```sh
|
|
pip install counterfit-shims-seeed-python-dht
|
|
```
|
|
|
|
1. ਯਕੀਨੀ ਬਣਾਓ ਕਿ CounterFit ਵੈੱਬ ਐਪ ਚੱਲ ਰਿਹਾ ਹੈ।
|
|
|
|
1. ਨਮੀ ਸੈਂਸਰ ਬਣਾਓ:
|
|
|
|
1. *Sensors* ਪੈਨ ਵਿੱਚ *Create sensor* ਬਾਕਸ ਵਿੱਚ, *Sensor type* ਡ੍ਰੌਪਡਾਊਨ ਵਿੱਚੋਂ *Humidity* ਚੁਣੋ।
|
|
|
|
1. *Units* ਨੂੰ *Percentage* 'ਤੇ ਹੀ ਰੱਖੋ।
|
|
|
|
1. ਯਕੀਨੀ ਬਣਾਓ ਕਿ *Pin* ਨੂੰ *5* 'ਤੇ ਸੈਟ ਕੀਤਾ ਗਿਆ ਹੈ।
|
|
|
|
1. **Add** ਬਟਨ ਚੁਣੋ ਤਾਂ ਜੋ ਪਿਨ 5 'ਤੇ ਨਮੀ ਸੈਂਸਰ ਬਣਾਇਆ ਜਾ ਸਕੇ।
|
|
|
|

|
|
|
|
ਨਮੀ ਸੈਂਸਰ ਬਣਾਇਆ ਜਾਵੇਗਾ ਅਤੇ ਸੈਂਸਰਾਂ ਦੀ ਸੂਚੀ ਵਿੱਚ ਦਿਖਾਈ ਦੇਵੇਗਾ।
|
|
|
|

|
|
|
|
1. ਤਾਪਮਾਨ ਸੈਂਸਰ ਬਣਾਓ:
|
|
|
|
1. *Sensors* ਪੈਨ ਵਿੱਚ *Create sensor* ਬਾਕਸ ਵਿੱਚ, *Sensor type* ਡ੍ਰੌਪਡਾਊਨ ਵਿੱਚੋਂ *Temperature* ਚੁਣੋ।
|
|
|
|
1. *Units* ਨੂੰ *Celsius* 'ਤੇ ਹੀ ਰੱਖੋ।
|
|
|
|
1. ਯਕੀਨੀ ਬਣਾਓ ਕਿ *Pin* ਨੂੰ *6* 'ਤੇ ਸੈਟ ਕੀਤਾ ਗਿਆ ਹੈ।
|
|
|
|
1. **Add** ਬਟਨ ਚੁਣੋ ਤਾਂ ਜੋ ਪਿਨ 6 'ਤੇ ਤਾਪਮਾਨ ਸੈਂਸਰ ਬਣਾਇਆ ਜਾ ਸਕੇ।
|
|
|
|

|
|
|
|
ਤਾਪਮਾਨ ਸੈਂਸਰ ਬਣਾਇਆ ਜਾਵੇਗਾ ਅਤੇ ਸੈਂਸਰਾਂ ਦੀ ਸੂਚੀ ਵਿੱਚ ਦਿਖਾਈ ਦੇਵੇਗਾ।
|
|
|
|

|
|
|
|
## ਤਾਪਮਾਨ ਸੈਂਸਰ ਐਪ ਪ੍ਰੋਗਰਾਮ ਕਰੋ
|
|
|
|
ਹੁਣ ਤਾਪਮਾਨ ਸੈਂਸਰ ਐਪ ਨੂੰ CounterFit ਸੈਂਸਰਾਂ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਪ੍ਰੋਗਰਾਮ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ।
|
|
|
|
### ਕੰਮ - ਤਾਪਮਾਨ ਸੈਂਸਰ ਐਪ ਪ੍ਰੋਗਰਾਮ ਕਰੋ
|
|
|
|
ਤਾਪਮਾਨ ਸੈਂਸਰ ਐਪ ਪ੍ਰੋਗਰਾਮ ਕਰੋ।
|
|
|
|
1. ਯਕੀਨੀ ਬਣਾਓ ਕਿ `temperature-sensor` ਐਪ VS Code ਵਿੱਚ ਖੁੱਲ੍ਹਾ ਹੈ।
|
|
|
|
1. `app.py` ਫਾਈਲ ਖੋਲ੍ਹੋ।
|
|
|
|
1. CounterFit ਨਾਲ ਐਪ ਨੂੰ ਕਨੈਕਟ ਕਰਨ ਲਈ ਹੇਠਾਂ ਦਿੱਤਾ ਕੋਡ `app.py` ਦੇ ਸਿਰੇ 'ਤੇ ਸ਼ਾਮਲ ਕਰੋ:
|
|
|
|
```python
|
|
from counterfit_connection import CounterFitConnection
|
|
CounterFitConnection.init('127.0.0.1', 5000)
|
|
```
|
|
|
|
1. ਲੋੜੀਂਦੇ ਲਾਇਬ੍ਰੇਰੀਆਂ ਨੂੰ ਇੰਪੋਰਟ ਕਰਨ ਲਈ ਹੇਠਾਂ ਦਿੱਤਾ ਕੋਡ `app.py` ਵਿੱਚ ਸ਼ਾਮਲ ਕਰੋ:
|
|
|
|
```python
|
|
import time
|
|
from counterfit_shims_seeed_python_dht import DHT
|
|
```
|
|
|
|
`from seeed_dht import DHT` ਸਟੇਟਮੈਂਟ `DHT` ਸੈਂਸਰ ਕਲਾਸ ਨੂੰ ਇੰਪੋਰਟ ਕਰਦਾ ਹੈ ਜੋ `counterfit_shims_seeed_python_dht` ਮੋਡੀਊਲ ਤੋਂ ਇੱਕ ਸ਼ਿਮ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਵਰਚੁਅਲ Grove ਤਾਪਮਾਨ ਸੈਂਸਰ ਨਾਲ ਇੰਟਰੈਕਟ ਕਰਦਾ ਹੈ।
|
|
|
|
1. ਹੇਠਾਂ ਦਿੱਤਾ ਕੋਡ ਉਪਰੋਕਤ ਕੋਡ ਤੋਂ ਬਾਅਦ ਸ਼ਾਮਲ ਕਰੋ ਤਾਂ ਜੋ ਵਰਚੁਅਲ ਨਮੀ ਅਤੇ ਤਾਪਮਾਨ ਸੈਂਸਰ ਨੂੰ ਮੈਨੇਜ ਕਰਨ ਵਾਲੀ ਕਲਾਸ ਦਾ ਇੱਕ ਇੰਸਟੈਂਸ ਬਣਾਇਆ ਜਾ ਸਕੇ:
|
|
|
|
```python
|
|
sensor = DHT("11", 5)
|
|
```
|
|
|
|
ਇਹ `DHT` ਕਲਾਸ ਦਾ ਇੱਕ ਇੰਸਟੈਂਸ ਡਿਕਲੇਅਰ ਕਰਦਾ ਹੈ ਜੋ ਵਰਚੁਅਲ **D**igital **H**umidity ਅਤੇ **T**emperature ਸੈਂਸਰ ਨੂੰ ਮੈਨੇਜ ਕਰਦਾ ਹੈ। ਪਹਿਲਾ ਪੈਰਾਮੀਟਰ ਕੋਡ ਨੂੰ ਦੱਸਦਾ ਹੈ ਕਿ ਵਰਤੇ ਜਾ ਰਹੇ ਸੈਂਸਰ ਇੱਕ ਵਰਚੁਅਲ *DHT11* ਸੈਂਸਰ ਹਨ। ਦੂਜਾ ਪੈਰਾਮੀਟਰ ਦੱਸਦਾ ਹੈ ਕਿ ਸੈਂਸਰ ਪੋਰਟ `5` ਨਾਲ ਜੁੜਿਆ ਹੋਇਆ ਹੈ।
|
|
|
|
> 💁 CounterFit ਇਸ ਜੋੜੇ ਹੋਏ ਨਮੀ ਅਤੇ ਤਾਪਮਾਨ ਸੈਂਸਰ ਨੂੰ 2 ਸੈਂਸਰਾਂ ਨਾਲ ਕਨੈਕਟ ਕਰਕੇ ਨਕਲ ਕਰਦਾ ਹੈ, ਇੱਕ ਨਮੀ ਸੈਂਸਰ ਪਿਨ 'ਤੇ ਜੋ `DHT` ਕਲਾਸ ਬਣਾਉਣ ਸਮੇਂ ਦਿੱਤਾ ਗਿਆ ਹੈ, ਅਤੇ ਇੱਕ ਤਾਪਮਾਨ ਸੈਂਸਰ ਜੋ ਅਗਲੇ ਪਿਨ 'ਤੇ ਚਲਦਾ ਹੈ। ਜੇਕਰ ਨਮੀ ਸੈਂਸਰ ਪਿਨ 5 'ਤੇ ਹੈ, ਤਾਂ ਸ਼ਿਮ ਤਾਪਮਾਨ ਸੈਂਸਰ ਨੂੰ ਪਿਨ 6 'ਤੇ ਮੰਨਦਾ ਹੈ।
|
|
|
|
1. ਹੇਠਾਂ ਦਿੱਤਾ ਕੋਡ ਸ਼ਾਮਲ ਕਰੋ ਤਾਂ ਜੋ ਤਾਪਮਾਨ ਸੈਂਸਰ ਦੀ ਵੈਲਯੂ ਪੜ੍ਹੀ ਜਾ ਸਕੇ ਅਤੇ ਕਨਸੋਲ 'ਤੇ ਪ੍ਰਿੰਟ ਕੀਤੀ ਜਾ ਸਕੇ:
|
|
|
|
```python
|
|
while True:
|
|
_, temp = sensor.read()
|
|
print(f'Temperature {temp}°C')
|
|
```
|
|
|
|
`sensor.read()` ਨੂੰ ਕਾਲ ਕਰਨ ਨਾਲ ਨਤੀਜੇ ਵਿੱਚ ਨਮੀ ਅਤੇ ਤਾਪਮਾਨ ਦਾ ਇੱਕ ਟਿਊਪਲ ਮਿਲਦਾ ਹੈ। ਤੁਹਾਨੂੰ ਸਿਰਫ ਤਾਪਮਾਨ ਦੀ ਵੈਲਯੂ ਦੀ ਲੋੜ ਹੈ, ਇਸ ਲਈ ਨਮੀ ਨੂੰ ਅਣਡਿੱਠਾ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। ਤਾਪਮਾਨ ਦੀ ਵੈਲਯੂ ਫਿਰ ਕਨਸੋਲ 'ਤੇ ਪ੍ਰਿੰਟ ਕੀਤੀ ਜਾਂਦੀ ਹੈ।
|
|
|
|
1. `loop` ਦੇ ਅੰਤ ਵਿੱਚ ਦਸ ਸਕਿੰਟ ਦੀ ਛੋਟੀ ਜਿਹੀ ਸਲੀਪ ਸ਼ਾਮਲ ਕਰੋ ਕਿਉਂਕਿ ਤਾਪਮਾਨ ਦੀ ਲਗਾਤਾਰ ਜਾਂਚ ਕਰਨ ਦੀ ਲੋੜ ਨਹੀਂ ਹੈ। ਸਲੀਪ ਡਿਵਾਈਸ ਦੀ ਪਾਵਰ ਖਪਤ ਨੂੰ ਘਟਾਉਂਦਾ ਹੈ।
|
|
|
|
```python
|
|
time.sleep(10)
|
|
```
|
|
|
|
1. VS Code ਟਰਮੀਨਲ ਤੋਂ, ਜਿੱਥੇ ਵਰਚੁਅਲ ਵਾਤਾਵਰਣ ਐਕਟੀਵੇਟ ਹੈ, ਹੇਠਾਂ ਦਿੱਤਾ ਕਮਾਂਡ ਚਲਾਓ ਤਾਂ ਜੋ ਤੁਹਾਡਾ Python ਐਪ ਚੱਲੇ:
|
|
|
|
```sh
|
|
python app.py
|
|
```
|
|
|
|
1. CounterFit ਐਪ ਤੋਂ, ਤਾਪਮਾਨ ਸੈਂਸਰ ਦੀ ਵੈਲਯੂ ਬਦਲੋ ਜੋ ਐਪ ਦੁਆਰਾ ਪੜ੍ਹੀ ਜਾਵੇਗੀ। ਤੁਸੀਂ ਇਹ ਦੋ ਤਰੀਕਿਆਂ ਨਾਲ ਕਰ ਸਕਦੇ ਹੋ:
|
|
|
|
* ਤਾਪਮਾਨ ਸੈਂਸਰ ਲਈ *Value* ਬਾਕਸ ਵਿੱਚ ਇੱਕ ਨੰਬਰ ਦਰਜ ਕਰੋ, ਫਿਰ **Set** ਬਟਨ ਚੁਣੋ। ਜੋ ਨੰਬਰ ਤੁਸੀਂ ਦਰਜ ਕਰਦੇ ਹੋ ਉਹ ਸੈਂਸਰ ਦੁਆਰਾ ਵਾਪਸ ਕੀਤੀ ਗਈ ਵੈਲਯੂ ਹੋਵੇਗੀ।
|
|
|
|
* *Random* ਚੈਕਬਾਕਸ ਚੁਣੋ, ਅਤੇ *Min* ਅਤੇ *Max* ਵੈਲਯੂ ਦਰਜ ਕਰੋ, ਫਿਰ **Set** ਬਟਨ ਚੁਣੋ। ਹਰ ਵਾਰ ਜਦੋਂ ਸੈਂਸਰ ਵੈਲਯੂ ਪੜ੍ਹਦਾ ਹੈ, ਇਹ *Min* ਅਤੇ *Max* ਦੇ ਵਿਚਕਾਰ ਇੱਕ ਰੈਂਡਮ ਨੰਬਰ ਪੜ੍ਹੇਗਾ।
|
|
|
|
ਤੁਸੀਂ ਕਨਸੋਲ ਵਿੱਚ ਉਹ ਵੈਲਯੂਜ਼ ਦੇਖ ਸਕਦੇ ਹੋ ਜੋ ਤੁਸੀਂ ਸੈਟ ਕੀਤੀਆਂ ਹਨ। *Value* ਜਾਂ *Random* ਸੈਟਿੰਗਜ਼ ਬਦਲੋ ਤਾਂ ਜੋ ਵੈਲਯੂ ਬਦਲਦੀ ਹੋਈ ਵੇਖ ਸਕੋ।
|
|
|
|
```output
|
|
(.venv) ➜ temperature-sensor python app.py
|
|
Temperature 28.25°C
|
|
Temperature 30.71°C
|
|
Temperature 25.17°C
|
|
```
|
|
|
|
> 💁 ਤੁਸੀਂ ਇਹ ਕੋਡ [code-temperature/virtual-device](../../../../../2-farm/lessons/1-predict-plant-growth/code-temperature/virtual-device) ਫੋਲਡਰ ਵਿੱਚ ਲੱਭ ਸਕਦੇ ਹੋ।
|
|
|
|
😀 ਤੁਹਾਡਾ ਤਾਪਮਾਨ ਸੈਂਸਰ ਪ੍ਰੋਗਰਾਮ ਸਫਲ ਰਿਹਾ!
|
|
|
|
---
|
|
|
|
**ਅਸਵੀਕਾਰਨਾ**:
|
|
ਇਹ ਦਸਤਾਵੇਜ਼ AI ਅਨੁਵਾਦ ਸੇਵਾ [Co-op Translator](https://github.com/Azure/co-op-translator) ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਅਨੁਵਾਦ ਕੀਤਾ ਗਿਆ ਹੈ। ਹਾਲਾਂਕਿ ਅਸੀਂ ਸਹੀਅਤ ਲਈ ਯਤਨਸ਼ੀਲ ਹਾਂ, ਕਿਰਪਾ ਕਰਕੇ ਧਿਆਨ ਦਿਓ ਕਿ ਸਵੈਚਾਲਿਤ ਅਨੁਵਾਦਾਂ ਵਿੱਚ ਗਲਤੀਆਂ ਜਾਂ ਅਸੁਚੀਤਤਾਵਾਂ ਹੋ ਸਕਦੀਆਂ ਹਨ। ਮੂਲ ਦਸਤਾਵੇਜ਼ ਨੂੰ ਇਸਦੀ ਮੂਲ ਭਾਸ਼ਾ ਵਿੱਚ ਅਧਿਕਾਰਤ ਸਰੋਤ ਮੰਨਿਆ ਜਾਣਾ ਚਾਹੀਦਾ ਹੈ। ਮਹੱਤਵਪੂਰਨ ਜਾਣਕਾਰੀ ਲਈ, ਪੇਸ਼ੇਵਰ ਮਨੁੱਖੀ ਅਨੁਵਾਦ ਦੀ ਸਿਫਾਰਸ਼ ਕੀਤੀ ਜਾਂਦੀ ਹੈ। ਇਸ ਅਨੁਵਾਦ ਦੀ ਵਰਤੋਂ ਤੋਂ ਪੈਦਾ ਹੋਣ ਵਾਲੇ ਕਿਸੇ ਵੀ ਗਲਤਫਹਿਮੀ ਜਾਂ ਗਲਤ ਵਿਆਖਿਆ ਲਈ ਅਸੀਂ ਜ਼ਿੰਮੇਵਾਰ ਨਹੀਂ ਹਾਂ। |