विषयसूची:

Home_X: 5 कदम
Home_X: 5 कदम

वीडियो: Home_X: 5 कदम

वीडियो: Home_X: 5 कदम
वीडियो: Do BEDROOM lighting in 5 simple steps. Learn layering of lights, type of lights, make luxury bedroom 2024, जुलाई
Anonim
होम_एक्स
होम_एक्स

मैं Howest Kortrijk का छात्र हूं जो न्यू मीडिया एंड कम्युनिकेशन टेक्नोलॉजी (NMCT) का अध्ययन करता है।

हम सभी को एक ऐसा प्रोजेक्ट बनाना था जो रास्पबेरी और/या अरुडिनो पर आधारित हो। हमें वेबसाइट में डेटा दिखाने के लिए सेंसर और डेटाबेस का उपयोग करना पड़ा, और तभी मेरे पास एक मिनी स्मार्ट हाउस बनाने का विचार आया।

स्मार्ट हाउस से आप वेबसाइट पर सभी सेंसर रीडिंग देख पाएंगे।

इस निर्देश में मैं आपको प्रत्येक चरण के माध्यम से मार्गदर्शन करूंगा ताकि आप इस परियोजना को अपने लिए फिर से बना सकें।

चरण 1: सामग्री: आपको क्या चाहिए

  • रास्पबेरी पाई
  • DHT22
  • ग्रोव - वायु गुणवत्ता सेंसर
  • ग्रोव - गैस सेंसर (MQ2)
  • ब्रेड बोर्ड
  • रास्पबेरी पाई टी मोची
  • पुरुष / महिला जम्पर तार
  • 5 मिमी एलईडी
  • प्रतिरोधों
  • लकड़ी और उपकरण
  • सर्वो मोटर
  • ग्रोवपी+

आप इन वस्तुओं को ऑनलाइन (अली एक्सप्रेस, अमेज़ॅन, कीवी इलेक्ट्रॉनिक्स…) या अपनी स्थानीय दुकानों पर खरीद सकते हैं।

बीओएम में दुकानों के लिंक के साथ भागों की एक विस्तृत सूची नीचे दी गई है।

चरण 2: वायरिंग

तारों
तारों
तारों
तारों

मैंने वायरिंग के लिए फ्रिट्ज़िंग का उपयोग किया था कि मेरी वायरिंग कैसे की जानी चाहिए, इसका एक अच्छा अवलोकन है। मैंने स्वयं अपने 2 सेंसरों के लिए GrovePi+ का उपयोग किया है। यदि आप इसे GrovePi+ के बिना बनाने की योजना बना रहे हैं, तो फ़्रिट्ज़िंग योजना का पालन करें। मैं सेंसर आपके लिए काम नहीं करता, विभिन्न पिनों का उपयोग करके देखें।

आप नीचे फ्रिटिंग फ़ाइल पा सकते हैं।

चरण 3: MySQL का उपयोग कर डेटाबेस

MySQL का उपयोग कर डेटाबेस
MySQL का उपयोग कर डेटाबेस

सबसे आवश्यक कार्यों में से एक जिसे हमें लागू करना था, वह था MySQL डेटाबेस के साथ कनेक्शन।

हर बार जब कोई सेंसर रीडिंग लेता है या लाइट चालू होती है, तो आपको डेटाबेस में ये बदलाव दिखाई देंगे।

डेटाबेस तब इस डेटा को वेबसाइट पर भेजता है ताकि उपयोगकर्ता उन्हें वहां भी देख सके।

नीचे आप मेरी.xml फ़ाइल पा सकते हैं जहाँ आपको इस बात का अवलोकन है कि डेटाबेस कैसे काम करता है, लेकिन पहले आपको रास्पबेरी पाई पर MySQL और फ्लास्क स्थापित करना होगा।

सेंसर की कोडिंग pycharm के माध्यम से हुई है इसलिए सुनिश्चित करें कि यह भी (आपके कंप्यूटर पर) स्थापित है।

सबसे पहले आपको अपडेट की जांच करने और पैकेजों को स्थापित करने की आवश्यकता है, जैसे:

sudo apt-get update && sudo apt-get upgrade

sudo उपयुक्त इंस्टॉल -y python3-venv python3-pip python3-mysqldb mariadb-server uwsgi nginx uwsgi-plugin-python3

अब हम एक आभासी वातावरण का उपयोग करने जा रहे हैं:

