विषयसूची:

बेयरगार्डियन: 5 कदम
बेयरगार्डियन: 5 कदम

वीडियो: बेयरगार्डियन: 5 कदम

वीडियो: बेयरगार्डियन: 5 कदम
वीडियो: Soul Snatcher (2020) Film Explained in Hindi/Urdu Summarized हिन्दी 2024, नवंबर
Anonim
बेयरगार्डियन
बेयरगार्डियन

हे दोस्तों स्कूल के लिए मुझे एक प्रोजेक्ट के लिए एक आइडिया चाहिए था। तो मैं सोच रहा था, इसे रास्पबेरी पीआई के साथ एक प्रोजेक्ट होना चाहिए और यह स्थानीय है। अचानक मुझे एक अच्छा विचार आया और मुझसे यह नहीं पूछा कि मुझे यह विचार कैसे मिला, लेकिन मैंने एक बेबी मॉनिटर के लिए अपग्रेड के बारे में सोचा। उस विचार के बारे में एक सेकंड के लिए सोचें, अधिकांश बेबी मॉनिटर में बच्चे के कमरे को सुनने का कार्य होता है।

सुविधाएं

  • समायोज्य रंगों के साथ एक छोटा सा प्रकाश शो
  • एक कैमरा जो आपको लाइव चित्र दिखाता है
  • संगीत चलाने के लिए एक स्पीकर
  • बच्चे की हलचल को पकड़ने के लिए सेंसर
  • वह सब जो एक वेबसाइट पर दिख रहा है

संक्षिप्त जानकारी

आइए इसे एक छोटे संस्करण में समझाते हैं। इसलिए हमें एक वेबसाइट की आवश्यकता है और इस परियोजना के लिए मैं फ्लास्क का उपयोग कर रहा हूं, हमें एक डेटाबेस की भी आवश्यकता है और मैं MySQL का उपयोग कर रहा हूं, एक स्क्रिप्ट भी है जो हार्डवेयर चलाती है और यह अजगर (3) के साथ है और अंत में हमें एक सर्वर सेटअप की आवश्यकता है वह PI पर nginx होगा।

हमें क्या जरूरत है

  • रास्पबेरी पाई 3
  • स्टेपमोटर 28BYJ
  • स्टेपमोटर ड्राइवरचिप ULN2003 स्टेपर मॉड्यूल
  • एक आरजीबी 3 प्रतिरोधों के साथ नेतृत्व किया 330Ohm
  • पाई नोयर कैमरा V2
  • अल्ट्रासोनिक सेंसर HC-SR04
  • ardiuno. से माइक्रो मॉड्यूल
  • MAX98357A
  • एक वक्ता 8Ohm
  • और एक भालू खरीदना न भूलें

सेटअप रास्पबेरी पाई ------------------------------------------- -------------------------------------------------- --------------------------

सबसे पहले हमें पाई को सेटअप करना होगा। पोटीन के माध्यम से लॉगिन करने के लिए पहले से ही शुरू करें, यदि आपके पास पोटीन नहीं है, तो मैं आपको इसे डाउनलोड करने की सलाह देता हूं, बस ssh के साथ पाई का अपना स्थिर आईपी टाइप करें और आप इसके साथ जाएं। अगर आपको अपना रास्पबेरी पाई स्थापित करना है तो मुझे बुरी खबर मिली है, मैं इस परियोजना में यह नहीं समझा रहा हूं।

पैकेज स्थापित करें

सुडो उपयुक्त अद्यतन

sudo apt install -y python3-venv python3-pip python3-mysqldb mysql-server uwsgi nginx uwsgi-plugin-python3

आभासी वातावरण

python3 -m pip install --upgrad pip setuptools Wheel virtualenv

mkdir {आपका प्रोजेक्ट फोल्डरनाम} && सीडी {आपका प्रोजेक्ट फोल्डरनाम} python3 -m venv --system-site-packages env source env/bin/active python -m pip install mysql-connector-python argon2-cffi फ्लास्क फ्लास्क-HTTPAuth फ्लास्क- MySQL mysql-कनेक्टर-अजगर पासलिब

