विषयसूची:
- चरण 1: सुझाया गया पढ़ना
- चरण 2: सामग्री
- चरण 3: रास्पबेरी पाई कॉन्फ़िगर करें
- चरण 4: इसे बनाएं! हार्डवेयर
- चरण 5: इसे बनाएं! सॉफ्टवेयर
- चरण 6: परीक्षण और स्थापित करें
वीडियो: IoT पेट मॉनिटर!: 6 कदम (चित्रों के साथ)
2024 लेखक: John Day | [email protected]. अंतिम बार संशोधित: 2024-01-30 09:23
अपने प्रिय शौकियों पर नज़र रखें और संगीत बजाएं या उन्हें दूर रहने के दौरान चुप रहने के लिए कहें! यह ट्यूटोरियल दिखाएगा कि अपने घर में ध्वनि की मात्रा की निगरानी के लिए रास्पबेरी पाई कंप्यूटर का उपयोग कैसे करें (क्लाउड के माध्यम से) यह देखने के लिए कि आपका पालतू परेशान है या नहीं।
ड्रम रोल… सबसे मज़ेदार हिस्सा: अगर यह बहुत तेज़ हो जाता है (जैसे फ़िदो भौंक रहा है या कोई अन्य कर्कश कर रहा है), तो हम आपको उन्हें चुप रहने या संगीत बजाने के लिए कह सकते हैं!
पाई (और स्पीकर) के साथ, हम वॉल्यूम स्तरों को मापने और ऑडियो प्लेयर को ट्रिगर करने के लिए स्पार्कफन एमईएमएस माइक्रोफोन ब्रेकआउट बोर्ड का उपयोग करेंगे। डेटा MQTT संचार प्रोटोकॉल का उपयोग करके CloudMQTT सेवा पर अपलोड किया जाता है।
कुल पढ़ने का समय: ~ 8 मिनट
कुल निर्माण समय: ६० मिनट (कम w/अनुभवी)
इस परियोजना का समर्थन करने के लिए स्पार्कफन को बहुत बहुत धन्यवाद! यहां ट्यूटोरियल देखें।
चरण 1: सुझाया गया पढ़ना
इस प्रोजेक्ट को बनाने के लिए, आपको रास्पियन ओएस के साथ पूरी तरह से कॉन्फ़िगर, वाईफाई से जुड़े रास्पबेरी पाई 3 कंप्यूटर की आवश्यकता होगी। कुछ पायथन प्रोग्रामिंग के साथ-साथ निम्नलिखित चीजों को जानना भी मददगार है: (1) रास्पबेरी पाई जीपीआईओ पिन का उपयोग और नियंत्रण कैसे करें; (२) एमक्यूटीटी संचार; और (3) एनालॉग सेंसर। यदि इनमें से कोई भी अपरिचित है, या यदि आप केवल जिज्ञासु हैं (जिज्ञासु हों!), तो नीचे दिए गए ट्यूटोरियल देखें!
रास्पबेरी पाई 3
- रास्पबेरी पाई 3 स्टार्टर किट हुकअप गाइड
- रास्पबेरी पाई GPIO
- रास्पबेरी पाई के साथ एसपीआई संचार
एमक्यूटीटी संचार प्रोटोकॉल
MQTT (मैसेज क्वेरी टेलीमेट्री ट्रांसपोर्ट) एक लोकप्रिय IoT संचार प्रोटोकॉल है। हम पाहो क्लाइंट पायथन लाइब्रेरी और CloudMQTT नामक एक MQTT सेवा का उपयोग करेंगे। यहाँ MQTT और इसका उपयोग करने के तरीके के बारे में अधिक जानकारी दी गई है:
- IoT के लिए संचार प्रोटोकॉल की खोज
- CloudMQTT के साथ शुरुआत करना
- एक्लिप्स पाहो MQTT पायथन क्लाइंट लाइब्रेरी का अवलोकन
एमईएमएस माइक्रोफोन ब्रेकआउट बोर्ड
एमईएमएस माइक्रोफोन एक एनालॉग माइक्रोफोन है, इसलिए हमें रास्पबेरी पाई डिजिटल जीपीआईओ पिन के साथ एनालॉग सिग्नल में पढ़ने के लिए एनालॉग-टू-डिजिटल कनवर्टर ("एडीसी") की आवश्यकता होगी।
- स्पार्कफन एमईएमएस माइक्रोफोन ब्रेकआउट बोर्ड के साथ शुरुआत करना
- एमईएमएस माइक्रोफोन डेटाशीट
- MCP3002 ADC डेटाशीट
चरण 2: सामग्री
- रास्पबेरी पाई 3 मॉडल बी
हमें निम्नलिखित बाह्य उपकरणों की भी आवश्यकता होगी: रास्पबेरी पाई 3 केस; एसडी कार्ड (न्यूनतम 8 जीबी); रास्पबेरी पाई 3 GPIO केबल; माइक्रोयूएसबी पावर केबल; एचडीएमआई केबल और एचडीएमआई-संगत मॉनिटर; यूएसबी कीबोर्ड; यूएसबी माउस; 1/8 हेडफोन पोर्ट वाले स्पीकर।
- स्पार्कफन एमईएमएस माइक ब्रेकआउट बोर्ड
- MCP3002 (एनालॉग-टू-डिजिटल कन्वर्टर)
- ब्रेडबोर्ड और एम-टू-एम ब्रेडबोर्ड जम्पर तार
चरण 3: रास्पबेरी पाई कॉन्फ़िगर करें
चरण 1: अपडेट जांचें और इंस्टॉल करें अपडेट की जांच करना और इंस्टॉल करना हमेशा शुरू करने का एक अच्छा तरीका है। टर्मिनल विंडो में निम्न कमांड चलाएँ:
सुडो एपीटी-अपडेट प्राप्त करें
सुडो एपीटी-अपग्रेड प्राप्त करें
सुडो रिबूट
चरण 2: MEMS माइक्रोफ़ोन + MCP3002 के लिए SPI इंटरफ़ेस सेट करें
MCP3002 के माध्यम से MEMS माइक्रोफ़ोन में पढ़ने के लिए SPI (सीरियल पोर्ट इंटरफ़ेस) का उपयोग करने के लिए, हमें पायथन देव पैकेज की आवश्यकता होगी:
sudo apt-पायथन-देव स्थापित करें
हमें SPI इंटरफ़ेस की भी आवश्यकता होगी (इसे सहेजने के लिए एक सबफ़ोल्डर बनाना चाह सकते हैं):
git क्लोन git://github.com/doceme/py-spidev
sudo python setup.py install
यदि आप किसी भी समस्या में भाग लेते हैं तो यहां एसपीआई-देव दस्तावेज़ीकरण है।
चरण 3: OMXPlayer के साथ ध्वनि बजाना
OMXPlayer एक ऑडियो और वीडियो प्लेयर है जो रास्पियन ओएस पर प्री-लोडेड है। यह अधिकांश ध्वनि फ़ाइल प्रकारों के साथ काम करता है, जिनमें शामिल हैं:.wav,.mp3, और.m4a। जब फ़िदो बहुत तेज़ हो जाता है तो हम ध्वनि को वापस चलाने के लिए इसका उपयोग करेंगे। OMXPlayer को नियंत्रित करने के लिए पायथन लाइब्रेरी रास्पियन (वू!) में शामिल है।
टर्मिनल से OMXPlayer का परीक्षण करने के लिए, निम्नलिखित टाइप करें:
omxplayer /home/…/SongFilePath/SongFileName.mp3
यदि वह काम नहीं करता है, तो इसे स्थानीय ऑडियो-आउट डिवाइस पर ज़बरदस्ती करने का प्रयास करें:
omxplayer -ओ लोकल /होम/…/SongFilePath/SongFileName.mp3
चरण 4: CloudMQTT सर्वर को कॉन्फ़िगर करें
अब हम एक MQTT सर्वर स्थापित करते हैं! CloudMQTT का उपयोग करके ऐसा करने के लिए, निम्न कार्य करें:
- CloudMQTT खाता सेट करें ("प्यारी बिल्ली" योजना मुफ़्त है)।
- एक नया MyCloud उदाहरण बनाएं।
- कंसोल में, एक नया ACL नियम बनाएँ।
- आप "वेबसोकेट" UI में प्रकाशित संदेशों की निगरानी कर सकते हैं।
अंत में, MQTT पाहो क्लाइंट पायथन लाइब्रेरी स्थापित करें:
पाइप स्थापित पाहो-mqtt
चरण 4: इसे बनाएं! हार्डवेयर
रास्पबेरी पाई और MCP3002 के लिए पिनआउट आरेख ऊपर की तस्वीरों में हैं।
1. ब्रेडबोर्ड में MCP3002 पिन डालें (ऊपर पिनआउट आरेख देखें)
MCP3002 संचार के लिए 4 SPI पिन का उपयोग करता है: सीरियल क्लॉक ("SCL"), मास्टर इनपुट स्लेव आउटपुट ("MISO"), मास्टर आउटपुट स्लेव इनपुट ("MOSI"), और चिप सिलेक्ट ("CS")। ये पिन रास्पबेरी पाई GPIO पिन 11 (SCLK), GPIO पिन 9 (MISO), GPIO पिन 10 (MOSI), और GPIO पिन 8 (CE0) के अनुरूप हैं।
MCP3002 पिन के साथ निम्नलिखित कनेक्शन बनाएं:
- पिन 1 को रास्पबेरी पाई GPIO पिन 8 (CE0) से कनेक्ट करें
- पिन 2 को एमईएमएस माइक्रोफ़ोन ब्रेकआउट बोर्ड के एनालॉग आउटपुट से कनेक्ट करें
- पिन 4 को GND. से कनेक्ट करें
- पिन 5 को रास्पबेरी पाई GPIO पिन 10 (MOSI) से कनेक्ट करें
- पिन 6 को रास्पबेरी पाई GPIO पिन 9 (MISO) से कनेक्ट करें
- पिन 7 को रास्पबेरी पाई GPIO पिन 11 (SCLK) से कनेक्ट करें
- पिन 8 को रास्पबेरी पाई 3.3V आउट से कनेक्ट करें
2. एमईएमएस माइक्रोफोन ब्रेकआउट बोर्ड को मिलाप तार। MCP3002 और रास्पबेरी पाई से कनेक्ट करें।
- Vcc को रास्पबेरी पाई 3.3V से कनेक्ट करें।
- GND को रास्पबेरी पाई GND से कनेक्ट करें
- AUD को MCP3002 पिन 2 से कनेक्ट करें
3. रास्पबेरी पाई के लिए सभी केबलों को प्लग इन करें और सब कुछ चालू करें।
चरण 5: इसे बनाएं! सॉफ्टवेयर
बार्क बैक के साथ हमारा लक्ष्य दुगना है: कुत्ते के भौंकने पर प्लेबैक ध्वनि को ट्रिगर करें, और डेटा को एक सर्वर पर भेजें जहां हम इसकी जांच कर सकें।
यहां इस प्रोजेक्ट के लिए ओपन-सोर्स पायथन प्रोग्राम है। कोड को समायोजित और संशोधित करने के लिए स्वतंत्र महसूस करें (और कृपया करें)।
कार्यक्रम को चलाने और चलाने के लिए, आपको दो चीजें भरने की जरूरत है:
- songList: फ़ाइल पथ में लिखें और प्रत्येक गीत के लिए फ़ाइल नाम लिखें जिसे आप बजाना चाहते हैं।
- क्रेडिट: इस शब्दकोश में अपनी CloudMQTT जानकारी इनपुट करें।
चरण 1: स्पार्कफन एमईएमएस माइक्रोफ़ोन ब्रेकआउट बोर्ड में पढ़ें।
SPI लाइब्रेरी का उपयोग करके MEMS माइक्रोफ़ोन ब्रेकआउट बोर्ड (MCP3002 के माध्यम से) से ADC मान (0 और 1023 के बीच) में पढ़ें और सिग्नल पीक-टू-पीक आयाम की गणना करें।
सिग्नल पीक-टू-पीक आयाम को वॉल्यूम यूनिट में मैप करें। वर्तमान कोड 0 और 700 (त्वरित प्रयोग के आधार पर) के बीच ADC रेंज को 0 और 10 के बीच वॉल्यूम यूनिट में मैप करता है। माइक्रोफ़ोन की संवेदनशीलता को समायोजित करने के लिए, ADC इनपुट रेंज समायोजित करें।
एमईएमएस माइक के संपूर्ण अवलोकन के लिए, इस ट्यूटोरियल को देखें।
चरण 2: ऑडियो प्लेयर को ट्रिगर करें।
पहले हमें गाने चलाने की आवश्यकता होगी! आप गैराजबैंड (या अपने स्मार्टफोन पर) में जल्दी से ध्वनि रिकॉर्ड कर सकते हैं और उन्हें रास्पबेरी पाई पर भेज सकते हैं। पायथन में, omxplayer को कॉल करने के लिए सबप्रोसेस लाइब्रेरी का उपयोग करें।
कोड में, उन गानों के फ़ाइल पथ को इनपुट करें जिन्हें आप *songList* वेरिएबल (लाइन 26) में वापस चलाना चाहते हैं। मुख्य फ़ंक्शन में वर्तमान वॉल्यूम थ्रेशोल्ड 7 पर सेट है।
चरण 3: CloudMQTT सर्वर पर डेटा भेजें
CloudMQTT सर्वर के साथ संचार करने के लिए पाहो क्लाइंट पायथन लाइब्रेरी का उपयोग करें। मोटे तौर पर संक्षेप में: क्लाइंट सर्वर सेट करें; संचार प्रोटोकॉल को परिभाषित करें; हमारे क्रेडेंशियल्स (उर्फ क्रेडिट) से जुड़ें; और हमारे डेटा को सब्सक्राइब और प्रकाशित करें। इसमें से अधिकांश मुख्य कार्य (लाइन 129 - 149, और लाइन 169 - 174) में किया जाता है।
प्राप्त डेटा की जांच करने के लिए, CloudMQTT कंसोल में "वेबसोकेट UI" टैब पर जाएं।
चरण 6: परीक्षण और स्थापित करें
BarkBack.py प्रोग्राम को टर्मिनल या Python IDE में चलाएँ (आपके जाने के बाद प्रोग्राम को चलाने के लिए आप SSH का उपयोग भी कर सकते हैं)।
जांचें कि आपको अपने Websocket UI टैब में वॉल्यूम स्तर मिल रहे हैं।
यह सुनिश्चित करने के लिए कि स्पीकर सभी ध्वनियों के माध्यम से खेलते हैं, माइक (क्लैप, येल, बार्क, आदि) को ट्रिगर करके सिस्टम का परीक्षण करें।
एक बार जब सब कुछ चल रहा हो और चल रहा हो, तो घटकों को एक पीसीबी (मुद्रित सर्किट बोर्ड) में मिलाप करने की सिफारिश की जाती है यदि आप सिस्टम को कुछ दिनों से अधिक के लिए स्थापित करने का इरादा रखते हैं।
माइक्रोकंट्रोलर प्रतियोगिता 2017 में उपविजेता
सेंसर प्रतियोगिता 2017 में प्रथम पुरस्कार
सिफारिश की:
चॉकबोर्ड पेंट जार: 5 कदम (चित्रों के साथ)
चॉकबोर्ड पेंट जार: प्रत्येक पागल वैज्ञानिक को जार की आवश्यकता होती है और उन जारों को लेबल की आवश्यकता होती है, और चूंकि मैं अपने जार का पुन: उपयोग करना चाहता हूं इसलिए जार लेबल को फिर से लिखने योग्य होना चाहिए। सौभाग्य से, चॉकबोर्ड पेंट के साथ कांच के जार के लिए फिर से लिखने योग्य लेबल बनाना आसान है। आपको बनाने के लिए बस इतना ही
स्मार्टपेट - स्मार्ट पेट फीडर: 7 कदम (चित्रों के साथ)
स्मार्टपेट - स्मार्ट पेट फीडर: अरे! मैं मैक्सिम वर्मीरेन हूं, जो हावेस्ट में एमसीटी (मल्टीमीडिया और संचार प्रौद्योगिकी) का १८ वर्षीय छात्र है। मैंने अपने प्रोजेक्ट के रूप में एक स्मार्ट पेट फीडर बनाना चुना है।मैंने इसे क्यों बनाया?मेरी बिल्ली के वजन में कुछ समस्याएं हैं, इसलिए मैंने एक मशीन टी बनाने का फैसला किया
टैबलेट या मोबाइल फोन पर पेंट करने के लिए साधारण पेंट ब्रश और पानी का उपयोग करके पेंट कैसे करें: 4 कदम
टैबलेट या मोबाइल फोन पर पेंट करने के लिए साधारण पेंट ब्रश और पानी का उपयोग करके पेंट कैसे करें: ब्रश से पेंटिंग करना मजेदार है। यह अपने साथ बच्चों के लिए बहुत से अन्य विकास लाता है
एक पुराने एलसीडी मॉनिटर से हैक किया गया गोपनीयता मॉनिटर: 7 कदम (चित्रों के साथ)
एक पुराने एलसीडी मॉनिटर से हैक किया गया गोपनीयता मॉनिटर: अंत में आप उस पुराने एलसीडी मॉनिटर के साथ कुछ कर सकते हैं जो आपके गैरेज में है। आप इसे गोपनीयता मॉनिटर में बदल सकते हैं! यह आपके अलावा सभी को सफ़ेद दिखता है, क्योंकि आपने "जादू" चश्मा! आपके पास वास्तव में एक पा है
रसपी और टेलीग्राम बॉट के साथ पेट फीडर मशीन: 4 कदम (चित्रों के साथ)
रसपी और टेलीग्राम बॉट के साथ पेट फीडर मशीन: सबसे पहले मुझे यह स्पष्ट करने की आवश्यकता है कि यह एक मूल आइडिया माइन नहीं है, बस टेलीग्राम के साथ काम करने के लिए प्रोग्रामिंग स्क्रिप्ट को अपडेट और अनुकूलित करें, मैंने इसे पिछले इंस्ट्रक्शनल में पाया ताकि क्रेडिट वास्तव में हैं इसके लेखक। आप स्पेनिश देख सकते थे