me@my-rpi:~ $ python3 -m pip install --upgrad pip setuptools Wheel virtualenvme@my-rpi:~ $mkdir project1 && cd project1 me@my-rpi:~/project1 $ python3 -m venv --system- साइट-पैकेज env me@my-rpi:~/project1 $ स्रोत env/bin/active (env)me@my-rpi:~/project1 $ python -m pip install mysql-connector-python argon2-cffi फ्लास्क फ्लास्क-HTTPAuth कुप्पी-MySQL mysql-कनेक्टर-अजगर पासलिब

आपको बता दें कि mariadb.service सक्रिय है।

अब, pycharm में VCS > इंपोर्ट फ्रॉम वर्जन कंट्रोल > GitHub एन क्लोन https://github.com/NMCT-S2-Project-I/Project-I.git पर जाएं।

फिर उस निर्देशिका के लिए परिनियोजन कॉन्फ़िगरेशन कॉन्फ़िगर करें जिसे आपने अभी बनाया है, उदा। /होम/मी/प्रोजेक्ट1.

ऐसा करने के बाद दुभाषिया सेटिंग्स पर जाएं और वर्चुअल वातावरण को कॉन्फ़िगर करें जिसे आपने अभी बनाया है, उदा। /होम/मी/प्रोजेक्ट/एनवी/बिन/पायथन। पथ मानचित्रण को भी भरना होगा।

यदि आपने यह सब किया है तो डेटाबेस पहले से ही चलना चाहिए।

sudo systemctl स्थिति mysql

अब हमें अपने डेटाबेस के लिए उपयोगकर्ता बनाने की आवश्यकता है, जैसे:

सुडो मारीदब

उपयोगकर्ता 'प्रोजेक्ट-एडमिन' @ 'लोकलहोस्ट' बनाएं जिसे 'एडमिनपासवर्ड' द्वारा पहचाना गया हो; 'वेबपासवर्ड' द्वारा पहचाने गए उपयोगकर्ता 'प्रोजेक्ट-वेब' @ 'लोकलहोस्ट' बनाएं; उपयोगकर्ता 'प्रोजेक्ट-सेंसर' @ 'लोकलहोस्ट' बनाएं 'सेंसरपासवर्ड' द्वारा पहचाना गया; डेटाबेस प्रोजेक्ट बनाएं;

प्रोजेक्ट पर सभी विशेषाधिकार प्रदान करें। * 'प्रोजेक्ट-एडमिन' @ 'लोकलहोस्ट' को ग्रांट ऑप्शन के साथ; ग्रांट सेलेक्ट, इंसर्ट, अपडेट, प्रोजेक्ट पर डिलीट करें। * 'प्रोजेक्ट-वेब' @ 'लोकलहोस्ट' के लिए; अनुदान चयन, सम्मिलित करें, अद्यतन करें, परियोजना पर हटाएं। * 'प्रोजेक्ट-सेंसर' @ 'लोकलहोस्ट' के लिए; फ्लश विशेषाधिकार;

अब अपने डेटाबेस को pycharm में देखने के लिए हमें एक कनेक्शन बनाना होगा।

हम व्यू> टूल विंडोज> डेटाबेस पर जाकर और हरे "प्लस" बटन पर क्लिक करके ऐसा कर सकते हैं।

डेटा स्रोत> MySQL और पॉप अप डाउनलोड ड्राइवर बटन पर (यदि मौजूद है) क्लिक करें।

इसके बाद SSH/SSL में जाकर SSH चेक करें। पीआई के लिए होस्ट/उपयोगकर्ता/पासवर्ड भरें और यदि अभी तक नहीं भरा है तो पोर्ट 22 का उपयोग करें।

यदि आप चाहते हैं कि pycharm आपका पासवर्ड याद रखे तो "पासवर्ड याद रखें" चेकबॉक्स को चेक करें।

टैब "सामान्य" में, होस्ट में लोकलहोस्ट भरें, डेटाबेस में प्रोजेक्ट करें और कनेक्शन का परीक्षण करने में सक्षम होने के लिए पासवर्ड के साथ प्रोजेक्ट-एडमिन का उपयोग करें।

अब डेटाबेस को प्रयोग करने योग्य बनाने के लिए आपको उस.sql को चलाने की आवश्यकता है जिसे मैं नीचे रखता हूं। आयात विकल्प का उपयोग करने का प्रयास करें, यदि आप डंपफ़ाइल आयात नहीं कर सकते हैं, तो आपको तालिकाओं को मैन्युअल रूप से जोड़ना होगा।