अब आपको अपने प्रोजेक्ट फोल्डर में git रिपॉजिटरी को क्लोन करना होगा

github.com/NMCT-S2-Project-I/Project-I.git

यदि आप अपने प्रोजेक्ट फ़ोल्डर में देखते हैं तो आपको 5 फ़ोल्डर्स देखने होंगे

  • सम्मेलन
  • env
  • सेंसर
  • एसक्यूएल
  • वेब

डेटाबेस

sudo systemctl स्थिति mysql

एसएस-एलटी | grep mysql sudo mysql

डेटाबेस में सभी विशेषाधिकारों के साथ एक उपयोगकर्ता बनाएं और अपना डेटाबेस बनाएं

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

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

सर्वर के लिए कॉन्फ़ फ़ाइलें

Uwsgi-flask.ini में आप 'मॉड्यूल = …' को 'मॉड्यूल = वेब: ऐप' में बदलते हैं और आपके द्वारा बनाए गए वर्चुअलएन्व के पथ को बदलते हैं। अन्य फाइलों में आपको पथ को अपनी निर्देशिका के वास्तविक पूर्ण पथ में बदलने की आवश्यकता है।

एक बार जब आप समझ गए कि आप फ़ाइलों को सही जगह पर सेट कर सकते हैं।

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

sudo systemctl daemon-reload sudo systemctl start project1-* sudo systemctl status project1-*

अब हमें इसे उपलब्ध करना होगा

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

sudo rm /etc/nginx/sites-enabled/default sudo ln -s /etc/nginx/sites-available/project1 /etc/nginx/sites-enabled/project1 sudo systemctl पुनरारंभ nginx.service sudo nginx -t

अगर सब कुछ ठीक रहा तो आपको इस आदेश के साथ हैलो वर्ल्ड होना चाहिए

wget -qO - लोकलहोस्ट

किया हुआ ! खैर, यह आपके सिस्टम को चालू रखने के लिए है …

चरण 1: हार्डवेयर को Pi. से जोड़ना

हार्डवेयर को Pi. से जोड़ना
हार्डवेयर को Pi. से जोड़ना

बीसीएम. का उपयोग करना

ऑडियो MAX98357A

  • जीपीआईओ 18 के लिए बीसीके
  • GPIO को डेटा 21
  • LRCK से GPIO 19

रोशनी

  • लाल से GPIO 17
  • हरा से GPIO 27
  • नीला से GPIO 22

मोटर मॉड्यूल ULN2003

  • पिन 1 से GPIO 5
  • पिन 2 से GPIO 6
  • पिन 3 से GPIO 13
  • पिन 4 से GPIO 26

माइक्रो

D0 से GPIO 21

अतिध्वनि संवेदक

  • जीपीआईओ 16 को ट्रिगर करें
  • जीपीआईओ 20 के लिए गूंज

चरण 2: मुख्य कार्यक्रमों की कोडिंग

मैं यहाँ विवरण में नहीं जा रहा हूँ, लेकिन आप मेरे कोड को जीथब में चेकआउट कर सकते हैं।

शुरू करने के लिए मैंने अपना एचटीएमएल और सीएसएस, एक इंडेक्स, लॉगिन, रजिस्टर, होमस्क्रीन, म्यूजिक, एडम्यूजिक, एडबियर, लाइट, कैमरा, कैमरा सेटिंग्स, सेंसर, डैशबोर्ड पेज बनाया। एचटीएमएल फाइलों को टेम्पलेट्स में और सीएसएस फाइलों को स्थिर/सीएसएस फ़ोल्डर में होना चाहिए। आप अपनी इच्छानुसार सीएसएस को पूरी तरह से अनुकूलित कर सकते हैं।

यदि आपने यह भाग किया है तो आपको अपना फ्लास्क सेटअप करने की आवश्यकता है। फ्लास्क हैलो वर्ल्ड का सिर्फ एक उदाहरण का उपयोग करना आसान है

# पहले फ्लास्क आयात करें

फ्लास्क आयात से * @ app.route('/') def index(): return render_template('index.html')

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

