- अवयव आवश्यक
- सर्किट आरेख
- गैराज डोर को नियंत्रित करने के लिए रास्पबेरी पाई में फ्लास्क सेटअप
- स्मार्ट गैराज डोर ओपनर के लिए पायथन स्क्रिप्ट का निर्माण
- रास्पबेरी पाई वेबसर्वर के लिए HTML पेज बनाना
- {{pins.name}} {% अगर pins.state == true%} वर्तमान में खुला है
IoT (इंटरनेट ऑफ थिंग्स) के इस युग में, जहाँ आपके स्मार्टफोन का उपयोग करके दूर से सब कुछ नियंत्रित किया जा सकता है, क्यों आप के साथ चाबियाँ ले जाएं। आरएफआईडी, ब्लूटूथ, वाई-फाई, लोरा जैसे उपकरणों के वायरलेस नियंत्रण का समर्थन करने के लिए बहुत सारी तकनीकें हैं। हमने पहले कुछ दरवाजा अलार्म और दरवाजे को नियंत्रित करने वाले सर्किट को वायरलेस तरीके से खोलने और बंद करने के लिए बनाया था:
- Arduino RFID डोर लॉक
- स्वचालित दरवाजा सलामी बल्लेबाज Arduino का उपयोग कर
- हॉल सेंसर का उपयोग कर चुंबकीय दरवाजा अलार्म सर्किट
- Google सहायक द्वारा नियंत्रित IoT आधारित डोर सिक्योरिटी अलार्म
यहाँ इस ट्यूटोरियल में हम रास्पबेरी पाई का उपयोग करके एक स्मार्ट गैराज डोर ओपनर का निर्माण करेंगे । यहां आपके स्मार्टफोन का उपयोग करके गेराज दरवाजा खोलने और बंद करने के लिए एक रास्पबेरी पाई वेब सर्वर बनाया जाएगा।
अवयव आवश्यक
- रास्पबेरी के साथ रास्पबेरी पाई बोर्ड इसमें स्थापित किया गया है
- रिले मॉड्यूल
- तारों को जोड़ना
यह माना जाता है कि आपका रास्पबेरी पाई पहले से ही एक ऑपरेटिंग सिस्टम के साथ फ्लैश किया गया है और इंटरनेट से कनेक्ट करने में सक्षम है। यदि नहीं, तो आगे बढ़ने से पहले रास्पबेरी पाई ट्यूटोरियल के साथ आरंभ करें का पालन करें। यहां हम रासबेरी जेसी स्थापित रास्पबेरी पाई 3 का उपयोग कर रहे हैं ।
एचडीएमआई केबल का उपयोग करने वाले बाहरी मॉनिटर का उपयोग रास्पबेरी पाई के साथ कनेक्ट करने के लिए डिस्प्ले के रूप में किया जाता है। यदि आपके पास मॉनिटर नहीं है, तो आप लैपटॉप या कंप्यूटर का उपयोग करके रास्पबेरी पाई से कनेक्ट करने के लिए एसएसएच क्लाइंट (पुट्टी) या वीएनसी सर्वर का उपयोग कर सकते हैं। रास्पबेरी पाई को यहां बिना सिर के स्थापित करने के बारे में अधिक जानें।
सर्किट आरेख
रिले के आउटपुट के लिए गेराज दरवाजा खोलने का तंत्र कनेक्ट करें। यहाँ हमने प्रदर्शन उद्देश्य के लिए रिले के साथ एक एलईडी कनेक्ट किया है।
गैराज डोर को नियंत्रित करने के लिए रास्पबेरी पाई में फ्लास्क सेटअप
यहां, हमने फ्लास्क का उपयोग करके एक वेब सर्वर बनाया है, जो नेटवर्क पर रोबोट को नियंत्रित करने के लिए वेबपेज से रास्पबेरी पाई को कमांड भेजने का एक तरीका प्रदान करता है । फ्लास्क हमें एक वेबपेज के माध्यम से अपनी अजगर लिपियों को चलाने की अनुमति देता है और हम रास्पबेरी पाई से वेब ब्राउज़र और इसके विपरीत डेटा भेज और प्राप्त कर सकते हैं। फ्लास्क पायथन के लिए एक माइक्रोफ्रामवर्क है। यह उपकरण यूनीकोड आधारित है जिसमें अंतर्निहित विकास सर्वर और डीबगर, एकीकृत इकाई परीक्षण समर्थन, सुरक्षित कुकीज़ का समर्थन और इसका उपयोग करने में आसान है, ये चीजें इसे हॉबीस्ट के लिए उपयोगी बनाती हैं।
अपने रास्पबेरी पाई में फ्लास्क स्थापित करने के लिए निम्नलिखित कमांड चलाएँ:
sudo apt-get update sudo apt-get install पायथन-पाइप पायथन-फ्लास्क
अब, फ्लास्क और उसकी निर्भरता को स्थापित करने के लिए पाइप कमांड चलाएँ:
सुडो पाइप स्थापित फ्लास्क
आप यहां फ्लास्क का उपयोग करते हुए प्रोग्रामिंग के बारे में अधिक जान सकते हैं, हमारी पिछली परियोजनाओं की भी जांच कर सकते हैं जहां हमने वेबस्वर के माध्यम से रोबोट को नियंत्रित करने के लिए फ्लास्क का उपयोग किया है, वेबपेज से रास्पबेरी पाई को संदेश भेजें और रास्पबेरी पाई को स्मार्ट कंटेनर में वजन मान भेजें।
अब, हम अपने गेराज दरवाजा वेब सर्वर के लिए एक पायथन स्क्रिप्ट लिखेंगे।
स्मार्ट गैराज डोर ओपनर के लिए पायथन स्क्रिप्ट का निर्माण
यह स्क्रिप्ट हमारे रास्पबेरी पाई GPIO के साथ बातचीत करेगी और वेब सर्वर सेट करेगी। तो, यह हमारे आवेदन के लिए मुख्य स्क्रिप्ट है। डोर ओपनर के लिए पूरा पायथन स्क्रिप्ट अंत में दी गई है, यहां हमने इसके कुछ हिस्से बताए हैं।
सबसे पहले, एक फ़ोल्डर बनाएं। अन्य सभी आवश्यक फ़ोल्डर केवल इस फ़ोल्डर में होने चाहिए। फोल्डर बनाने के लिए नीचे कमांड चलाएं और इस फोल्डर के अंदर app.py नाम की अजगर फाइल बनाएं ।
mddir गेराज_door cd गेराज_ मजदूर नैनो app.py
यह नैनो संपादक खोलेगा जहाँ हमें स्क्रिप्ट लिखना है।
महत्वपूर्ण पुस्तकालयों को शामिल करके शुरू करें।
आयात RPi.GPIO फ्लास्क आयात फ्लास्क से GPIO के रूप में , render_template, अनुरोध ऐप = फ्लास्क (__ name__, static_url_path = '/ static')
के रूप में अब, एक शब्दकोश बनाने पिन पिन नंबर, नाम, और पिन राज्य स्टोर करने के लिए। आप अपनी जरूरत के हिसाब से एक से ज्यादा पिन का इस्तेमाल कर सकते हैं।
पिन्स = { 14: {'नाम': 'गेराज दरवाजा', 'राज्य': GPIO.LOW} }
फिर, पिन को आउटपुट के रूप में सेट करें और इसे शुरू में कम करें।
पिन में पिन के लिए: GPIO.setup (पिन, GPIO.OUT) GPIO.output (पिन, GPIO.LUT)
अब, पिन राज्य को पढ़ने और इस राज्य को एक चर में संग्रहीत करने के लिए एक मुख्य कार्य करें ।
@ app.route ("/") def मुख्य (): पिन में पिन के लिए: पिन = GPIO.input (पिन) ।।
हमें इस डेटा को अपने html पृष्ठ पर पहुंचाना होगा, ताकि हम इनपुट बटन स्थिति को नियंत्रित कर सकें।
वापसी रेंडर_टेमप्लेट ('main.html', ** टेम्प्लेटडाटा)
अब, पिन नंबर और कार्रवाई के साथ URL से अनुरोधों को संभालने के लिए एक फ़ंक्शन बनाएं ।
@ app.route ("/
URL से पूर्णांक में पिन परिवर्तित करें।
changePin = int (changePin)
यदि URL का क्रिया भाग "खुला" है, तो निम्न कार्य करें।
अगर एक्शन == "ओपन": GPIO.output (changePin, GPIO.HIGH) यदि एक्शन == "क्लोज़": GPIO.output (चेंज, GPIO.LOW)
आप इस ट्यूटोरियल के अंत से पूरी स्क्रिप्ट को कॉपी कर सकते हैं और इसे ctrl + x का उपयोग करके सहेज सकते हैं और फिर एंटर दबा सकते हैं। हमने अजगर लिपि के साथ किया है। अब, हमें अजगर स्क्रिप्ट के साथ बातचीत करने के लिए एक HTML पेज बनाना होगा।
रास्पबेरी पाई वेबसर्वर के लिए HTML पेज बनाना
एक ही गैरेज_ लेडर फोल्डर में, टेम्प्लेट्स नाम का एक और फोल्डर बनाएं और इस फोल्डर के अंदर नीचे कमांड्स का उपयोग करके एक.html फाइल बनाएं।
mkdir टेम्पलेट्स सीडी टेम्पलेट नैनो main.html
में नैनो पाठ संपादक, एचटीएमएल कोड लिखें। आप संपादित कर सकते हैं पृष्ठ का हिस्सा और अपनी पसंद के अनुसार शैली। मैंने लिंक टैग का उपयोग करके सिर्फ थर्ड पार्टी सीएसएस योजना का उपयोग किया है। पूरा HTML कोड नीचे दिया गया है:
गेराज दरवाजा वेब सर्वर
{पिन में पिन के लिए%%}{{pins.name}} {% अगर pins.state == true%} वर्तमान में खुला है
यहाँ महत्वपूर्ण हिस्सा दरवाजा खोलने और बंद करने के लिए एक बटन बनाना है और एक राज्य को खोलने और बंद करने के लिए असाइन करना है । बटन अजगर लिपि से GPIO स्थिति को भेजेगा और प्राप्त करेगा।
आप संपादक में ऊपर दिए गए HTML कोड का उपयोग कर सकते हैं और इसे बचा सकते हैं। अब वेब सर्वर लॉन्च करने के लिए तैयार है।
टर्मिनल खोलें और गैराज_पर फोल्डर में नेविगेट करें और नीचे कमांड चलाएँ
sudo python app.py
ब्राउज़र खोलें और अपना रास्पबेरी पाई आईपी पता और हिट दर्ज करें। अपना आईपी पता खोजने के लिए आप टर्मिनल में नीचे कमांड चला सकते हैं।
होस्टनाम -I
आपको इस तरह एक पेज दिखाई देगा।
सुनिश्चित करें कि रिले मॉड्यूल रास्पबेरी पाई से जुड़ा हुआ है। रिले पर स्विच करने के लिए या गेराज दरवाजा खोलने के लिए ओपन बटन दबाएं । आप रिले की स्थिति भी देख सकते हैं। जैसे ही आपने रिले को चालू किया, रिले को बंद करने के लिए बटन टेक्स्ट को बंद कर दिया जाएगा । अब जब आप बटन को फिर से क्लिक करेंगे तो रिले को बंद कर दिया जाएगा और बटन पाठ को फिर से खोलने के लिए बदल दिया जाएगा ।
सर्वर को रोकने के लिए ctrl + c दबाएं।
तो बस इस रिले को कुछ डोर ओपनर तंत्र से कनेक्ट करें, जो बाजार में आसानी से उपलब्ध हैं, और स्मार्टफ़ोन का उपयोग करके गेराज दरवाजे को नियंत्रित करना शुरू करते हैं ।
एक प्रदर्शन वीडियो नीचे दिया गया है।