# रिले को नियंत्रित करें - वर्चुअल IoT हार्डवेयर इस पाठ के इस भाग में, आप अपनी वर्चुअल IoT डिवाइस में मिट्टी की नमी सेंसर के साथ एक रिले जोड़ेंगे और इसे मिट्टी की नमी के स्तर के आधार पर नियंत्रित करेंगे। ## वर्चुअल हार्डवेयर वर्चुअल IoT डिवाइस एक सिम्युलेटेड Grove रिले का उपयोग करेगा। यह प्रयोग को भौतिक Grove रिले के साथ Raspberry Pi का उपयोग करने जैसा बनाए रखता है। एक भौतिक 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** बटन चुनें ताकि Pin 5 पर रिले बनाया जा सके। ![रिले सेटिंग्स](../../../../../translated_images/counterfit-create-relay.fa7c40fd0f2f6afc33b35ea94fcb235085be4861e14e3fe6b9b7bcfc82d1c888.hi.png) रिले बनाया जाएगा और एक्टुएटर्स सूची में दिखाई देगा। ![रिले बनाया गया](../../../../../translated_images/counterfit-relay.bbf74c1dbdc8b9acd983367fcbd06703a402aefef6af54ddb28e11307ba8a12c.hi.png) ## रिले को प्रोग्राम करें अब मिट्टी की नमी सेंसर ऐप को वर्चुअल रिले का उपयोग करने के लिए प्रोग्राम किया जा सकता है। ### कार्य वर्चुअल डिवाइस को प्रोग्राम करें। 1. यदि आपने पिछले पाठ से `soil-moisture-sensor` प्रोजेक्ट को VS Code में नहीं खोला है, तो इसे खोलें। आप इस प्रोजेक्ट में जोड़ने जा रहे हैं। 1. `app.py` फाइल में मौजूदा इम्पोर्ट्स के नीचे निम्नलिखित कोड जोड़ें: ```python from counterfit_shims_grove.grove_relay import GroveRelay ``` यह कथन Grove Python शिम लाइब्रेरी से `GroveRelay` को इम्पोर्ट करता है ताकि वर्चुअल Grove रिले के साथ इंटरैक्ट किया जा सके। 1. `ADC` क्लास की घोषणा के नीचे निम्नलिखित कोड जोड़ें ताकि `GroveRelay` का एक इंस्टेंस बनाया जा सके: ```python relay = GroveRelay(5) ``` यह Pin **5** का उपयोग करके एक रिले बनाता है, वह पिन जिसे आपने रिले से जोड़ा था। 1. यह जांचने के लिए कि रिले काम कर रहा है, `while True:` लूप में निम्नलिखित जोड़ें: ```python relay.on() time.sleep(.5) relay.off() ``` कोड रिले को चालू करता है, 0.5 सेकंड प्रतीक्षा करता है, फिर रिले को बंद करता है। 1. Python ऐप चलाएं। रिले हर 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. Python ऐप चलाएं। आप देखेंगे कि रिले मिट्टी की नमी स्तर के अनुसार चालू या बंद हो रहा है। मिट्टी की नमी सेंसर के लिए *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) का उपयोग करके अनुवादित किया गया है। जबकि हम सटीकता सुनिश्चित करने का प्रयास करते हैं, कृपया ध्यान दें कि स्वचालित अनुवाद में त्रुटियां या अशुद्धियां हो सकती हैं। मूल भाषा में उपलब्ध मूल दस्तावेज़ को प्रामाणिक स्रोत माना जाना चाहिए। महत्वपूर्ण जानकारी के लिए, पेशेवर मानव अनुवाद की सिफारिश की जाती है। इस अनुवाद के उपयोग से उत्पन्न किसी भी गलतफहमी या गलत व्याख्या के लिए हम उत्तरदायी नहीं हैं।