- आवश्यक घटक:
- कार्य की व्याख्या और वेबपेज बनाना:
- सर्किट स्पष्टीकरण:
- प्रोग्रामिंग स्पष्टीकरण और फ्लास्क:
हम सभी वायरलेस नोटिस बोर्ड से परिचित हैं क्योंकि हमने पहले से ही जीएसएम और Arduino का उपयोग करके वायरलेस नोटिस बोर्ड का निर्माण किया है। लेकिन आज हम वायरलेस माध्यम के रूप में जीएसएम का उपयोग करने के बजाय एक कदम आगे जा रहे हैं, इस बार हम इंटरनेट का उपयोग वायरलेस तरीके से वेब ब्राउज़र से एलसीडी पर संदेश भेजने के लिए कर रहे हैं जो रास्पबेरी पाई से जुड़ा है। जैसा कि संदेश वेब ब्राउज़र के माध्यम से भेजा जाता है, इसलिए इसे कंप्यूटर, स्मार्ट फोन या टैबलेट का उपयोग करके भेजा जा सकता है, इसलिए यह हमारे IoT प्रोजेक्ट्स संग्रह में एक और प्रोजेक्ट जोड़ देगा।
इस वेब कंट्रोल्ड नोटिस बोर्ड में, हमने प्रदर्शन के लिए एक स्थानीय वेब सर्वर बनाया है, यह इंटरनेट पर एक वैश्विक सर्वर हो सकता है। रास्पबेरी पाई में, हमने नेटवर्क पर संदेश प्राप्त करने के लिए संदेश और फ्लास्क प्रदर्शित करने के लिए 16x2 एलसीडी का उपयोग किया है। जब भी रास्पबेरी वेब ब्राउज़र से कोई वायरलेस संदेश प्राप्त करता है, तो यह एलसीडी पर प्रदर्शित होता है। हम इस लेख में इन चीजों के बारे में विस्तार से चर्चा करेंगे।
आवश्यक घटक:
- रास्पबेरी पाई 3 (कोई भी मॉडल)
- वाई-फाई यूएसबी एडाप्टर (यदि रास्पबेरी पाई 3 का उपयोग नहीं कर रहा है)
- 16x2 एलसीडी
- ब्रेड बोर्ड
- रास्पबेरी पाई के लिए पावर केबल
- तारों को जोड़ना
- 10K पॉट
कार्य की व्याख्या और वेबपेज बनाना:
इस परियोजना में, मुख्य घटक रास्पबेरी पाई है, जो इस परियोजना का दिल है और इस परियोजना से संबंधित प्रक्रियाओं को नियंत्रित करने के लिए उपयोग किया जाता है। जैसे: ड्राइविंग एलसीडी, सर्वर से "नोटिस संदेश" प्राप्त करना आदि।
यहां, हमने एक वेब सर्वर बनाया है, जो वेब ब्राउज़र में फ्लास्क का उपयोग करके रास्पबेरी पाई को "नोटिस मैसेज" भेजने का एक तरीका प्रदान करता है । फ्लास्क पायथन के लिए एक माइक्रोफ्रामवर्क है। यह उपकरण यूनिकोड आधारित अंतर्निहित विकास सर्वर और डिबगर, एकीकृत इकाई परीक्षण समर्थन, सुरक्षित कुकीज़ के लिए समर्थन और इसका उपयोग करने में आसान है, ये चीजें इसे हॉबीस्ट के लिए उपयोगी बनाती हैं ।
हमने एक टेक्स्टबॉक्स और एक सबमिट बटन के साथ एक वेबपेज बनाया है, जहां हम टेक्स्टबॉक्स में अपना "नोटिस संदेश" दर्ज कर सकते हैं और फिर इसे सबमिट बटन पर क्लिक करके सर्वर पर जमा कर सकते हैं। यह वेब एप्लिकेशन HTML भाषा का उपयोग करके विकसित किया गया है । इस वेब पेज का कोड नीचे दिया गया है और समझने में बहुत आसान है।
वेब कंट्रोल नोटिस बोर्ड (सर्किट डाइजेस्ट)
नोटिस सफलतापूर्वक जमा किया गया: {{मूल्य}}
{% अगर अंत %}उपयोगकर्ता को ऊपर दिए गए HTML कोड को कुछ टेक्स्ट एडिटर (नोटपैड) में कॉपी-पेस्ट करना होगा और फ़ाइल को.HTML एक्सटेंशन के साथ सहेजना होगा। फिर इस HTML फ़ाइल को उसी फ़ोल्डर में रखें जहाँ आपने इस वेब कंट्रोल नोटिस बोर्ड के लिए अपनी पायथन कोड फ़ाइल (अंत में दी गई है) डाली है । अब आप बस रास्पबेरी पाई में पायथन कोड चला सकते हैं, वेब ब्राउज़र में IP_address_of_your_Pi: 8080 खोलें (जैसे 192.168.1.14:8080) और संदेश इनपुट करें और सबमिट पर क्लिक करें, जैसे ही आप संदेश सबमिट करते हैं, आपको संदेश मिल जाएगा रास्पबेरी पाई से जुड़े एलसीडी। प्रदर्शन वीडियो में पूरी प्रक्रिया को अंत में देखें।
वेबपेज एचटीएमएल भाषा है, जो एक होते हैं का उपयोग कर बनाई गई है प्रपत्र एक होने पाठ बॉक्स और प्रस्तुत (H1 टैग) शीर्षक के साथ बटन, वेब नियंत्रण नोटिस बोर्ड । प्रपत्र है "बदलाव" है कार्रवाई का उपयोग कर कोड में प्रदर्शन किया जाएगा पद विधि, जब हम बटन पर क्लिक करें जमा करें। स्लाइडर के साथ ब्लॉक है लेबल "सूचना संदेश"।
इसके बाद, हम सर्वर के माध्यम से रास्पबेरी पाई को भेजे गए पाठ को दिखाने के लिए एक वैकल्पिक लाइन जोड़ सकते हैं।
{% अगर मान%}
नोटिस सफलतापूर्वक जमा किया गया: {{मूल्य}}
{% अगर अंत %}यह टेक्स्ट बॉक्स में मूल्य की जांच करता है और अगर टेक्स्टबॉक्स में कुछ मूल्य है तो यह वेबपेज पर ही टेक्स्ट को प्रिंट करता है, ताकि उपयोगकर्ता सबमिट किए गए संदेश को भी देख सके। यहां 'मान' "इनपुट टेक्स्ट या नोटिस संदेश" है जिसे हम स्लाइडर बॉक्स या टेक्स्ट बॉक्स में टाइप करेंगे।
सर्किट स्पष्टीकरण:
इस वायरलेस संदेश बोर्ड के लिए कनेक्शन बहुत आसान हैं; हमें केवल ब्रेड बोर्ड पर कुछ कनेक्टर का उपयोग करके रास्पबेरी पाई बोर्ड के साथ एलसीडी को कनेक्ट करना होगा। उपयोगकर्ता कनेक्शन के लिए शून्य पीसीबी का उपयोग कर सकता है। RS, RW और LCD के EN पिन को सीधे 18, GND और 23 से जोड़ा जाता है। और LCD D4, D5, D6, D7 के डेटा पिन सीधे रास्पबेरी पाई के GPIO 24, 16, 20, 21 से जुड़े होते हैं। एक 10K पॉट है एलसीडी की चमक को नियंत्रित करने के लिए उपयोग किया जाता है।
यह भी याद रखें, यदि आपके पास रास्पबेरी पाई 3 नहीं है, तो आपको रास्पबेरी पाई के निचले संस्करण के लिए यूएसबी वाई-फाई एडाप्टर का उपयोग करने की आवश्यकता है क्योंकि उनके पास रास्पबेरी पाई 3 की तरह इनबिल्ट नहीं है।
प्रोग्रामिंग स्पष्टीकरण और फ्लास्क:
हम यहां कार्यक्रम के लिए पायथन भाषा का उपयोग कर रहे हैं । कोडिंग से पहले, उपयोगकर्ता को रास्पबेरी पाई को कॉन्फ़िगर करने की आवश्यकता होती है। आप रास्पबेरी पाई के साथ शुरू करने और पाई में रास्पबियन जेसी ओएस को स्थापित करने और कॉन्फ़िगर करने के लिए हमारे पिछले ट्यूटोरियल की जांच कर सकते हैं।
प्रोग्राम रास्पबेरी पाई से पहले, उपयोगकर्ता को दिए गए आदेशों का उपयोग करके रास्पबेरी पाई में एक फ्लास्क समर्थन पैकेज स्थापित करने की आवश्यकता है:
$ पाइप स्थापित फ्लास्क
इसके बाद आप रास्पबेरी पाई के अजगर संपादक में पायथन प्रोग्राम चला सकते हैं लेकिन इससे पहले आपको प्रोग्राम में आईपी एड्रेस को अपने रास्पबेरी पाई के आईपी पते से बदलना होगा। आप ifconfig कमांड का उपयोग करके अपने आरपीआई बोर्ड के आईपी पते की जांच कर सकते हैं:
इफकोफिग
इस परियोजना का प्रोग्रामिंग हिस्सा सभी कार्यों को करने के लिए बहुत महत्वपूर्ण भूमिका निभाता है। सबसे पहले, हम फ्लास्क के लिए आवश्यक पुस्तकालयों को शामिल करते हैं, चर को शुरू करते हैं और एलसीडी के लिए पिन को परिभाषित करते हैं।
फ्लास्क आयात से फ्लास्क आयात से फ्लास्क आयात रेंडर_टैम्पलेट, अनुरोध आयात RPi.GPIO के रूप में gpio आयात ओएस, समय एप्लिकेशन = फ्लास्क (__ name__) RS = 18 EN = 23 D4 = 24 D5 = 16 D6 = 20 D7 = 21……………
LCD के लिए, def lcd_init () फ़ंक्शन का उपयोग चार बिट मोड में LCD को इनिशियलाइज़ करने के लिए किया जाता है, LCD में कमांड भेजने के लिए lcdcmd (ch) फ़ंक्शन का उपयोग किया जाता है, LCD और def lcdstring को डेटा भेजने के लिए lcddata (ch) फ़ंक्शन का उपयोग किया जाता है (Str)) फ़ंक्शन का उपयोग एलसीडी में डेटा स्ट्रिंग भेजने के लिए किया जाता है। आप बाद में दिए गए कोड में इन सभी कार्यों की जांच कर सकते हैं।
प्रोग्राम के नीचे का हिस्सा वेब ब्राउजर से रास्पबेरी पाई को फ्लास्क का उपयोग करके संदेश भेजने के लिए उपयोग किया जाता है । आप यहां फ्लास्क का उपयोग करके प्रोग्रामिंग के बारे में अधिक जान सकते हैं।
@ app.route ("/") डिफ इंडेक्स (): रिटर्न रेंडर_template ('web.html') @ app.route ("/ change", मेथड्स =) डिफ चेंज (): if request.method == 'POST': # वेबपेज data1 = request.form lcdcmd (0x01) lcdprint (data1) से रेंडर_template ('web.html', value = data1) यदि __name__ == ""___ain__": app.debug = True app.run मान प्राप्त करें। ('192.168.1.14', पोर्ट = 8080, डीबग = सत्य)
तो यह है कि हम अपने कंप्यूटर या स्मार्टफोन से रास्पबेरी पाई एलसीडी पर संदेश भेज सकते हैं और वेब पर नियंत्रित IoT आधारित वायरलेस नोटिस बोर्ड बना सकते हैं । नीचे पूर्ण पायथन कोड और प्रदर्शन वीडियो देखें।