ऐसा करने के बाद आपको दो.service फ़ाइलों के साथ conf निर्देशिका ढूंढनी होगी। वहां आपके द्वारा अपने पीआई पर उपयोग किए जाने वाले उपयोगकर्ता के नाम के साथ मिलने वाले प्रत्येक एसईबी को बदलें। साथ ही, समूह को www-data होना चाहिए।

अगला कदम इन सेवाओं को अपने पीआई पर शुरू करना है, जैसे:

sudo cp conf/project-*.service /etc/systemd/system/

sudo systemctl डेमॉन-रीलोड

sudo systemctl प्रोजेक्ट शुरू करें-*

sudo systemctl स्थिति परियोजना-*

जब सब कुछ योजना के अनुसार हो तो आपको दो सक्रिय सेवाएं देखनी चाहिए।

अंतिम चरण nginx को सक्षम करना है।

सबसे पहले अपने पीआई पर apache2 की जांच करें, अगर आपने इसे इंस्टॉल किया है, तो इसे हटा दें या इसे अक्षम कर दें।

फ़ाइल nginx में आपको पहले uwsgi_pass को बदलना होगा, फिर इन कमांड को रन करना होगा।

sudo cp conf/nginx/etc/nginx/साइट-उपलब्ध/प्रोजेक्ट

sudo rm /etc/nginx/साइट-सक्षम/डिफ़ॉल्ट

sudo ln -s /etc/nginx/sites-available/project1/etc/nginx/साइट-सक्षम/प्रोजेक्ट

sudo systemctl nginx.service को पुनरारंभ करें

sudo systemctl स्थिति nginx.service

Nginx सक्रिय और चालू होना चाहिए। अगर सब कुछ सही है, तो अब आप अपने पीआई पर सर्फ कर सकते हैं। आपको सबसे पहले "हैलो वर्ल्ड" दिखाई देगा लेकिन आपको अभी भी उस फ़ाइल की सामग्री को नीचे दिए गए मेरे कोड के साथ बदलना होगा।

आप सेवाओं को सक्षम कर सकते हैं ताकि पीआई शुरू होने पर वे स्वचालित रूप से चल सकें।

जब आपने यह सब किया, तो सुनिश्चित करें कि आपने डेटाबेस में पते के साथ कम से कम 1 घर रखा है। आप इसे एक साधारण इन्सर्ट के साथ.

चरण 4: कोडिंग

कोडन
कोडन
कोडन
कोडन

आप Github के माध्यम से कोड डाउनलोड कर सकते हैं:

github.com/NMCT-S2-Project-I/project-i-Tib…

सेंसर के लिए कोड sensor.py फ़ाइल में शामिल है।

सर्विस फाइलों में मेरा नाम अपने (या आपके द्वारा उपयोग किए जाने वाले उपयोगकर्ता) में बदलना न भूलें ताकि वे ठीक से चल सकें और मेरे कोड को आपके Pycharm में पहले से मौजूद फाइलों में रख सकें।

चरण 5: आवास

आवास
आवास
आवास
आवास
आवास
आवास
आवास
आवास

मैंने एक त्वरित चित्र बनाया कि मुझे अपना घर कैसा चाहिए, लेकिन आपका घर पूरी तरह से अलग दिख सकता है। आपको बस यह सुनिश्चित करना है कि आपके पास एक संपूर्ण है ताकि सर्वो एक खिड़की खोल और बंद कर सके।

मैंने लकड़ी काटने के लिए मुख्य रूप से एक छोटी सी ड्रिल और एक आरी का इस्तेमाल किया। मैंने यह भी सुनिश्चित किया कि दीवारें काफी मोटी हों ताकि मैं अपना सर्वो उनके अंदर रख सकूं।

जब आप अपने डिजाइन के साथ समाप्त हो जाते हैं और सर्वो जगह पर होता है, तो आपको केवल सेंसर कनेक्ट करने और घर के अंदर पाई लगाने की आवश्यकता होती है और आप जाने के लिए तैयार हैं।

जैसा कि मैंने पहले उल्लेख किया है कि आपका घर बिल्कुल मेरे जैसा ही दिख सकता है, आपको केवल सर्वो और खिड़की के लिए जगह बनाने की जरूरत है।

अंत में आप परियोजना के साथ कर रहे हैं। मुझे आशा है कि यह मार्गदर्शिका पर्याप्त स्पष्ट है ताकि आप भी मेरे जैसा एक शानदार स्मार्थहाउस बना सकें।

शुभकामनाएं।

सिफारिश की: