विषयसूची:
- चरण 1: हार्डवेयर को Pi. से जोड़ना
- चरण 2: मुख्य कार्यक्रमों की कोडिंग
- चरण 3: डेटाबेस बनाना
- चरण 4: हार्डवेयर कोडिंग
वीडियो: बेयरगार्डियन: 5 कदम
2024 लेखक: John Day | [email protected]. अंतिम बार संशोधित: 2024-01-30 09:22
हे दोस्तों स्कूल के लिए मुझे एक प्रोजेक्ट के लिए एक आइडिया चाहिए था। तो मैं सोच रहा था, इसे रास्पबेरी पीआई के साथ एक प्रोजेक्ट होना चाहिए और यह स्थानीय है। अचानक मुझे एक अच्छा विचार आया और मुझसे यह नहीं पूछा कि मुझे यह विचार कैसे मिला, लेकिन मैंने एक बेबी मॉनिटर के लिए अपग्रेड के बारे में सोचा। उस विचार के बारे में एक सेकंड के लिए सोचें, अधिकांश बेबी मॉनिटर में बच्चे के कमरे को सुनने का कार्य होता है।
सुविधाएं
- समायोज्य रंगों के साथ एक छोटा सा प्रकाश शो
- एक कैमरा जो आपको लाइव चित्र दिखाता है
- संगीत चलाने के लिए एक स्पीकर
- बच्चे की हलचल को पकड़ने के लिए सेंसर
- वह सब जो एक वेबसाइट पर दिख रहा है
संक्षिप्त जानकारी
आइए इसे एक छोटे संस्करण में समझाते हैं। इसलिए हमें एक वेबसाइट की आवश्यकता है और इस परियोजना के लिए मैं फ्लास्क का उपयोग कर रहा हूं, हमें एक डेटाबेस की भी आवश्यकता है और मैं 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. से जोड़ना
बीसीएम. का उपयोग करना
ऑडियो 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-----------------------------------------------------')
आगे कोड में ही मैं सब कुछ समझाता हूं।
सिफारिश की:
Arduino कार रिवर्स पार्किंग अलर्ट सिस्टम - कदम दर कदम: 4 कदम
Arduino कार रिवर्स पार्किंग अलर्ट सिस्टम | स्टेप बाय स्टेप: इस प्रोजेक्ट में, मैं Arduino UNO और HC-SR04 अल्ट्रासोनिक सेंसर का उपयोग करके एक साधारण Arduino कार रिवर्स पार्किंग सेंसर सर्किट डिजाइन करूंगा। इस Arduino आधारित कार रिवर्स अलर्ट सिस्टम का उपयोग स्वायत्त नेविगेशन, रोबोट रेंजिंग और अन्य रेंज r के लिए किया जा सकता है
DIY कदम/डीआईआर लेजर गैल्वो नियंत्रक: 5 कदम (चित्रों के साथ)
DIY STEP / DIR LASER GALVO कंट्रोलर: नमस्ते, इस निर्देश में, मैं आपको दिखाना चाहता हूं कि आप ILDA मानक गैल्वो लेजर स्कैनर के लिए अपना खुद का स्टेप / dir इंटरफ़ेस कैसे बना सकते हैं। जैसा कि आप जानते होंगे कि मैं "DIY-SLS-3D-Printer" और "जेआरएलएस १००० DIY एसएलएस-३डी-पी
पिक्सेल किट चल रहा है माइक्रोपायथन: पहला कदम: 7 कदम
पिक्सेल किट रनिंग माइक्रोपायथन: पहला कदम: कानो के पिक्सेल की पूरी क्षमता को अनलॉक करने की यात्रा फ़ैक्टरी फ़र्मवेयर को माइक्रोपायथन के साथ बदलने के साथ शुरू होती है लेकिन यह केवल शुरुआत है। Pixel Kit पर कोड करने के लिए हमें अपने कंप्यूटरों को इससे कनेक्ट करना होगा। यह ट्यूटोरियल समझाएगा कि क्या
बैटरी के आंतरिक प्रतिरोध को मापने के लिए 4 कदम: 4 कदम
बैटरी के आंतरिक प्रतिरोध को मापने के लिए 4 कदम: यहां 4 सरल चरण दिए गए हैं जो बैटर के आंतरिक प्रतिरोध को मापने में आपकी मदद कर सकते हैं।
$3 और 3 कदम लैपटॉप स्टैंड (रीडिंग-ग्लास और पेन ट्रे के साथ): 5 कदम
$3 और 3 कदम लैपटॉप स्टैंड (रीडिंग-ग्लास और पेन ट्रे के साथ): यह $3 और amp; 5 मिनट में 3 स्टेप वाला लैपटॉप स्टैंड बनाया जा सकता है। यह बहुत मजबूत, हल्का वजन है, और आप जहां भी जाते हैं, ले जाने के लिए फोल्ड किया जा सकता है