चरण 3: डेटाबेस बनाना

डेटाबेस बनाना
डेटाबेस बनाना

असली चाहने वालों के लिए मैं आपको वही डेटाबेस बनाने का तरीका बताने जा रहा हूँ।

तो पहले हमें डेटाबेस बनाने की जरूरत है यदि आपने चरण एक में नहीं किया है।

डेटाबेस बियरगार्डियन बनाएं;

एक बार ऐसा करने के बाद आप MySQL वर्कबेंच या phpadmin में टेबल बनाते हैं

उपयोगकर्ता तालिका है

  • उपयोगकर्ता पहचान
  • पहला नाम
  • उपनाम
  • ईमेल
  • बेबीनाम
  • sha1. के साथ पासवर्ड
  • उपयोगकर्ता फ़ोल्डर
  • नाटक संगीत (इंट)
  • प्लेलाइट (इंट)
  • प्लेरिकॉर्डिंग (इंट)

संगीत तालिका है

  • संगीत आईडी
  • गाना
  • पथ
  • उपयोगकर्ता फ़ोल्डर
  • स्थिति
  • आयतन

रिकॉर्डिंग टेबल है

  • रिकॉर्डिंग आईडी
  • पथ
  • उपयोगकर्ता फ़ोल्डर
  • समय
  • दिन

रंग तालिका है

  • रंग आईडी
  • लाल
  • हरा
  • नीला
  • चमक
  • उपयोगकर्ता पहचान

भालू की मेज है

  • BearID (दशमलव(8))
  • userID डिफ़ॉल्ट शून्य
  • भालूनाम

सेंसर टेबल है

  • सेंसरआईडी
  • दूरी
  • माइक्रो
  • भालू आईडी
  • समय
  • दिन
  • सोने का समय

तो अब आपने सफलतापूर्वक डेटाबेस बना लिया है, चलिए हार्डवेयर पर चलते हैं।

चरण 4: हार्डवेयर कोडिंग

मैं थोड़ा सा कोड दिखाऊंगा और आपको बताऊंगा कि मैंने ऐसा क्यों किया।

शुरू करने के लिए मैंने थ्रेडिंग का उपयोग किया, इस परियोजना में एक पूर्ण क्या होना चाहिए। थ्रेडिंग क्या है, हम्म अच्छा सवाल है! पायथन में अच्छी तरह से धमकी देना एक साथ कई प्रोग्राम चलाना है। इसलिए यदि आप उदाहरण के लिए रंग बदलते हैं तो आप रिकॉर्ड भी कर सकते हैं। इसका उपयोग करना आसान है चिंता न करें।

आयात _threaddef function_name(something, some_else): चलाने के लिए कोड

_thread.start_new_thread(function_name, tuple_with_the_functions_variables)

अगर आपने मेरे प्रोग्राम को देखा तो आपने logger.info('…') देखा। यह प्रिंट फ़ंक्शन है लेकिन बहुत बेहतर है, क्योंकि पीआई पर आप सामान प्रिंट नहीं कर सकते हैं इसलिए मैं एक फाइल बनाता हूं और इसे वहां प्रिंट करता हूं। आप इस कोड के साथ लॉग फाइल सेट कर सकते हैं।

लकड़हारा = logging.getLogger(_name_)logger.setLevel(logging. INFO) # एक फ़ाइल हैंडलर हैंडलर बनाएं = logging. FileHandler('logger.log') हैंडलर.सेटलेवल(लॉगिंग. INFO)

# लॉगिंग फॉर्मेट बनाएं

फ़ॉर्मेटर = लॉगिंग। फ़ॉर्मेटर ('% (asctime) s -% (नाम) s -% (संदेश) s') हैंडलर। सेटफॉर्मेटर (फॉर्मेटर)

# लकड़हारे को लकड़हारे में जोड़ें

लकड़हारा.एडहैंडलर (हैंडलर)

logger.info('स्टार्टअप हार्डवेयर\n-----------------------------------------------------')

आगे कोड में ही मैं सब कुछ समझाता हूं।

सिफारिश की: