|
4 weeks ago | |
---|---|---|
.. | ||
README.md | 4 weeks ago | |
assignment.md | 4 weeks ago | |
pi-relay.md | 4 weeks ago | |
virtual-device-relay.md | 4 weeks ago | |
wio-terminal-relay.md | 4 weeks ago |
README.md
ਆਟੋਮੈਟਿਕ ਪੌਧੇ ਪਾਣੀ ਦੇਣ ਦੀ ਪ੍ਰਣਾਲੀ
ਸਕੈਚਨੋਟ ਨਿਤਿਆ ਨਰਸਿੰਹਨ ਦੁਆਰਾ। ਵੱਡੇ ਵਰਜਨ ਲਈ ਚਿੱਤਰ 'ਤੇ ਕਲਿਕ ਕਰੋ।
ਇਹ ਪਾਠ IoT for Beginners Project 2 - Digital Agriculture series ਦੇ ਹਿੱਸੇ ਵਜੋਂ Microsoft Reactor ਤੋਂ ਸਿਖਾਇਆ ਗਿਆ ਸੀ।
ਪਾਠ ਤੋਂ ਪਹਿਲਾਂ ਕਵਿਜ਼
ਪਰਿਚਯ
ਪਿਛਲੇ ਪਾਠ ਵਿੱਚ, ਤੁਸੀਂ ਮਿੱਟੀ ਦੀ ਨਮੀ ਦੀ ਨਿਗਰਾਨੀ ਕਰਨ ਦਾ ਤਰੀਕਾ ਸਿੱਖਿਆ। ਇਸ ਪਾਠ ਵਿੱਚ ਤੁਸੀਂ ਇੱਕ ਆਟੋਮੈਟਿਕ ਪਾਣੀ ਦੇਣ ਦੀ ਪ੍ਰਣਾਲੀ ਦੇ ਮੁੱਖ ਹਿੱਸੇ ਬਣਾਉਣ ਦਾ ਤਰੀਕਾ ਸਿੱਖੋਗੇ ਜੋ ਮਿੱਟੀ ਦੀ ਨਮੀ 'ਤੇ ਪ੍ਰਤੀਕਿਰਿਆ ਕਰਦੀ ਹੈ। ਤੁਸੀਂ ਸਮੇਂ ਦੇ ਬਾਰੇ ਵੀ ਸਿੱਖੋਗੇ - ਕਿਵੇਂ ਸੈਂਸਰਾਂ ਨੂੰ ਬਦਲਾਅ 'ਤੇ ਪ੍ਰਤੀਕਿਰਿਆ ਕਰਨ ਵਿੱਚ ਸਮਾਂ ਲੱਗਦਾ ਹੈ, ਅਤੇ ਕਿਵੇਂ ਐਕਚੁਏਟਰਾਂ ਨੂੰ ਮਾਪੇ ਜਾ ਰਹੇ ਗੁਣਾਂ ਨੂੰ ਬਦਲਣ ਵਿੱਚ ਸਮਾਂ ਲੱਗਦਾ ਹੈ।
ਇਸ ਪਾਠ ਵਿੱਚ ਅਸੀਂ ਕਵਰ ਕਰਾਂਗੇ:
- ਘੱਟ ਪਾਵਰ ਵਾਲੇ IoT ਡਿਵਾਈਸ ਤੋਂ ਉੱਚ ਪਾਵਰ ਵਾਲੇ ਡਿਵਾਈਸ ਨੂੰ ਕੰਟਰੋਲ ਕਰੋ
- ਰਿਲੇ ਨੂੰ ਕੰਟਰੋਲ ਕਰੋ
- MQTT ਦੁਆਰਾ ਆਪਣੇ ਪੌਧੇ ਨੂੰ ਕੰਟਰੋਲ ਕਰੋ
- ਸੈਂਸਰ ਅਤੇ ਐਕਚੁਏਟਰ ਦਾ ਸਮਾਂ
- ਆਪਣੇ ਪੌਧੇ ਕੰਟਰੋਲ ਸਰਵਰ ਵਿੱਚ ਸਮਾਂ ਸ਼ਾਮਲ ਕਰੋ
ਘੱਟ ਪਾਵਰ ਵਾਲੇ IoT ਡਿਵਾਈਸ ਤੋਂ ਉੱਚ ਪਾਵਰ ਵਾਲੇ ਡਿਵਾਈਸ ਨੂੰ ਕੰਟਰੋਲ ਕਰੋ
IoT ਡਿਵਾਈਸ ਘੱਟ ਵੋਲਟੇਜ ਵਰਤਦੇ ਹਨ। ਜਦੋਂ ਕਿ ਇਹ ਸੈਂਸਰਾਂ ਅਤੇ ਘੱਟ-ਪਾਵਰ ਐਕਚੁਏਟਰਾਂ ਜਿਵੇਂ ਕਿ LEDs ਲਈ ਕਾਫ਼ੀ ਹੈ, ਇਹ ਵੱਡੇ ਹਾਰਡਵੇਅਰ ਨੂੰ ਕੰਟਰੋਲ ਕਰਨ ਲਈ ਬਹੁਤ ਘੱਟ ਹੈ, ਜਿਵੇਂ ਕਿ ਸਿੰਚਾਈ ਲਈ ਵਰਤਿਆ ਜਾਣ ਵਾਲਾ ਪਾਣੀ ਪੰਪ। ਇੱਥੇ ਤੱਕ ਕਿ ਛੋਟੇ ਪੰਪ ਜੋ ਤੁਸੀਂ ਘਰੇਲੂ ਪੌਧਿਆਂ ਲਈ ਵਰਤ ਸਕਦੇ ਹੋ, IoT ਡਿਵਾਈਸ ਕਿੱਟ ਲਈ ਬਹੁਤ ਜ਼ਿਆਦਾ ਕਰੰਟ ਖਿੱਚਦੇ ਹਨ ਅਤੇ ਬੋਰਡ ਨੂੰ ਜਲਾਉਣਗੇ।
🎓 ਕਰੰਟ, ਜੋ ਐਂਪਸ (A) ਵਿੱਚ ਮਾਪਿਆ ਜਾਂਦਾ ਹੈ, ਇੱਕ ਸਰਕਟ ਵਿੱਚ ਚੱਲ ਰਹੀ ਬਿਜਲੀ ਦੀ ਮਾਤਰਾ ਹੈ। ਵੋਲਟੇਜ ਧੱਕ ਦਿੰਦਾ ਹੈ, ਕਰੰਟ ਇਹ ਹੈ ਕਿ ਕਿੰਨਾ ਧੱਕਿਆ ਗਿਆ। ਤੁਸੀਂ ਵਿਕੀਪੀਡੀਆ ਦੇ ਇਲੈਕਟ੍ਰਿਕ ਕਰੰਟ ਪੰਨੇ 'ਤੇ ਕਰੰਟ ਬਾਰੇ ਹੋਰ ਪੜ੍ਹ ਸਕਦੇ ਹੋ।
ਇਸ ਦਾ ਹੱਲ ਇਹ ਹੈ ਕਿ ਪੰਪ ਨੂੰ ਬਾਹਰੀ ਪਾਵਰ ਸਪਲਾਈ ਨਾਲ ਜੋੜਿਆ ਜਾਵੇ, ਅਤੇ ਪੰਪ ਨੂੰ ਚਾਲੂ ਕਰਨ ਲਈ ਇੱਕ ਐਕਚੁਏਟਰ ਵਰਤਿਆ ਜਾਵੇ, ਬਿਲਕੁਲ ਇਸ ਤਰ੍ਹਾਂ ਜਿਵੇਂ ਤੁਸੀਂ ਲਾਈਟ ਚਾਲੂ ਕਰਨ ਲਈ ਸਵਿੱਚ ਚਾਲੂ ਕਰਦੇ ਹੋ। ਤੁਹਾਡੇ ਉੰਗਲ ਦੇ ਸਵਿੱਚ ਨੂੰ ਫਲਿੱਪ ਕਰਨ ਲਈ ਬਹੁਤ ਘੱਟ ਪਾਵਰ (ਤੁਹਾਡੇ ਸਰੀਰ ਵਿੱਚ ਉਰਜਾ ਦੇ ਰੂਪ ਵਿੱਚ) ਲੱਗਦੀ ਹੈ, ਅਤੇ ਇਹ ਲਾਈਟ ਨੂੰ 110v/240v 'ਤੇ ਚੱਲ ਰਹੀ ਮੈਨਜ਼ ਬਿਜਲੀ ਨਾਲ ਜੋੜਦਾ ਹੈ।
🎓 ਮੈਨਜ਼ ਬਿਜਲੀ ਦਾ ਅਰਥ ਹੈ ਉਹ ਬਿਜਲੀ ਜੋ ਦੁਨੀਆ ਦੇ ਕਈ ਹਿੱਸਿਆਂ ਵਿੱਚ ਰਾਸ਼ਟਰੀ ਢਾਂਚੇ ਦੁਆਰਾ ਘਰਾਂ ਅਤੇ ਕਾਰੋਬਾਰਾਂ ਨੂੰ ਦਿੱਤੀ ਜਾਂਦੀ ਹੈ।
✅ IoT ਡਿਵਾਈਸ ਆਮ ਤੌਰ 'ਤੇ 3.3V ਜਾਂ 5V, 1 ਐਂਪ (1A) ਤੋਂ ਘੱਟ ਕਰੰਟ ਦੇ ਸਕਦੇ ਹਨ। ਇਸਨੂੰ ਮੈਨਜ਼ ਬਿਜਲੀ ਨਾਲ ਤੁਲਨਾ ਕਰੋ ਜੋ ਜ਼ਿਆਦਾਤਰ 230V (ਉੱਤਰ ਅਮਰੀਕਾ ਵਿੱਚ 120V ਅਤੇ ਜਪਾਨ ਵਿੱਚ 100V) 'ਤੇ ਹੁੰਦੀ ਹੈ, ਅਤੇ ਉਹ ਡਿਵਾਈਸਾਂ ਲਈ ਪਾਵਰ ਪ੍ਰਦਾਨ ਕਰ ਸਕਦੀ ਹੈ ਜੋ 30A ਖਿੱਚਦੇ ਹਨ।
ਇਸ ਲਈ ਕਈ ਐਕਚੁਏਟਰ ਹਨ ਜੋ ਇਹ ਕਰ ਸਕਦੇ ਹਨ, ਜਿਨ੍ਹਾਂ ਵਿੱਚ ਮਕੈਨਿਕਲ ਡਿਵਾਈਸ ਸ਼ਾਮਲ ਹਨ ਜੋ ਮੌਜੂਦਾ ਸਵਿੱਚਾਂ ਨਾਲ ਜੁੜਦੇ ਹਨ ਅਤੇ ਉਨ੍ਹਾਂ ਨੂੰ ਚਾਲੂ ਕਰਨ ਲਈ ਉੰਗਲ ਦੀ ਨਕਲ ਕਰਦੇ ਹਨ। ਸਭ ਤੋਂ ਪ੍ਰਸਿੱਧ ਇੱਕ ਰਿਲੇ ਹੈ।
ਰਿਲੇ
ਰਿਲੇ ਇੱਕ ਇਲੈਕਟ੍ਰੋਮਕੈਨਿਕਲ ਸਵਿੱਚ ਹੈ ਜੋ ਇੱਕ ਇਲੈਕਟ੍ਰਿਕਲ ਸਿਗਨਲ ਨੂੰ ਮਕੈਨਿਕਲ ਮੂਵਮੈਂਟ ਵਿੱਚ ਬਦਲਦਾ ਹੈ ਜੋ ਸਵਿੱਚ ਨੂੰ ਚਾਲੂ ਕਰਦਾ ਹੈ। ਰਿਲੇ ਦਾ ਮੁੱਖ ਹਿੱਸਾ ਇੱਕ ਇਲੈਕਟ੍ਰੋਮੈਗਨੈਟ ਹੈ।
🎓 ਇਲੈਕਟ੍ਰੋਮੈਗਨੈਟ ਉਹ ਚੁੰਬਕ ਹਨ ਜੋ ਇੱਕ ਤਾਰ ਦੀ ਕੁੰਡਲ ਵਿੱਚ ਬਿਜਲੀ ਪਾਸ ਕਰਕੇ ਬਣਾਏ ਜਾਂਦੇ ਹਨ। ਜਦੋਂ ਬਿਜਲੀ ਚਾਲੂ ਹੁੰਦੀ ਹੈ, ਕੁੰਡਲ ਚੁੰਬਕੀ ਬਣ ਜਾਂਦੀ ਹੈ। ਜਦੋਂ ਬਿਜਲੀ ਬੰਦ ਹੁੰਦੀ ਹੈ, ਕੁੰਡਲ ਆਪਣੀ ਚੁੰਬਕੀਤਾ ਗੁਆ ਲੈਂਦੀ ਹੈ।
ਰਿਲੇ ਵਿੱਚ, ਇੱਕ ਕੰਟਰੋਲ ਸਰਕਟ ਇਲੈਕਟ੍ਰੋਮੈਗਨੈਟ ਨੂੰ ਪਾਵਰ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ। ਜਦੋਂ ਇਲੈਕਟ੍ਰੋਮੈਗਨੈਟ ਚਾਲੂ ਹੁੰਦਾ ਹੈ, ਇਹ ਇੱਕ ਲੀਵਰ ਨੂੰ ਖਿੱਚਦਾ ਹੈ ਜੋ ਇੱਕ ਸਵਿੱਚ ਨੂੰ ਹਿਲਾਉਂਦਾ ਹੈ, ਸੰਪਰਕਾਂ ਦੀ ਇੱਕ ਜੋੜੀ ਨੂੰ ਬੰਦ ਕਰਦਾ ਹੈ ਅਤੇ ਆਉਟਪੁੱਟ ਸਰਕਟ ਨੂੰ ਪੂਰਾ ਕਰਦਾ ਹੈ।
ਜਦੋਂ ਕੰਟਰੋਲ ਸਰਕਟ ਬੰਦ ਹੁੰਦਾ ਹੈ, ਇਲੈਕਟ੍ਰੋਮੈਗਨੈਟ ਬੰਦ ਹੁੰਦਾ ਹੈ, ਲੀਵਰ ਨੂੰ ਰਿਲੀਜ਼ ਕਰਦਾ ਹੈ ਅਤੇ ਸੰਪਰਕਾਂ ਨੂੰ ਖੋਲ੍ਹਦਾ ਹੈ, ਆਉਟਪੁੱਟ ਸਰਕਟ ਨੂੰ ਬੰਦ ਕਰਦਾ ਹੈ। ਰਿਲੇ ਡਿਜ਼ੀਟਲ ਐਕਚੁਏਟਰ ਹਨ - ਰਿਲੇ ਨੂੰ ਚਾਲੂ ਕਰਨ ਲਈ ਇੱਕ ਉੱਚ ਸਿਗਨਲ, ਰਿਲੇ ਨੂੰ ਬੰਦ ਕਰਨ ਲਈ ਇੱਕ ਘੱਟ ਸਿਗਨਲ।
ਆਉਟਪੁੱਟ ਸਰਕਟ ਨੂੰ ਵਾਧੂ ਹਾਰਡਵੇਅਰ, ਜਿਵੇਂ ਕਿ ਸਿੰਚਾਈ ਪ੍ਰਣਾਲੀ ਨੂੰ ਪਾਵਰ ਪ੍ਰਦਾਨ ਕਰਨ ਲਈ ਵਰਤਿਆ ਜਾ ਸਕਦਾ ਹੈ। IoT ਡਿਵਾਈਸ ਰਿਲੇ ਨੂੰ ਚਾਲੂ ਕਰ ਸਕਦਾ ਹੈ, ਆਉਟਪੁੱਟ ਸਰਕਟ ਨੂੰ ਪੂਰਾ ਕਰਦਾ ਹੈ ਜੋ ਸਿੰਚਾਈ ਪ੍ਰਣਾਲੀ ਨੂੰ ਪਾਵਰ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ, ਅਤੇ ਪੌਧਿਆਂ ਨੂੰ ਪਾਣੀ ਮਿਲਦਾ ਹੈ। IoT ਡਿਵਾਈਸ ਫਿਰ ਰਿਲੇ ਨੂੰ ਬੰਦ ਕਰ ਸਕਦਾ ਹੈ, ਸਿੰਚਾਈ ਪ੍ਰਣਾਲੀ ਨੂੰ ਪਾਵਰ ਕੱਟਦਾ ਹੈ, ਪਾਣੀ ਬੰਦ ਕਰਦਾ ਹੈ।
ਉਪਰੋਕਤ ਵੀਡੀਓ ਵਿੱਚ, ਇੱਕ ਰਿਲੇ ਚਾਲੂ ਕੀਤਾ ਗਿਆ ਹੈ। ਰਿਲੇ 'ਤੇ ਇੱਕ LED ਚਮਕਦਾ ਹੈ ਜੋ ਦਰਸਾਉਂਦਾ ਹੈ ਕਿ ਇਹ ਚਾਲੂ ਹੈ (ਕੁਝ ਰਿਲੇ ਬੋਰਡਾਂ 'ਤੇ LED ਹੁੰਦੇ ਹਨ ਜੋ ਦਰਸਾਉਂਦੇ ਹਨ ਕਿ ਰਿਲੇ ਚਾਲੂ ਹੈ ਜਾਂ ਬੰਦ), ਅਤੇ ਪੰਪ ਨੂੰ ਪਾਵਰ ਭੇਜੀ ਜਾਂਦੀ ਹੈ, ਇਸਨੂੰ ਚਾਲੂ ਕਰਦਾ ਹੈ ਅਤੇ ਪੌਧੇ ਵਿੱਚ ਪਾਣੀ ਪੰਪ ਕਰਦਾ ਹੈ।
💁 ਰਿਲੇ ਨੂੰ ਦੋ ਆਉਟਪੁੱਟ ਸਰਕਟਾਂ ਵਿੱਚੋਂ ਇੱਕ ਨੂੰ ਚਾਲੂ ਕਰਨ ਦੀ ਬਜਾਏ ਸਵਿੱਚ ਕਰਨ ਲਈ ਵੀ ਵਰਤਿਆ ਜਾ ਸਕਦਾ ਹੈ। ਜਦੋਂ ਲੀਵਰ ਹਿਲਦਾ ਹੈ, ਇਹ ਇੱਕ ਆਉਟਪੁੱਟ ਸਰਕਟ ਨੂੰ ਪੂਰਾ ਕਰਨ ਤੋਂ ਦੂਜੇ ਆਉਟਪੁੱਟ ਸਰਕਟ ਨੂੰ ਪੂਰਾ ਕਰਨ ਲਈ ਸਵਿੱਚ ਨੂੰ ਹਿਲਾਉਂਦਾ ਹੈ, ਆਮ ਤੌਰ 'ਤੇ ਇੱਕ ਸਾਂਝੀ ਪਾਵਰ ਕਨੈਕਸ਼ਨ ਜਾਂ ਸਾਂਝੀ ਗਰਾਊਂਡ ਕਨੈਕਸ਼ਨ ਸਾਂਝਾ ਕਰਦਾ ਹੈ।
✅ ਕੁਝ ਖੋਜ ਕਰੋ: ਰਿਲੇ ਦੇ ਕਈ ਕਿਸਮਾਂ ਹਨ, ਜਿਨ੍ਹਾਂ ਵਿੱਚ ਅੰਤਰ ਸ਼ਾਮਲ ਹੈ ਜਿਵੇਂ ਕਿ ਜਦੋਂ ਪਾਵਰ ਲਾਗੂ ਕੀਤਾ ਜਾਂਦਾ ਹੈ ਤਾਂ ਕੰਟਰੋਲ ਸਰਕਟ ਰਿਲੇ ਨੂੰ ਚਾਲੂ ਜਾਂ ਬੰਦ ਕਰਦਾ ਹੈ, ਜਾਂ ਕਈ ਆਉਟਪੁੱਟ ਸਰਕਟ। ਇਹ ਵੱਖ-ਵੱਖ ਕਿਸਮਾਂ ਬਾਰੇ ਪਤਾ ਕਰੋ।
ਜਦੋਂ ਲੀਵਰ ਹਿਲਦਾ ਹੈ, ਤੁਸੀਂ ਆਮ ਤੌਰ 'ਤੇ ਇਸਨੂੰ ਇਲੈਕਟ੍ਰੋਮੈਗਨੈਟ ਨਾਲ ਸੰਪਰਕ ਬਣਾਉਂਦੇ ਹੋਏ ਇੱਕ ਸਪਸ਼ਟ ਕਲਿਕ ਸ਼ਬਦ ਸੁਣ ਸਕਦੇ ਹੋ।
💁 ਰਿਲੇ ਨੂੰ ਇਸ ਤਰ੍ਹਾਂ ਵਾਇਰ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ ਕਿ ਕਨੈਕਸ਼ਨ ਬਣਾਉਣਾ ਅਸਲ ਵਿੱਚ ਰਿਲੇ ਨੂੰ ਪਾਵਰ ਤੋੜਦਾ ਹੈ, ਰਿਲੇ ਨੂੰ ਬੰਦ ਕਰਦਾ ਹੈ, ਜੋ ਫਿਰ ਰਿਲੇ ਨੂੰ ਚਾਲੂ ਕਰਦਾ ਹੈ। ਇਸਦਾ ਅਰਥ ਹੈ ਕਿ ਰਿਲੇ ਬਹੁਤ ਤੇਜ਼ੀ ਨਾਲ ਕਲਿਕ ਕਰੇਗਾ, ਇੱਕ ਬਜ਼ਿੰਗ ਸ਼ਬਦ ਬਣਾਉਂਦਾ ਹੈ। ਇਹ ਉਹ ਹੈ ਕਿ ਕਈ ਪਹਿਲੇ ਬਜ਼ਰ ਜਿਨ੍ਹਾਂ ਨੂੰ ਇਲੈਕਟ੍ਰਿਕ ਡੋਰਬੈਲ ਵਿੱਚ ਵਰਤਿਆ ਜਾਂਦਾ ਸੀ, ਕਿਵੇਂ ਕੰਮ ਕਰਦੇ ਸਨ।
ਰਿਲੇ ਪਾਵਰ
ਇਲੈਕਟ੍ਰੋਮੈਗਨੈਟ ਨੂੰ ਲੀਵਰ ਨੂੰ ਚਾਲੂ ਕਰਨ ਅਤੇ ਖਿੱਚਣ ਲਈ ਬਹੁਤ ਜ਼ਿਆਦਾ ਪਾਵਰ ਦੀ ਲੋੜ ਨਹੀਂ ਹੁੰਦੀ, ਇਸਨੂੰ IoT ਡਿਵਾਈਸ ਕਿੱਟ ਦੇ 3.3V ਜਾਂ 5V ਆਉਟਪੁੱਟ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਕੰਟਰੋਲ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ। ਆਉਟਪੁੱਟ ਸਰਕਟ ਬਹੁਤ ਜ਼ਿਆਦਾ ਪਾਵਰ ਲੈ ਸਕਦਾ ਹੈ, ਰਿਲੇ 'ਤੇ ਨਿਰਭਰ ਕਰਦਾ ਹੈ, ਜਿਸ ਵਿੱਚ ਮੈਨਜ਼ ਵੋਲਟੇਜ ਜਾਂ ਇੱਥੇ ਤੱਕ ਕਿ ਉਦਯੋਗਿਕ ਵਰਤੋਂ ਲਈ ਹੋਰ ਉੱਚ ਪਾਵਰ ਪੱਧਰ ਸ਼ਾਮਲ ਹਨ। ਇਸ ਤਰ੍ਹਾਂ ਇੱਕ IoT ਡਿਵਾਈਸ ਕਿੱਟ ਇੱਕ ਸਿੰਚਾਈ ਪ੍ਰਣਾਲੀ ਨੂੰ ਕੰਟਰੋਲ ਕਰ ਸਕਦੀ ਹੈ, ਇੱਕ ਪੌਧੇ ਲਈ ਇੱਕ ਛੋਟੇ ਪੰਪ ਤੋਂ ਲੈ ਕੇ ਇੱਕ ਵੱਡੇ ਉਦਯੋਗਿਕ ਪ੍ਰਣਾਲੀ ਲਈ ਇੱਕ ਵਪਾਰਕ ਫਾਰਮ ਤੱਕ।
ਉਪਰੋਕਤ ਚਿੱਤਰ ਵਿੱਚ ਇੱਕ ਗਰੋਵ ਰਿਲੇ ਦਿਖਾਇਆ ਗਿਆ ਹੈ। ਕੰਟਰੋਲ ਸਰਕਟ IoT ਡਿਵਾਈਸ ਨਾਲ ਜੁੜਦਾ ਹੈ ਅਤੇ 3.3V ਜਾਂ 5V ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਰਿਲੇ ਨੂੰ ਚਾਲੂ ਜਾਂ ਬੰਦ ਕਰਦਾ ਹੈ। ਆਉਟਪੁੱਟ ਸਰਕਟ ਵਿੱਚ ਦੋ ਟਰਮੀਨਲ ਹਨ, ਦੋਵੇਂ ਵਿੱਚੋਂ ਕੋਈ ਵੀ ਪਾਵਰ ਜਾਂ ਗਰਾਊਂਡ ਹੋ ਸਕਦਾ ਹੈ। ਆਉਟਪੁੱਟ ਸਰਕਟ 250V 'ਤੇ 10A ਤੱਕ ਸੰਭਾਲ ਸਕਦਾ ਹੈ, ਜੋ ਮੈਨਜ਼-ਪਾਵਰ ਵਾਲੇ ਡਿਵਾਈਸਾਂ ਦੀ ਇੱਕ ਸ਼੍ਰੇਣੀ ਲਈ ਕਾਫ਼ੀ ਹੈ। ਤੁਸੀਂ ਰਿਲੇ ਪ੍ਰਾਪਤ ਕਰ ਸਕਦੇ ਹੋ ਜੋ ਹੋਰ ਉੱਚ ਪਾਵਰ ਪੱਧਰ ਸੰਭਾਲ ਸਕਦੇ ਹਨ।
ਉਪਰੋਕਤ ਚਿੱਤਰ ਵਿੱਚ, ਪੰਪ ਨੂੰ ਰਿਲੇ ਦੁਆਰਾ ਪਾਵਰ ਪ੍ਰਦਾਨ ਕੀਤੀ ਜਾਂਦੀ ਹੈ। ਇੱਕ ਲਾਲ ਤਾਰ USB ਪਾਵਰ ਸਪਲਾਈ ਦੇ +5V ਟਰਮੀਨਲ ਨੂੰ ਰਿਲੇ ਦੇ ਆਉਟਪੁੱਟ ਸਰਕਟ ਦੇ ਇੱਕ ਟਰਮੀਨਲ ਨਾਲ ਜੋੜਦੀ ਹੈ, ਅਤੇ ਇੱਕ ਹੋਰ ਲਾਲ ਤਾਰ ਆਉਟਪੁੱਟ ਸਰਕਟ ਦੇ ਦੂਜੇ ਟਰਮੀਨਲ ਨੂੰ ਪੰਪ ਨਾਲ ਜੋੜਦੀ ਹੈ। ਇੱਕ ਕਾਲੀ ਤਾਰ ਪੰਪ ਨੂੰ USB ਪਾਵਰ ਸਪਲਾਈ ਦੇ ਗਰਾਊਂਡ ਨਾਲ ਜੋੜਦੀ ਹੈ। ਜਦੋਂ ਰਿਲੇ ਚਾਲੂ ਹੁੰਦਾ ਹੈ, ਇਹ ਸਰਕਟ ਨੂੰ ਪੂਰਾ ਕਰਦਾ ਹੈ, ਪੰਪ ਨੂੰ 5V ਭੇਜਦਾ ਹੈ, ਪੰਪ ਨੂੰ ਚਾਲੂ ਕਰਦਾ ਹੈ।
ਰਿਲੇ ਨੂੰ ਕੰਟਰੋਲ ਕਰੋ
ਤੁਸੀਂ ਆਪਣੇ IoT ਡਿਵਾਈਸ ਕਿੱਟ ਤੋਂ ਰਿਲੇ ਨੂੰ ਕੰਟਰੋਲ ਕਰ ਸਕਦੇ ਹੋ।
ਟਾਸਕ - ਰਿਲੇ ਨੂੰ ਕੰਟਰੋਲ ਕਰੋ
ਆਪਣੇ IoT ਡਿਵਾਈਸ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਰਿਲੇ ਨੂੰ ਕੰਟਰੋਲ ਕਰਨ ਲਈ ਸਬੰਧਤ ਗਾਈਡ ਦੁਆਰਾ ਕੰਮ ਕਰੋ:
MQTT ਦੁਆਰਾ ਆਪਣੇ ਪੌਧੇ ਨੂੰ ਕੰਟਰੋਲ ਕਰੋ
ਹੁਣ ਤੱਕ ਤੁਹਾਡਾ ਰਿਲੇ IoT ਡਿਵਾਈਸ ਦੁਆਰਾ ਸਿੱਧੇ ਤੌਰ 'ਤੇ ਇੱਕ ਮਿੱਟੀ ਦੀ ਨਮੀ ਪੜ੍ਹਨ 'ਤੇ ਆਧਾਰਿਤ ਕੰਟਰੋਲ ਕੀਤਾ ਗਿਆ ਹੈ। ਇੱਕ ਵਪਾਰਕ ਸਿੰਚਾਈ ਪ੍ਰਣਾਲੀ ਵਿੱਚ, ਕੰਟਰੋਲ ਲਾਜ਼ਿਕ ਕੇਂਦਰੀਕ੍ਰਿਤ ਹੋਵੇਗੀ, ਜਿਸ ਨਾਲ ਇਹ ਕਈ ਸੈਂਸਰਾਂ ਤੋਂ ਡੇਟਾ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਪਾਣੀ ਦੇਣ ਦੇ ਫੈਸਲੇ ਕਰ ਸਕੇਗੀ, ਅਤੇ ਕਿਸੇ ਵੀ ਸੰਰਚਨਾ ਨੂੰ ਇੱਕ ਸਿੰਗਲ ਜਗ੍ਹਾ 'ਤੇ ਬਦਲਣ ਦੀ ਆਗਿਆ ਦੇਵੇਗੀ। ਇਸਨੂੰ ਨਕਲ ਕਰਨ ਲਈ, ਤੁਸੀਂ MQTT ਦੁਆਰਾ ਰਿਲੇ ਨੂੰ ਕੰਟਰੋਲ ਕਰ ਸਕਦੇ ਹੋ।
ਟਾਸਕ - MQTT ਦੁਆਰਾ ਰਿਲੇ ਨੂੰ ਕੰਟਰੋਲ ਕਰੋ
-
ਆਪਣੇ
soil-moisture-sensor
ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ MQTT ਨਾਲ ਜੁੜਨ ਲਈ ਸਬੰਧਤ MQTT ਲਾਇਬ੍ਰੇਰੀ/ਪਿਪ ਪੈਕੇਜ ਅਤੇ ਕੋਡ ਸ਼ਾਮਲ ਕਰੋ। ਕਲਾਇੰਟ ID ਨੂੰsoilmoisturesensor_client
ਰੱਖੋ ਜੋ ਤੁਹਾਡੇ ID ਨਾਲ ਪੂਰਵਗami ਹੋਵੇ।⚠️ ਤੁਸੀਂ ਪ੍ਰੋਜੈਕਟ 1, ਪਾਠ 4 ਵਿੱਚ MQTT ਨਾਲ ਜੁੜਨ ਲਈ ਹਦਾਇਤਾਂ ਨੂੰ ਜ਼ਰੂਰਤ ਪੈਣ 'ਤੇ ਰਿਫਰ ਕਰ ਸਕਦੇ ਹੋ।
-
ਮਿੱਟੀ ਦੀ ਨਮੀ ਸੈਟਿੰਗਾਂ ਨਾਲ ਟੈਲੀਮੈਟਰੀ ਭੇਜਣ ਲਈ ਸਬੰਧਤ ਜੇ ਤੁਸੀਂ ਸੈਂਸਰ ਦੇ ਬਹੁਤ ਨੇੜੇ ਪਾਣੀ ਦਿੱਤਾ, ਤਾਂ ਤੁਸੀਂ ਪੜ੍ਹਨ ਨੂੰ ਤੇਜ਼ੀ ਨਾਲ ਘਟਦੇ ਅਤੇ ਫਿਰ ਵਾਪਸ ਵਧਦੇ ਦੇਖਿਆ ਹੋ ਸਕਦਾ ਹੈ - ਇਹ ਸੈਂਸਰ ਦੇ ਨੇੜੇ ਪਾਣੀ ਮਿੱਟੀ ਦੇ ਬਾਕੀ ਹਿੱਸੇ ਵਿੱਚ ਫੈਲਣ ਕਾਰਨ ਹੁੰਦਾ ਹੈ, ਜਿਸ ਨਾਲ ਸੈਂਸਰ ਦੇ ਨੇੜੇ ਮਿੱਟੀ ਦੀ ਨਮੀ ਘਟ ਜਾਂਦੀ ਹੈ।
ਉਪਰ ਦਿੱਤੇ ਚਿੱਤਰ ਵਿੱਚ, ਮਿੱਟੀ ਦੀ ਨਮੀ ਦੀ ਪੜਚੋਲ 658 ਦਿਖਾਉਂਦੀ ਹੈ। ਪੌਦੇ ਨੂੰ ਪਾਣੀ ਦਿੱਤਾ ਜਾਂਦਾ ਹੈ, ਪਰ ਇਹ ਪੜਚੋਲ ਤੁਰੰਤ ਨਹੀਂ ਬਦਲਦੀ ਕਿਉਂਕਿ ਪਾਣੀ ਹਾਲੇ ਸੈਂਸਰ ਤੱਕ ਨਹੀਂ ਪਹੁੰਚਿਆ। ਪਾਣੀ ਦੇਣ ਦੀ ਪ੍ਰਕਿਰਿਆ ਪੂਰੀ ਹੋ ਸਕਦੀ ਹੈ ਇਸ ਤੋਂ ਪਹਿਲਾਂ ਕਿ ਪਾਣੀ ਸੈਂਸਰ ਤੱਕ ਪਹੁੰਚੇ ਅਤੇ ਪੜਚੋਲ ਨਵੀਂ ਨਮੀ ਦੀ ਪੱਧਰ ਨੂੰ ਦਰਸਾਏ।
ਜੇ ਤੁਸੀਂ ਮਿੱਟੀ ਦੀ ਨਮੀ ਦੇ ਪੱਧਰਾਂ ਦੇ ਆਧਾਰ 'ਤੇ ਰੀਲੇ ਦੁਆਰਾ ਸਿੰਚਾਈ ਪ੍ਰਣਾਲੀ ਨੂੰ ਨਿਯੰਤਰਿਤ ਕਰਨ ਲਈ ਕੋਡ ਲਿਖ ਰਹੇ ਹੋ, ਤਾਂ ਤੁਹਾਨੂੰ ਇਸ ਦੇਰੀ ਨੂੰ ਧਿਆਨ ਵਿੱਚ ਰੱਖਣਾ ਪਵੇਗਾ ਅਤੇ ਆਪਣੇ IoT ਡਿਵਾਈਸ ਵਿੱਚ ਹੋਸ਼ਿਆਰ ਸਮਾਂਬੰਧੀ ਲਾਗੂ ਕਰਨੀ ਪਵੇਗੀ।
✅ ਇੱਕ ਪਲ ਲਈ ਸੋਚੋ ਕਿ ਤੁਸੀਂ ਇਹ ਕਿਵੇਂ ਕਰ ਸਕਦੇ ਹੋ।
ਸੈਂਸਰ ਅਤੇ ਐਕਚੁਏਟਰ ਦੇ ਸਮਾਂਬੰਧੀ ਨੂੰ ਨਿਯੰਤਰਿਤ ਕਰੋ
ਕਲਪਨਾ ਕਰੋ ਕਿ ਤੁਹਾਨੂੰ ਕਿਸੇ ਖੇਤ ਲਈ ਸਿੰਚਾਈ ਪ੍ਰਣਾਲੀ ਬਣਾਉਣ ਦਾ ਕੰਮ ਦਿੱਤਾ ਗਿਆ ਹੈ। ਮਿੱਟੀ ਦੇ ਕਿਸਮ ਦੇ ਆਧਾਰ 'ਤੇ, ਪੌਦਿਆਂ ਲਈ ਆਦਰਸ਼ ਮਿੱਟੀ ਦੀ ਨਮੀ ਦਾ ਪੱਧਰ 400-450 ਦੇ ਐਨਾਲੌਗ ਵੋਲਟੇਜ ਪੜਚੋਲ ਨਾਲ ਮੇਲ ਖਾਂਦਾ ਹੈ।
ਤੁਸੀਂ ਡਿਵਾਈਸ ਨੂੰ ਰਾਤ ਦੀ ਬੱਤੀ ਵਾਂਗ ਪ੍ਰੋਗਰਾਮ ਕਰ ਸਕਦੇ ਹੋ - ਜਦੋਂ ਤੱਕ ਸੈਂਸਰ 450 ਤੋਂ ਵੱਧ ਪੜਚੋਲ ਦਿਖਾਉਂਦਾ ਹੈ, ਰੀਲੇ ਨੂੰ ਚਾਲੂ ਕਰੋ ਤਾਂ ਜੋ ਪੰਪ ਚਾਲੂ ਹੋ ਜਾਵੇ। ਸਮੱਸਿਆ ਇਹ ਹੈ ਕਿ ਪਾਣੀ ਨੂੰ ਪੰਪ ਤੋਂ ਮਿੱਟੀ ਰਾਹੀਂ ਸੈਂਸਰ ਤੱਕ ਪਹੁੰਚਣ ਵਿੱਚ ਸਮਾਂ ਲੱਗਦਾ ਹੈ। ਸੈਂਸਰ ਪਾਣੀ ਨੂੰ ਰੋਕ ਦੇਵੇਗਾ ਜਦੋਂ ਇਹ 450 ਦੇ ਪੱਧਰ ਨੂੰ ਪਛਾਣ ਲਵੇਗਾ, ਪਰ ਪਾਣੀ ਦਾ ਪੱਧਰ ਘਟਦਾ ਰਹੇਗਾ ਕਿਉਂਕਿ ਪੰਪ ਕੀਤਾ ਪਾਣੀ ਮਿੱਟੀ ਵਿੱਚ ਜਜ਼ਬ ਹੁੰਦਾ ਰਹੇਗਾ। ਇਸ ਦਾ ਨਤੀਜਾ ਪਾਣੀ ਦੀ ਬਰਬਾਦੀ ਅਤੇ ਜੜਾਂ ਨੂੰ ਨੁਕਸਾਨ ਪਹੁੰਚਣ ਦਾ ਖਤਰਾ ਹੈ।
✅ ਯਾਦ ਰੱਖੋ - ਬਹੁਤ ਜ਼ਿਆਦਾ ਪਾਣੀ ਪੌਦਿਆਂ ਲਈ ਘੱਟ ਪਾਣੀ ਜਿੰਨਾ ਹੀ ਖਰਾਬ ਹੋ ਸਕਦਾ ਹੈ ਅਤੇ ਇਹ ਇੱਕ ਕੀਮਤੀ ਸਰੋਤ ਦੀ ਬਰਬਾਦੀ ਹੈ।
ਇਸ ਤੋਂ ਵਧੀਆ ਹੱਲ ਇਹ ਹੈ ਕਿ ਇਹ ਸਮਝਿਆ ਜਾਵੇ ਕਿ ਐਕਚੁਏਟਰ ਚਾਲੂ ਹੋਣ ਅਤੇ ਸੈਂਸਰ ਦੁਆਰਾ ਪੜਚੋਲ ਕੀਤੀ ਜਾ ਰਹੀ ਗੁਣਵੱਤਾ ਵਿੱਚ ਬਦਲਾਅ ਆਉਣ ਵਿੱਚ ਦੇਰੀ ਹੁੰਦੀ ਹੈ। ਇਸਦਾ ਮਤਲਬ ਹੈ ਕਿ ਸਿਰਫ ਸੈਂਸਰ ਨੂੰ ਮੁੜ ਪੜਚੋਲ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਕੁਝ ਸਮਾਂ ਰੁਕਣਾ ਹੀ ਨਹੀਂ ਚਾਹੀਦਾ, ਸਗੋਂ ਐਕਚੁਏਟਰ ਨੂੰ ਅਗਲੀ ਪੜਚੋਲ ਤੋਂ ਪਹਿਲਾਂ ਕੁਝ ਸਮਾਂ ਬੰਦ ਵੀ ਰਹਿਣਾ ਚਾਹੀਦਾ ਹੈ।
ਹਰ ਵਾਰ ਰੀਲੇ ਕਿੰਨਾ ਸਮਾਂ ਚਾਲੂ ਰਹੇ? ਇਹ ਸਾਵਧਾਨੀ ਵੱਲ ਝੁਕਣਾ ਬਿਹਤਰ ਹੈ ਅਤੇ ਰੀਲੇ ਨੂੰ ਸਿਰਫ ਕੁਝ ਸਮਾਂ ਲਈ ਚਾਲੂ ਰੱਖਣਾ ਚਾਹੀਦਾ ਹੈ, ਫਿਰ ਪਾਣੀ ਨੂੰ ਜਜ਼ਬ ਹੋਣ ਦੇ ਲਈ ਰੁਕਣਾ ਚਾਹੀਦਾ ਹੈ, ਫਿਰ ਨਮੀ ਦੇ ਪੱਧਰਾਂ ਦੀ ਮੁੜ ਜਾਂਚ ਕਰੋ। ਆਖਰਕਾਰ, ਤੁਸੀਂ ਹਮੇਸ਼ਾ ਹੋਰ ਪਾਣੀ ਸ਼ਾਮਲ ਕਰਨ ਲਈ ਪੰਪ ਨੂੰ ਮੁੜ ਚਾਲੂ ਕਰ ਸਕਦੇ ਹੋ, ਪਰ ਤੁਸੀਂ ਮਿੱਟੀ ਵਿੱਚੋਂ ਪਾਣੀ ਨਹੀਂ ਕੱਢ ਸਕਦੇ।
💁 ਇਸ ਤਰ੍ਹਾਂ ਦੀ ਸਮਾਂਬੰਧੀ ਨਿਯੰਤਰਣ ਤੁਹਾਡੇ ਬਣਾਏ ਜਾ ਰਹੇ IoT ਡਿਵਾਈਸ, ਮਾਪੀ ਜਾ ਰਹੀ ਗੁਣਵੱਤਾ ਅਤੇ ਵਰਤੇ ਜਾ ਰਹੇ ਸੈਂਸਰ ਅਤੇ ਐਕਚੁਏਟਰਾਂ ਲਈ ਬਹੁਤ ਵਿਸ਼ੇਸ਼ ਹੁੰਦੀ ਹੈ।
ਉਦਾਹਰਣ ਲਈ, ਮੇਰੇ ਕੋਲ ਇੱਕ ਸਟਰਾਬੇਰੀ ਪੌਦਾ ਹੈ ਜਿਸ ਵਿੱਚ ਮਿੱਟੀ ਦੀ ਨਮੀ ਸੈਂਸਰ ਅਤੇ ਇੱਕ ਪੰਪ ਹੈ ਜੋ ਰੀਲੇ ਦੁਆਰਾ ਨਿਯੰਤਰਿਤ ਹੁੰਦਾ ਹੈ। ਮੈਂ ਵੇਖਿਆ ਹੈ ਕਿ ਜਦੋਂ ਮੈਂ ਪਾਣੀ ਸ਼ਾਮਲ ਕਰਦਾ ਹਾਂ, ਤਾਂ ਮਿੱਟੀ ਦੀ ਨਮੀ ਦੀ ਪੜਚੋਲ ਨੂੰ ਸਥਿਰ ਹੋਣ ਵਿੱਚ ਲਗਭਗ 20 ਸਕਿੰਟ ਲੱਗਦੇ ਹਨ। ਇਸਦਾ ਮਤਲਬ ਹੈ ਕਿ ਮੈਨੂੰ ਰੀਲੇ ਨੂੰ ਬੰਦ ਕਰਨਾ ਪਵੇਗਾ ਅਤੇ ਨਮੀ ਦੇ ਪੱਧਰਾਂ ਦੀ ਜਾਂਚ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ 20 ਸਕਿੰਟ ਰੁਕਣਾ ਪਵੇਗਾ। ਮੈਂ ਘੱਟ ਪਾਣੀ ਦੇਣ ਨੂੰ ਤਰਜੀਹ ਦਿੰਦਾ ਹਾਂ ਬਜਾਏ ਬਹੁਤ ਜ਼ਿਆਦਾ ਦੇਣ ਦੇ - ਮੈਂ ਹਮੇਸ਼ਾ ਪੰਪ ਨੂੰ ਮੁੜ ਚਾਲੂ ਕਰ ਸਕਦਾ ਹਾਂ, ਪਰ ਮੈਂ ਪੌਦੇ ਵਿੱਚੋਂ ਪਾਣੀ ਨਹੀਂ ਕੱਢ ਸਕਦਾ।
ਇਸਦਾ ਮਤਲਬ ਹੈ ਕਿ ਸਭ ਤੋਂ ਵਧੀਆ ਪ੍ਰਕਿਰਿਆ ਇੱਕ ਸਿੰਚਾਈ ਚੱਕਰ ਹੋਵੇਗੀ ਜੋ ਕੁਝ ਇਸ ਤਰ੍ਹਾਂ ਹੋਵੇ:
- ਪੰਪ ਨੂੰ 5 ਸਕਿੰਟ ਲਈ ਚਾਲੂ ਕਰੋ
- 20 ਸਕਿੰਟ ਲਈ ਰੁਕੋ
- ਮਿੱਟੀ ਦੀ ਨਮੀ ਦੀ ਜਾਂਚ ਕਰੋ
- ਜੇ ਪੱਧਰ ਹਾਲੇ ਵੀ ਲੋੜੀਂਦੇ ਪੱਧਰ ਤੋਂ ਉੱਪਰ ਹੈ, ਤਾਂ ਉਪਰੋਕਤ ਕਦਮਾਂ ਨੂੰ ਦੁਹਰਾਓ
5 ਸਕਿੰਟ ਪੰਪ ਲਈ ਬਹੁਤ ਲੰਬਾ ਸਮਾਂ ਹੋ ਸਕਦਾ ਹੈ, ਖਾਸ ਕਰਕੇ ਜਦੋਂ ਨਮੀ ਦੇ ਪੱਧਰ ਸਿਰਫ ਲੋੜੀਂਦੇ ਪੱਧਰ ਤੋਂ ਥੋੜ੍ਹੇ ਜਿਹੇ ਉੱਪਰ ਹੋਣ। ਸਭ ਤੋਂ ਵਧੀਆ ਤਰੀਕਾ ਇਹ ਹੈ ਕਿ ਇਸਨੂੰ ਅਜ਼ਮਾਓ, ਫਿਰ ਸੈਂਸਰ ਡੇਟਾ ਦੇ ਆਧਾਰ 'ਤੇ ਸਮਾਂਬੰਧੀ ਨੂੰ ਢਾਲੋ, ਇੱਕ ਨਿਰੰਤਰ ਫੀਡਬੈਕ ਲੂਪ ਨਾਲ। ਇਹ ਹੋਰ ਵਿਸਥਾਰਕ ਸਮਾਂਬੰਧੀ ਵੱਲ ਵੀ ਲੈ ਜਾ ਸਕਦਾ ਹੈ, ਜਿਵੇਂ ਕਿ ਲੋੜੀਂਦੇ ਮਿੱਟੀ ਦੀ ਨਮੀ ਤੋਂ ਹਰ 100 ਉੱਪਰ ਲਈ ਪੰਪ ਨੂੰ 1 ਸਕਿੰਟ ਲਈ ਚਾਲੂ ਕਰਨਾ, ਇੱਕ ਨਿਰਧਾਰਿਤ 5 ਸਕਿੰਟ ਦੀ ਬਜਾਏ।
✅ ਕੁਝ ਖੋਜ ਕਰੋ: ਕੀ ਹੋਰ ਸਮਾਂਬੰਧੀ ਦੇ ਮਾਮਲੇ ਹਨ? ਕੀ ਪੌਦੇ ਨੂੰ ਕਿਸੇ ਵੀ ਸਮੇਂ ਪਾਣੀ ਦਿੱਤਾ ਜਾ ਸਕਦਾ ਹੈ ਜਦੋਂ ਮਿੱਟੀ ਦੀ ਨਮੀ ਬਹੁਤ ਘੱਟ ਹੋਵੇ, ਜਾਂ ਕੀ ਪਾਣੀ ਦੇਣ ਲਈ ਕੁਝ ਖਾਸ ਸਮੇਂ ਚੰਗੇ ਜਾਂ ਮਾੜੇ ਹੁੰਦੇ ਹਨ?
💁 ਮੌਸਮ ਦੀ ਪੇਸ਼ਗੋਈਆਂ ਨੂੰ ਬਾਹਰੀ ਖੇਤੀ ਲਈ ਆਟੋਮੈਟਿਕ ਸਿੰਚਾਈ ਪ੍ਰਣਾਲੀਆਂ ਨੂੰ ਨਿਯੰਤਰਿਤ ਕਰਨ ਵੇਲੇ ਧਿਆਨ ਵਿੱਚ ਰੱਖਿਆ ਜਾ ਸਕਦਾ ਹੈ। ਜੇ ਮੀਂਹ ਦੀ ਉਮੀਦ ਹੈ, ਤਾਂ ਪਾਣੀ ਦੇਣ ਨੂੰ ਮੀਂਹ ਖਤਮ ਹੋਣ ਤੱਕ ਰੋਕਿਆ ਜਾ ਸਕਦਾ ਹੈ। ਉਸ ਸਮੇਂ ਮਿੱਟੀ ਸ਼ਾਇਦ ਕਾਫ਼ੀ ਨਮੀ ਵਾਲੀ ਹੋਵੇ ਕਿ ਇਸਨੂੰ ਪਾਣੀ ਦੀ ਲੋੜ ਨਾ ਹੋਵੇ, ਜੋ ਮੀਂਹ ਤੋਂ ਥੋੜ੍ਹਾ ਪਹਿਲਾਂ ਪਾਣੀ ਦੇਣ ਨਾਲ ਪਾਣੀ ਦੀ ਬਰਬਾਦੀ ਨਾਲੋਂ ਕਾਫ਼ੀ ਜ਼ਿਆਦਾ ਕੁਸ਼ਲ ਹੈ।
ਆਪਣੇ ਪੌਦੇ ਦੇ ਨਿਯੰਤਰਣ ਸਰਵਰ ਵਿੱਚ ਸਮਾਂਬੰਧੀ ਸ਼ਾਮਲ ਕਰੋ
ਸਰਵਰ ਕੋਡ ਨੂੰ ਸਿੰਚਾਈ ਚੱਕਰ ਦੇ ਸਮਾਂਬੰਧੀ ਅਤੇ ਮਿੱਟੀ ਦੀ ਨਮੀ ਦੇ ਪੱਧਰਾਂ ਨੂੰ ਬਦਲਣ ਲਈ ਰੁਕਣ ਦੇ ਨਿਯੰਤਰਣ ਨੂੰ ਸ਼ਾਮਲ ਕਰਨ ਲਈ ਸੋਧਿਆ ਜਾ ਸਕਦਾ ਹੈ। ਰੀਲੇ ਦੇ ਸਮਾਂਬੰਧੀ ਨੂੰ ਨਿਯੰਤਰਿਤ ਕਰਨ ਲਈ ਸਰਵਰ ਲਾਜਿਕ ਇਹ ਹੈ:
- ਟੈਲੀਮੇਟਰੀ ਸੁਨੇਹਾ ਪ੍ਰਾਪਤ ਹੋਇਆ
- ਮਿੱਟੀ ਦੀ ਨਮੀ ਦੇ ਪੱਧਰ ਦੀ ਜਾਂਚ ਕਰੋ
- ਜੇ ਪੱਧਰ ਠੀਕ ਹੈ, ਤਾਂ ਕੁਝ ਨਾ ਕਰੋ। ਜੇ ਪੜਚੋਲ ਬਹੁਤ ਉੱਚੀ ਹੈ (ਜਿਸਦਾ ਮਤਲਬ ਹੈ ਕਿ ਮਿੱਟੀ ਦੀ ਨਮੀ ਬਹੁਤ ਘੱਟ ਹੈ), ਤਾਂ:
- ਰੀਲੇ ਨੂੰ ਚਾਲੂ ਕਰਨ ਲਈ ਕਮਾਂਡ ਭੇਜੋ
- 5 ਸਕਿੰਟ ਲਈ ਰੁਕੋ
- ਰੀਲੇ ਨੂੰ ਬੰਦ ਕਰਨ ਲਈ ਕਮਾਂਡ ਭੇਜੋ
- ਮਿੱਟੀ ਦੀ ਨਮੀ ਦੇ ਪੱਧਰਾਂ ਨੂੰ ਸਥਿਰ ਹੋਣ ਦੇ ਲਈ 20 ਸਕਿੰਟ ਲਈ ਰੁਕੋ
ਸਿੰਚਾਈ ਚੱਕਰ, ਟੈਲੀਮੇਟਰੀ ਸੁਨੇਹਾ ਪ੍ਰਾਪਤ ਕਰਨ ਤੋਂ ਲੈ ਕੇ ਮਿੱਟੀ ਦੀ ਨਮੀ ਦੇ ਪੱਧਰਾਂ ਨੂੰ ਮੁੜ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਤਿਆਰ ਹੋਣ ਤੱਕ, ਲਗਭਗ 25 ਸਕਿੰਟ ਲੈਂਦਾ ਹੈ। ਅਸੀਂ ਹਰ 10 ਸਕਿੰਟ ਵਿੱਚ ਮਿੱਟੀ ਦੀ ਨਮੀ ਦੇ ਪੱਧਰ ਭੇਜ ਰਹੇ ਹਾਂ, ਇਸ ਲਈ ਇੱਕ ਓਵਰਲੈਪ ਹੈ ਜਿੱਥੇ ਸਰਵਰ ਮਿੱਟੀ ਦੀ ਨਮੀ ਦੇ ਪੱਧਰਾਂ ਨੂੰ ਸਥਿਰ ਹੋਣ ਲਈ ਰੁਕ ਰਿਹਾ ਹੈ, ਜੋ ਇੱਕ ਹੋਰ ਸਿੰਚਾਈ ਚੱਕਰ ਸ਼ੁਰੂ ਕਰ ਸਕਦਾ ਹੈ।
ਇਸਨੂੰ ਹੱਲ ਕਰਨ ਲਈ ਦੋ ਵਿਕਲਪ ਹਨ:
- IoT ਡਿਵਾਈਸ ਕੋਡ ਨੂੰ ਬਦਲੋ ਤਾਂ ਕਿ ਸਿਰਫ ਹਰ ਮਿੰਟ ਟੈਲੀਮੇਟਰੀ ਭੇਜੀ ਜਾਵੇ, ਇਸ ਤਰ੍ਹਾਂ ਸਿੰਚਾਈ ਚੱਕਰ ਅਗਲੇ ਸੁਨੇਹੇ ਭੇਜਣ ਤੋਂ ਪਹਿਲਾਂ ਪੂਰਾ ਹੋ ਜਾਵੇਗਾ
- ਸਿੰਚਾਈ ਚੱਕਰ ਦੌਰਾਨ ਟੈਲੀਮੇਟਰੀ ਤੋਂ ਅਨਸਬਸਕ੍ਰਾਈਬ ਕਰੋ
ਪਹਿਲਾ ਵਿਕਲਪ ਵੱਡੇ ਖੇਤਾਂ ਲਈ ਹਮੇਸ਼ਾ ਚੰਗਾ ਹੱਲ ਨਹੀਂ ਹੁੰਦਾ। ਕਿਸਾਨ ਸ਼ਾਇਦ ਮਿੱਟੀ ਦੀ ਨਮੀ ਦੇ ਪੱਧਰਾਂ ਨੂੰ ਸਿੰਚਾਈ ਦੌਰਾਨ ਕੈਪਚਰ ਕਰਨਾ ਚਾਹੇ, ਉਦਾਹਰਣ ਲਈ ਖੇਤ ਦੇ ਵੱਖ-ਵੱਖ ਖੇਤਰਾਂ ਵਿੱਚ ਪਾਣੀ ਦੇ ਪ੍ਰਵਾਹ ਬਾਰੇ ਜਾਣਕਾਰੀ ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ ਜੋ ਹੋਰ ਟਾਰਗੇਟਡ ਸਿੰਚਾਈ ਲਈ ਮਦਦਗਾਰ ਹੋ ਸਕੇ। ਦੂਜਾ ਵਿਕਲਪ ਬਿਹਤਰ ਹੈ - ਕੋਡ ਸਿਰਫ ਟੈਲੀਮੇਟਰੀ ਨੂੰ ਅਣਡਿੱਠਾ ਕਰ ਰਿਹਾ ਹੈ ਜਦੋਂ ਇਹ ਇਸਨੂੰ ਵਰਤ ਨਹੀਂ ਸਕਦਾ, ਪਰ ਟੈਲੀਮੇਟਰੀ ਹਾਲੇ ਵੀ ਹੋਰ ਸੇਵਾਵਾਂ ਲਈ ਉਪਲਬਧ ਹੈ ਜੋ ਇਸਨੂੰ ਸੁਣ ਸਕਦੀਆਂ ਹਨ।
💁 IoT ਡੇਟਾ ਸਿਰਫ ਇੱਕ ਡਿਵਾਈਸ ਤੋਂ ਇੱਕ ਸੇਵਾ ਤੱਕ ਨਹੀਂ ਭੇਜਿਆ ਜਾਂਦਾ, ਸਗੋਂ ਕਈ ਡਿਵਾਈਸ ਡੇਟਾ ਨੂੰ ਇੱਕ ਬ੍ਰੋਕਰ ਤੱਕ ਭੇਜ ਸਕਦੇ ਹਨ, ਅਤੇ ਕਈ ਸੇਵਾਵਾਂ ਇਸ ਡੇਟਾ ਨੂੰ ਬ੍ਰੋਕਰ ਤੋਂ ਸੁਣ ਸਕਦੀਆਂ ਹਨ। ਉਦਾਹਰਣ ਲਈ, ਇੱਕ ਸੇਵਾ ਮਿੱਟੀ ਦੀ ਨਮੀ ਦੇ ਡੇਟਾ ਨੂੰ ਸੁਣ ਸਕਦੀ ਹੈ ਅਤੇ ਇਸਨੂੰ ਬਾਅਦ ਵਿੱਚ ਵਿਸ਼ਲੇਸ਼ਣ ਲਈ ਡਾਟਾਬੇਸ ਵਿੱਚ ਸਟੋਰ ਕਰ ਸਕਦੀ ਹੈ। ਇੱਕ ਹੋਰ ਸੇਵਾ ਇਸੇ ਟੈਲੀਮੇਟਰੀ ਨੂੰ ਸੁਣ ਸਕਦੀ ਹੈ ਤਾਂ ਜੋ ਸਿੰਚਾਈ ਪ੍ਰਣਾਲੀ ਨੂੰ ਨਿਯੰਤਰਿਤ ਕੀਤਾ ਜਾ ਸਕੇ।
ਕੰਮ - ਆਪਣੇ ਪੌਦੇ ਦੇ ਨਿਯੰਤਰਣ ਸਰਵਰ ਵਿੱਚ ਸਮਾਂਬੰਧੀ ਸ਼ਾਮਲ ਕਰੋ
ਆਪਣੇ ਸਰਵਰ ਕੋਡ ਨੂੰ 5 ਸਕਿੰਟ ਲਈ ਰੀਲੇ ਚਲਾਉਣ ਅਤੇ ਫਿਰ 20 ਸਕਿੰਟ ਲਈ ਰੁਕਣ ਲਈ ਅਪਡੇਟ ਕਰੋ।
-
ਜੇ
soil-moisture-sensor-server
ਫੋਲਡਰ VS Code ਵਿੱਚ ਖੁੱਲ੍ਹਾ ਨਹੀਂ ਹੈ, ਤਾਂ ਇਸਨੂੰ ਖੋਲ੍ਹੋ। ਯਕੀਨੀ ਬਣਾਓ ਕਿ ਵਰਚੁਅਲ ਐਨਵਾਇਰਨਮੈਂਟ ਐਕਟੀਵੇਟ ਹੈ। -
app.py
ਫਾਈਲ ਖੋਲ੍ਹੋ -
ਮੌਜੂਦਾ ਇੰਪੋਰਟਾਂ ਦੇ ਹੇਠਾਂ
app.py
ਫਾਈਲ ਵਿੱਚ ਹੇਠਾਂ ਦਿੱਤਾ ਕੋਡ ਸ਼ਾਮਲ ਕਰੋ:import threading
ਇਹ ਕਥਨ Python ਲਾਇਬ੍ਰੇਰੀਆਂ ਤੋਂ
threading
ਨੂੰ ਇੰਪੋਰਟ ਕਰਦਾ ਹੈ, ਜੋ ਪਾਈਥਨ ਨੂੰ ਰੁਕਣ ਦੌਰਾਨ ਹੋਰ ਕੋਡ ਚਲਾਉਣ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ। -
ਟੈਲੀਮੇਟਰੀ ਸੁਨੇਹਿਆਂ ਨੂੰ ਸੰਭਾਲਣ ਵਾਲੇ
handle_telemetry
ਫੰਕਸ਼ਨ ਤੋਂ ਪਹਿਲਾਂ ਹੇਠਾਂ ਦਿੱਤਾ ਕੋਡ ਸ਼ਾਮਲ ਕਰੋ:water_time = 5 wait_time = 20
ਇਹ ਨਿਰਧਾਰਤ ਕਰਦਾ ਹੈ ਕਿ ਰੀਲੇ ਕਿੰਨਾ ਸਮਾਂ ਚੱਲੇਗਾ (
water_time
), ਅਤੇ ਮਿੱਟੀ ਦੀ ਨਮੀ ਦੀ ਜਾਂਚ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਕਿੰਨਾ ਸਮਾਂ ਰੁਕਣਾ ਹੈ (wait_time
)। -
ਇਸ ਕੋਡ ਦੇ ਹੇਠਾਂ ਹੇਠਾਂ ਦਿੱਤਾ ਕੋਡ ਸ਼ਾਮਲ ਕਰੋ:
def send_relay_command(client, state): command = { 'relay_on' : state } print("Sending message:", command) client.publish(server_command_topic, json.dumps(command))
ਇਹ ਇੱਕ ਫੰਕਸ਼ਨ
send_relay_command
ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰਦਾ ਹੈ ਜੋ MQTT ਰਾਹੀਂ ਰੀਲੇ ਨੂੰ ਨਿਯੰਤਰਿਤ ਕਰਨ ਲਈ ਕਮਾਂਡ ਭੇਜਦਾ ਹੈ। ਟੈਲੀਮੇਟਰੀ ਨੂੰ ਇੱਕ ਡਿਕਸ਼ਨਰੀ ਵਜੋਂ ਬਣਾਇਆ ਜਾਂਦਾ ਹੈ, ਫਿਰ ਇਸਨੂੰ ਇੱਕ JSON ਸਟ੍ਰਿੰਗ ਵਿੱਚ ਬਦਲਿਆ ਜਾਂਦਾ ਹੈ।state
ਵਿੱਚ ਪਾਸ ਕੀਤੀ ਗਈ ਵੈਲਿਊ ਨਿਰਧਾਰਤ ਕਰਦੀ ਹੈ ਕਿ ਰੀਲੇ ਚਾਲੂ ਹੋਵੇ ਜਾਂ ਬੰਦ। -
send_relay_code
ਫੰਕਸ਼ਨ ਤੋਂ ਬਾਅਦ ਹੇਠਾਂ ਦਿੱਤਾ ਕੋਡ ਸ਼ਾਮਲ ਕਰੋ:def control_relay(client): print("Unsubscribing from telemetry") mqtt_client.unsubscribe(client_telemetry_topic) send_relay_command(client, True) time.sleep(water_time) send_relay_command(client, False) time.sleep(wait_time) print("Subscribing to telemetry") mqtt_client.subscribe(client_telemetry_topic)
ਇਹ ਇੱਕ ਫੰਕਸ਼ਨ ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰਦਾ ਹੈ ਜੋ ਲੋੜੀਂਦੇ ਸਮਾਂਬੰਧੀ ਦੇ ਆਧਾਰ 'ਤੇ ਰੀਲੇ ਨੂੰ ਨਿਯੰਤਰਿਤ ਕਰਦਾ ਹੈ। ਇਹ ਟੈਲੀਮੇਟਰੀ ਤੋਂ ਅਨਸਬਸਕ੍ਰਾਈਬ ਕਰਕੇ ਸ਼ੁਰੂ ਹੁੰਦਾ ਹੈ ਤਾਂ ਜੋ ਸਿੰਚਾਈ ਦੌਰਾਨ ਮਿੱਟੀ ਦੀ ਨਮੀ ਦੇ ਸੁਨੇਹੇ ਪ੍ਰਕਿਰਿਆ ਨਾ ਕੀਤੇ ਜਾਣ। ਫਿਰ ਇਹ ਰੀਲੇ ਨੂੰ ਚਾਲੂ ਕਰਨ ਲਈ ਕਮਾਂਡ ਭੇਜਦਾ ਹੈ। ਫਿਰ ਇਹ
water_time
ਲਈ ਰੁਕਦਾ ਹੈ ਇਸ ਤੋਂ ਪਹਿਲਾਂ ਕਿ ਰੀਲੇ ਨੂੰ ਬੰਦ ਕਰਨ ਲਈ ਕਮਾਂਡ ਭੇਜੇ। ਆਖਰਕਾਰ, ਇਹ ਮਿੱਟੀ ਦੀ ਨਮੀ ਦੇ ਪੱਧਰਾਂ ਨੂੰ ਸਥਿਰ ਹੋਣ ਦੇ ਲਈwait_time
ਸਕਿੰਟ ਲਈ ਰੁਕਦਾ ਹੈ। ਫਿਰ ਇਹ ਟੈਲੀਮੇਟਰੀ ਨੂੰ ਮੁੜ ਸਬਸਕ੍ਰਾਈਬ ਕਰਦਾ ਹੈ। -
handle_telemetry
ਫੰਕਸ਼ਨ ਨੂੰ ਹੇਠਾਂ ਦਿੱਤੇ ਅਨੁਸਾਰ ਬਦਲੋ:def handle_telemetry(client, userdata, message): payload = json.loads(message.payload.decode()) print("Message received:", payload) if payload['soil_moisture'] > 450: threading.Thread(target=control_relay, args=(client,)).start()
ਇਹ ਕੋਡ ਮਿੱਟੀ ਦੀ ਨਮੀ ਦੇ ਪੱਧਰ ਦੀ ਜਾਂਚ ਕਰਦਾ ਹੈ। ਜੇ ਇਹ 450 ਤੋਂ ਵੱਧ ਹੈ, ਤਾਂ ਮਿੱਟੀ ਨੂੰ ਪਾਣੀ ਦੀ ਲੋੜ ਹੈ, ਇਸ ਲਈ ਇਹ
control_relay
ਫੰਕਸ਼ਨ ਨੂੰ ਕਾਲ ਕਰਦਾ ਹੈ। ਇਹ ਫੰਕਸ਼ਨ ਇੱਕ ਵੱਖਰੇ ਥ੍ਰੈਡ 'ਤੇ ਚਲਾਇਆ ਜਾਂਦਾ ਹੈ, ਜੋ ਬੈਕਗ੍ਰਾਊਂਡ ਵਿੱਚ ਚੱਲਦਾ ਹੈ। -
ਯਕੀਨੀ ਬਣਾਓ ਕਿ ਤੁਹਾਡਾ IoT ਡਿਵਾਈਸ ਚੱਲ ਰਿਹਾ ਹੈ, ਫਿਰ ਇਹ ਕੋਡ ਚਲਾਓ। ਮ
ਅਸਵੀਕਰਤੀ:
ਇਹ ਦਸਤਾਵੇਜ਼ AI ਅਨੁਵਾਦ ਸੇਵਾ Co-op Translator ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਅਨੁਵਾਦ ਕੀਤਾ ਗਿਆ ਹੈ। ਜਦੋਂ ਕਿ ਅਸੀਂ ਸਹੀ ਹੋਣ ਦਾ ਯਤਨ ਕਰਦੇ ਹਾਂ, ਕਿਰਪਾ ਕਰਕੇ ਧਿਆਨ ਦਿਓ ਕਿ ਸਵੈਚਾਲਿਤ ਅਨੁਵਾਦਾਂ ਵਿੱਚ ਗਲਤੀਆਂ ਜਾਂ ਅਸੁੱਤੀਆਂ ਹੋ ਸਕਦੀਆਂ ਹਨ। ਇਸ ਦੀ ਮੂਲ ਭਾਸ਼ਾ ਵਿੱਚ ਮੌਜੂਦ ਮੂਲ ਦਸਤਾਵੇਜ਼ ਨੂੰ ਪ੍ਰਮਾਣਿਕ ਸਰੋਤ ਮੰਨਿਆ ਜਾਣਾ ਚਾਹੀਦਾ ਹੈ। ਮਹੱਤਵਪੂਰਨ ਜਾਣਕਾਰੀ ਲਈ, ਪੇਸ਼ੇਵਰ ਮਨੁੱਖੀ ਅਨੁਵਾਦ ਦੀ ਸਿਫਾਰਸ਼ ਕੀਤੀ ਜਾਂਦੀ ਹੈ। ਇਸ ਅਨੁਵਾਦ ਦੇ ਪ੍ਰਯੋਗ ਤੋਂ ਪੈਦਾ ਹੋਣ ਵਾਲੇ ਕਿਸੇ ਵੀ ਗਲਤਫਹਿਮੀ ਜਾਂ ਗਲਤ ਵਿਆਖਿਆ ਲਈ ਅਸੀਂ ਜ਼ਿੰਮੇਵਾਰ ਨਹੀਂ ਹਾਂ।