# ਰੀਲੇ ਨੂੰ ਕੰਟਰੋਲ ਕਰੋ - ਵਰਚੁਅਲ IoT ਹਾਰਡਵੇਅਰ ਇਸ ਪਾਠ ਦੇ ਇਸ ਭਾਗ ਵਿੱਚ, ਤੁਸੀਂ ਮਿੱਟੀ ਦੀ ਨਮੀ ਸੈਂਸਰ ਦੇ ਨਾਲ ਆਪਣੇ ਵਰਚੁਅਲ IoT ਡਿਵਾਈਸ ਵਿੱਚ ਇੱਕ ਰੀਲੇ ਸ਼ਾਮਲ ਕਰੋਗੇ ਅਤੇ ਇਸਨੂੰ ਮਿੱਟੀ ਦੀ ਨਮੀ ਦੇ ਪੱਧਰ ਦੇ ਆਧਾਰ 'ਤੇ ਕੰਟਰੋਲ ਕਰੋਗੇ। ## ਵਰਚੁਅਲ ਹਾਰਡਵੇਅਰ ਵਰਚੁਅਲ IoT ਡਿਵਾਈਸ ਇੱਕ ਸਿਮੂਲੇਟ ਕੀਤੇ ਗ੍ਰੋਵ ਰੀਲੇ ਦੀ ਵਰਤੋਂ ਕਰੇਗਾ। ਇਹ ਲੈਬ ਉਸੇ ਤਰ੍ਹਾਂ ਕੰਮ ਕਰੇਗੀ ਜਿਵੇਂ ਰਾਸਪਬੇਰੀ ਪਾਈ ਨਾਲ ਇੱਕ ਫਿਜ਼ਿਕਲ ਗ੍ਰੋਵ ਰੀਲੇ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ। ਇੱਕ ਫਿਜ਼ਿਕਲ IoT ਡਿਵਾਈਸ ਵਿੱਚ, ਰੀਲੇ ਆਮ ਤੌਰ 'ਤੇ ਖੁੱਲ੍ਹਾ ਰੀਲੇ ਹੁੰਦਾ ਹੈ (ਇਸਦਾ ਮਤਲਬ ਹੈ ਕਿ ਜਦੋਂ ਰੀਲੇ ਨੂੰ ਕੋਈ ਸਿਗਨਲ ਨਹੀਂ ਭੇਜਿਆ ਜਾਂਦਾ, ਤਦ ਆਉਟਪੁੱਟ ਸਰਕਿਟ ਖੁੱਲ੍ਹਾ ਜਾਂ ਡਿਸਕਨੈਕਟ ਹੁੰਦਾ ਹੈ)। ਇਸ ਤਰ੍ਹਾਂ ਦਾ ਰੀਲੇ 250V ਅਤੇ 10A ਤੱਕ ਦੇ ਆਉਟਪੁੱਟ ਸਰਕਿਟ ਨੂੰ ਸੰਭਾਲ ਸਕਦਾ ਹੈ। ### ਰੀਲੇ ਨੂੰ CounterFit ਵਿੱਚ ਸ਼ਾਮਲ ਕਰੋ ਵਰਚੁਅਲ ਰੀਲੇ ਦੀ ਵਰਤੋਂ ਕਰਨ ਲਈ, ਤੁਹਾਨੂੰ ਇਸਨੂੰ CounterFit ਐਪ ਵਿੱਚ ਸ਼ਾਮਲ ਕਰਨਾ ਪਵੇਗਾ। #### ਕੰਮ ਰੀਲੇ ਨੂੰ CounterFit ਐਪ ਵਿੱਚ ਸ਼ਾਮਲ ਕਰੋ। 1. ਜੇਕਰ ਪਿਛਲੇ ਪਾਠ ਤੋਂ `soil-moisture-sensor` ਪ੍ਰੋਜੈਕਟ VS Code ਵਿੱਚ ਖੁੱਲ੍ਹਾ ਨਹੀਂ ਹੈ, ਤਾਂ ਇਸਨੂੰ ਖੋਲ੍ਹੋ। ਤੁਸੀਂ ਇਸ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਕੁਝ ਸ਼ਾਮਲ ਕਰ ਰਹੇ ਹੋ। 1. ਯਕੀਨੀ ਬਣਾਓ ਕਿ CounterFit ਵੈੱਬ ਐਪ ਚੱਲ ਰਿਹਾ ਹੈ। 1. ਇੱਕ ਰੀਲੇ ਬਣਾਓ: 1. *Actuators* ਪੈਨ ਵਿੱਚ *Create actuator* ਬਾਕਸ ਵਿੱਚ, *Actuator type* ਡ੍ਰੌਪਡਾਊਨ ਬਾਕਸ ਵਿੱਚੋਂ *Relay* ਚੁਣੋ। 1. *Pin* ਨੂੰ *5* 'ਤੇ ਸੈੱਟ ਕਰੋ। 1. **Add** ਬਟਨ ਨੂੰ ਚੁਣੋ ਤਾਂ ਜੋ ਪਿਨ 5 'ਤੇ ਰੀਲੇ ਬਣਾਇਆ ਜਾ ਸਕੇ। ![ਰੀਲੇ ਸੈਟਿੰਗ](../../../../../translated_images/counterfit-create-relay.fa7c40fd0f2f6afc33b35ea94fcb235085be4861e14e3fe6b9b7bcfc82d1c888.pa.png) ਰੀਲੇ ਬਣਾਇਆ ਜਾਵੇਗਾ ਅਤੇ ਇਹ ਐਕਚੁਏਟਰਸ ਦੀ ਸੂਚੀ ਵਿੱਚ ਦਿਖਾਈ ਦੇਵੇਗਾ। ![ਬਣਾਇਆ ਗਿਆ ਰੀਲੇ](../../../../../translated_images/counterfit-relay.bbf74c1dbdc8b9acd983367fcbd06703a402aefef6af54ddb28e11307ba8a12c.pa.png) ## ਰੀਲੇ ਨੂੰ ਪ੍ਰੋਗਰਾਮ ਕਰੋ ਹੁਣ ਮਿੱਟੀ ਦੀ ਨਮੀ ਸੈਂਸਰ ਐਪ ਨੂੰ ਵਰਚੁਅਲ ਰੀਲੇ ਦੀ ਵਰਤੋਂ ਕਰਨ ਲਈ ਪ੍ਰੋਗਰਾਮ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ। ### ਕੰਮ ਵਰਚੁਅਲ ਡਿਵਾਈਸ ਨੂੰ ਪ੍ਰੋਗਰਾਮ ਕਰੋ। 1. ਜੇਕਰ ਪਿਛਲੇ ਪਾਠ ਤੋਂ `soil-moisture-sensor` ਪ੍ਰੋਜੈਕਟ VS Code ਵਿੱਚ ਖੁੱਲ੍ਹਾ ਨਹੀਂ ਹੈ, ਤਾਂ ਇਸਨੂੰ ਖੋਲ੍ਹੋ। ਤੁਸੀਂ ਇਸ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਕੁਝ ਸ਼ਾਮਲ ਕਰ ਰਹੇ ਹੋ। 1. ਮੌਜੂਦਾ ਇੰਪੋਰਟਸ ਦੇ ਹੇਠਾਂ `app.py` ਫਾਈਲ ਵਿੱਚ ਹੇਠਾਂ ਦਿੱਤਾ ਕੋਡ ਸ਼ਾਮਲ ਕਰੋ: ```python from counterfit_shims_grove.grove_relay import GroveRelay ``` ਇਹ ਕਮਾਂਡ ਗ੍ਰੋਵ ਪਾਇਥਨ ਸ਼ਿਮ ਲਾਇਬ੍ਰੇਰੀਜ਼ ਤੋਂ `GroveRelay` ਨੂੰ ਇੰਪੋਰਟ ਕਰਦੀ ਹੈ ਤਾਂ ਜੋ ਵਰਚੁਅਲ ਗ੍ਰੋਵ ਰੀਲੇ ਨਾਲ ਇੰਟਰੈਕਟ ਕੀਤਾ ਜਾ ਸਕੇ। 1. `ADC` ਕਲਾਸ ਦੇ ਐਲਾਨ ਦੇ ਹੇਠਾਂ ਹੇਠਾਂ ਦਿੱਤਾ ਕੋਡ ਸ਼ਾਮਲ ਕਰੋ ਤਾਂ ਜੋ ਇੱਕ `GroveRelay` ਇੰਸਟੈਂਸ ਬਣਾਇਆ ਜਾ ਸਕੇ: ```python relay = GroveRelay(5) ``` ਇਹ ਪਿਨ **5** ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਇੱਕ ਰੀਲੇ ਬਣਾਉਂਦਾ ਹੈ, ਜਿੱਥੇ ਤੁਸੀਂ ਰੀਲੇ ਨੂੰ ਜੁੜਿਆ ਸੀ। 1. ਜਾਂਚਣ ਲਈ ਕਿ ਰੀਲੇ ਕੰਮ ਕਰ ਰਿਹਾ ਹੈ, ਹੇਠਾਂ ਦਿੱਤਾ ਕੋਡ `while True:` ਲੂਪ ਵਿੱਚ ਸ਼ਾਮਲ ਕਰੋ: ```python relay.on() time.sleep(.5) relay.off() ``` ਇਹ ਕੋਡ ਰੀਲੇ ਨੂੰ ਚਾਲੂ ਕਰਦਾ ਹੈ, 0.5 ਸਕਿੰਟ ਲਈ ਰੁਕਦਾ ਹੈ, ਅਤੇ ਫਿਰ ਰੀਲੇ ਨੂੰ ਬੰਦ ਕਰਦਾ ਹੈ। 1. ਪਾਇਥਨ ਐਪ ਚਲਾਓ। ਰੀਲੇ ਹਰ 10 ਸਕਿੰਟ ਵਿੱਚ ਚਾਲੂ ਅਤੇ ਬੰਦ ਹੋਵੇਗਾ, ਚਾਲੂ ਅਤੇ ਬੰਦ ਹੋਣ ਦੇ ਵਿਚਕਾਰ ਅੱਧਾ ਸਕਿੰਟ ਦੇਰੀ ਹੋਵੇਗੀ। ਤੁਸੀਂ CounterFit ਐਪ ਵਿੱਚ ਵਰਚੁਅਲ ਰੀਲੇ ਨੂੰ ਚਾਲੂ ਅਤੇ ਬੰਦ ਹੁੰਦਾ ਦੇਖੋਗੇ। ![ਵਰਚੁਅਲ ਰੀਲੇ ਚਾਲੂ ਅਤੇ ਬੰਦ ਹੋ ਰਿਹਾ ਹੈ](../../../../../images/virtual-relay-turn-on-off.gif) ## ਮਿੱਟੀ ਦੀ ਨਮੀ ਤੋਂ ਰੀਲੇ ਨੂੰ ਕੰਟਰੋਲ ਕਰੋ ਹੁਣ ਜਦੋਂ ਰੀਲੇ ਕੰਮ ਕਰ ਰਿਹਾ ਹੈ, ਇਸਨੂੰ ਮਿੱਟੀ ਦੀ ਨਮੀ ਦੇ ਪੜ੍ਹਨ ਦੇ ਜਵਾਬ ਵਿੱਚ ਕੰਟਰੋਲ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ। ### ਕੰਮ ਰੀਲੇ ਨੂੰ ਕੰਟਰੋਲ ਕਰੋ। 1. ਰੀਲੇ ਦੀ ਜਾਂਚ ਕਰਨ ਲਈ ਜੋ 3 ਲਾਈਨਾਂ ਦਾ ਕੋਡ ਤੁਸੀਂ ਸ਼ਾਮਲ ਕੀਤਾ ਸੀ, ਉਹ ਹਟਾਓ। ਇਸ ਦੀ ਥਾਂ ਹੇਠਾਂ ਦਿੱਤਾ ਕੋਡ ਸ਼ਾਮਲ ਕਰੋ: ```python if soil_moisture > 450: print("Soil Moisture is too low, turning relay on.") relay.on() else: print("Soil Moisture is ok, turning relay off.") relay.off() ``` ਇਹ ਕੋਡ ਮਿੱਟੀ ਦੀ ਨਮੀ ਸੈਂਸਰ ਤੋਂ ਪੜ੍ਹੇ ਗਏ ਪੱਧਰ ਦੀ ਜਾਂਚ ਕਰਦਾ ਹੈ। ਜੇਕਰ ਇਹ 450 ਤੋਂ ਵੱਧ ਹੈ, ਤਾਂ ਇਹ ਰੀਲੇ ਨੂੰ ਚਾਲੂ ਕਰਦਾ ਹੈ, ਅਤੇ ਜੇਕਰ ਇਹ 450 ਤੋਂ ਘੱਟ ਹੈ, ਤਾਂ ਇਸਨੂੰ ਬੰਦ ਕਰਦਾ ਹੈ। > 💁 ਯਾਦ ਰੱਖੋ ਕਿ ਕੈਪੇਸਿਟਿਵ ਮਿੱਟੀ ਦੀ ਨਮੀ ਸੈਂਸਰ ਪੜ੍ਹਦਾ ਹੈ ਕਿ ਜਿੰਨੀ ਘੱਟ ਮਿੱਟੀ ਦੀ ਨਮੀ ਪੜ੍ਹੀ ਜਾਂਦੀ ਹੈ, ਮਿੱਟੀ ਵਿੱਚ ਉਤਨੀ ਹੀ ਜ਼ਿਆਦਾ ਨਮੀ ਹੁੰਦੀ ਹੈ ਅਤੇ ਇਸਦੇ ਉਲਟ। 1. ਪਾਇਥਨ ਐਪ ਚਲਾਓ। ਤੁਸੀਂ ਦੇਖੋਗੇ ਕਿ ਰੀਲੇ ਮਿੱਟੀ ਦੀ ਨਮੀ ਦੇ ਪੱਧਰਾਂ ਦੇ ਅਨੁਸਾਰ ਚਾਲੂ ਜਾਂ ਬੰਦ ਹੁੰਦਾ ਹੈ। ਮਿੱਟੀ ਦੀ ਨਮੀ ਸੈਂਸਰ ਲਈ *Value* ਜਾਂ *Random* ਸੈਟਿੰਗਜ਼ ਬਦਲੋ ਤਾਂ ਜੋ ਮੁੱਲ ਬਦਲਦਾ ਹੋਵੇ। ```output Soil Moisture: 638 Soil Moisture is too low, turning relay on. Soil Moisture: 452 Soil Moisture is too low, turning relay on. Soil Moisture: 347 Soil Moisture is ok, turning relay off. ``` > 💁 ਤੁਸੀਂ ਇਹ ਕੋਡ [code-relay/virtual-device](../../../../../2-farm/lessons/3-automated-plant-watering/code-relay/virtual-device) ਫੋਲਡਰ ਵਿੱਚ ਲੱਭ ਸਕਦੇ ਹੋ। 😀 ਤੁਹਾਡਾ ਵਰਚੁਅਲ ਮਿੱਟੀ ਦੀ ਨਮੀ ਸੈਂਸਰ ਰੀਲੇ ਨੂੰ ਕੰਟਰੋਲ ਕਰਨ ਵਾਲਾ ਪ੍ਰੋਗਰਾਮ ਸਫਲ ਰਿਹਾ! --- **ਅਸਵੀਕਰਤੀ**: ਇਹ ਦਸਤਾਵੇਜ਼ AI ਅਨੁਵਾਦ ਸੇਵਾ [Co-op Translator](https://github.com/Azure/co-op-translator) ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਅਨੁਵਾਦ ਕੀਤਾ ਗਿਆ ਹੈ। ਜਦੋਂ ਕਿ ਅਸੀਂ ਸਹੀ ਹੋਣ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰਦੇ ਹਾਂ, ਕਿਰਪਾ ਕਰਕੇ ਧਿਆਨ ਦਿਓ ਕਿ ਸਵੈਚਾਲਿਤ ਅਨੁਵਾਦਾਂ ਵਿੱਚ ਗਲਤੀਆਂ ਜਾਂ ਅਸੁਚੱਜੇਪਣ ਹੋ ਸਕਦੇ ਹਨ। ਮੂਲ ਦਸਤਾਵੇਜ਼ ਨੂੰ ਇਸਦੀ ਮੂਲ ਭਾਸ਼ਾ ਵਿੱਚ ਅਧਿਕਾਰਤ ਸਰੋਤ ਮੰਨਿਆ ਜਾਣਾ ਚਾਹੀਦਾ ਹੈ। ਮਹੱਤਵਪੂਰਨ ਜਾਣਕਾਰੀ ਲਈ, ਪੇਸ਼ੇਵਰ ਮਨੁੱਖੀ ਅਨੁਵਾਦ ਦੀ ਸਿਫਾਰਸ਼ ਕੀਤੀ ਜਾਂਦੀ ਹੈ। ਇਸ ਅਨੁਵਾਦ ਦੀ ਵਰਤੋਂ ਤੋਂ ਪੈਦਾ ਹੋਣ ਵਾਲੇ ਕਿਸੇ ਵੀ ਗਲਤਫਹਿਮੀ ਜਾਂ ਗਲਤ ਵਿਆਖਿਆ ਲਈ ਅਸੀਂ ਜ਼ਿੰਮੇਵਾਰ ਨਹੀਂ ਹਾਂ।