विषयसूची:

आपात स्थिति का पता लगाना - क्वालकॉम ड्रैगनबोर्ड ४१०सी: ७ कदम
आपात स्थिति का पता लगाना - क्वालकॉम ड्रैगनबोर्ड ४१०सी: ७ कदम

वीडियो: आपात स्थिति का पता लगाना - क्वालकॉम ड्रैगनबोर्ड ४१०सी: ७ कदम

वीडियो: आपात स्थिति का पता लगाना - क्वालकॉम ड्रैगनबोर्ड ४१०सी: ७ कदम
वीडियो: MECHAGODZILLA VS BIG KONG in GTA 5! (S1-EP 6 TO 10) 2024, नवंबर
Anonim
आपात स्थिति का पता लगाना - क्वालकॉम ड्रैगनबोर्ड 410c
आपात स्थिति का पता लगाना - क्वालकॉम ड्रैगनबोर्ड 410c
आपात स्थिति का पता लगाना - क्वालकॉम ड्रैगनबोर्ड 410c
आपात स्थिति का पता लगाना - क्वालकॉम ड्रैगनबोर्ड 410c
आपात स्थिति का पता लगाना - क्वालकॉम ड्रैगनबोर्ड 410c
आपात स्थिति का पता लगाना - क्वालकॉम ड्रैगनबोर्ड 410c

आपातकालीन स्थितियों की निगरानी के लिए काम करने वाली सुरक्षा प्रणालियों की तलाश में, यह नोटिस करना संभव है कि दर्ज की गई सभी सूचनाओं को संसाधित करना बहुत कठिन है। इसके बारे में सोचते हुए, हमने एक संपूर्ण प्रणाली बनाने के लिए ऑडियो/इमेज प्रोसेसिंग, सेंसर और एक्चुएटर्स में अपने ज्ञान का उपयोग करने का फैसला किया, जो उन स्थितियों की भविष्यवाणी करना संभव बनाता है जहां लोगों का जीवन खतरे में है।

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

रिमोट डिवाइस एक Arduino बोर्ड है जिसमें एक मॉड्यूल HC-06 है जो सभी सूचनाओं को स्थानांतरित करने के लिए संभव है, और एक कम लागत वाला चौड़ा नेट बड़ी मात्रा में डेटा को संसाधित करने में सक्षम है।

चरण 1: आवश्यक घटक

सबसे पहले, आपको यह तय करना होगा कि आप कौन से सेंसर और एक्ट्यूएटो का उपयोग करने जा रहे हैं, और आर्कटेक्चर स्केच बनाएं।

हमारे मामले में, हम नीचे सूचीबद्ध ARDUINO Pro Mini में जुड़े इन सेंसरों का उपयोग कर रहे हैं:

  • पीर (निष्क्रिय इन्फ्रारेड - उपस्थिति सेंसर)
  • DHT 11 (आर्द्रता और तापमान सेंसर)
  • सीओ सेंसर (कार्बन मोनोऑक्साइड सेंसर)
  • नॉइज़ सेंसर

एक्चुएटर्स:

  • मोटर सर्वो
  • बजर

संचार:

ब्लूटूथ मॉड्यूल HC-06

Dragonboard 410c के लिए, हमारे पास सभी डेटा इनपुट को प्रोसेस करने के लिए कुछ सेंसर और सॉफ्टवेयर होंगे:

सेंसर:

  • डीएचटी 11
  • सनलाइट सेंसर

एक्चुएटर्स:

  • रिले
  • एलईडी स्थिति
  • बजर

चरण 2: रिमोट डिवाइस बनाना

रिमोट डिवाइस बनाना
रिमोट डिवाइस बनाना

अब निम्नलिखित सभी घटकों को Arduino Board से जोड़ने का समय है, एक ऐसा उपकरण बनाना जो परिवेश (शोर, आर्द्रता, तापमान, आदि) से डेटा प्राप्त करेगा, और ब्लूटूथ मॉड्यूल HC-06 द्वारा ड्रैगनबोर्ड को भेजेगा।

अनुमानों पर ध्यान देना आवश्यक है, क्योंकि सभी सेंसर में कनेक्ट करने के लिए विशिष्ट स्थान होते हैं।

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

हमने एक arduino बोर्ड का उपयोग करने का निर्णय लिया क्योंकि इसमें अधिक संगत सेंसर हैं, और इस दूरस्थ उपकरणों को अलग-अलग स्थानों पर स्थापित करना संभव है, और अधिक जानकारी एकत्र करना।

स्थानीय उपकरण DragonBoard 410c है, जो आपके शक्तिशाली SnapDragon 410 प्रोसेसर के साथ ऑडियो, वीडियो, डिजिटल और एनालॉग सूचनाओं को प्रोसेस करता है।

घटकों को रखना (रिमोट डिवाइड)

विच वन पीस में कुछ पिन होते हैं जिन्हें आर्डिनो प्रो मिनी बोर्ड पर दाहिने पिन में जोड़ा जाना चाहिए।

ब्लूटूथ मॉड्यूल HC-06 में 4 पिन हैं:

  • TX (ट्रांसमिसर) -> RX Arduino के पिन पर जुड़ा हुआ है
  • RX (रिसीवर) -> TX Arduino के पिन पर जुड़ा हुआ है
  • VCC -> 5v. पर कनेक्टेड
  • जीएनडी

DHT 11 सेंसर में 4 पिन हैं (लेकिन केवल 3 उपयोग में हैं):

  • सिग्नल -> एक डिजिटल पिन पर कनेक्टेड
  • VCC -> 5v. पर जुड़ा हुआ है
  • जीएनडी

पीर सेंसर में 3 पिन होते हैं:

  • सिग्नल -> एक डिजिटल पिन पर जुड़ा
  • VCC -> 5v. पर कनेक्टेड
  • जीएनडी

गैस सेंसर (MQ) में 4 पिन होते हैं:

  • डिजिटल आउट -> डिजिटल पिन पर कनेक्टेड (यदि आप डिजिटल जानकारी चाहते हैं)
  • एनालॉग आउट -> हमारे मामले में, हम इसे एनालॉग पिन पर कनेक्ट कर रहे हैं
  • VCC -> 5v. पर जुड़ा हुआ है
  • जीएनडी

नॉइज़ सेंसर (KY-038) में 3 पिन होते हैं:

  • सिग्नल -> एक एनालॉग पिन पर जुड़ा हुआ है
  • VCC -> 5v. पर जुड़ा हुआ है
  • जीएनडी

Arduino रिमोट डिवाइस के लिए कोड:

/* *Arduino ब्लूटूथ के माध्यम से डेटा भेजता है* *सेंसर के मूल्य को पढ़ा जाता है, स्ट्रिंग पर संयोजित किया जाता है और सीरियल पोर्ट के माध्यम से भेजा जाता है। */ #"DHT.h" शामिल करें #DHTPIN 3 परिभाषित करें #DHTTYPE DHT22 को परिभाषित करें #PIRPIN 9 परिभाषित करें #COPIN A6 DHT dht (DHTPIN, DHTTYPE) को परिभाषित करें; फ्लोट आर्द्रता, तापमान; बूलियन पीर = 0; इंट सह, माइक; स्ट्रिंग संदेश = ""; चार नोम [40]; शून्य सेटअप () {Serial.begin (९६००); dht.begin (); } शून्य लूप () {आर्द्रता = dht.readHumidity (); तापमान = dht.readTemperature (); पीर = डिजिटल रीड (पिरपिन); सह = एनालॉगरेड (कॉपिन); माइक = एनालॉगरेड (A0); संदेश = "#;" +स्ट्रिंग (आर्द्रता) + ";" + स्ट्रिंग (तापमान) +";"+ स्ट्रिंग (माइक) +";"+ स्ट्रिंग (पीर) + ";" + स्ट्रिंग (सह) + ";#" + "\ n"; सीरियल.प्रिंट (संदेश); देरी (2000); }

कोड स्पष्टीकरण:

Arduino में उपयोग किए गए सभी पिन कोड की शुरुआत में उद्धृत किए जाते हैं और सेंसर के संचालन के लिए आवश्यक संबंधित पुस्तकालयों को प्रारंभ किया जाता है। सभी डेटा को संबंधित वेरिएबल्स में पास किया जाएगा जो प्रत्येक 2000 मिलीसेकंड में प्रत्येक सेंसर से पढ़े गए मान प्राप्त करेंगे, फिर उन सभी को एक स्ट्रिंग में संयोजित किया जाता है, फिर इसे सीरियल में लिखा जाता है। वहां से ऐसे डेटा को कैप्चर करने के लिए ड्रैगनबोर्ड में मौजूद पाइटन कोड का बहुत आसान है।

चरण 3: सॉफ्टवेयर और पुस्तकालय

प्राप्त सभी डेटा को संसाधित करने और सुरक्षा प्रणाली को नियंत्रित करने के लिए, क्वालकॉम ड्रैगनबोर्ड 410c में कुछ सॉफ्टवेयर और पुस्तकालयों का उपयोग करना आवश्यक है।

इस विशिष्ट परियोजना में हम उपयोग कर रहे हैं:

सॉफ्टवेयर:

  • अजगर
  • अरुडिनो

प्लेटफार्म:

  • अमेज़न एडब्ल्यूएस -> ऑनलाइन सर्वर
  • फैंट -> होस्ट डेटा सेवा

पुस्तकालय:

  • ओपनसीवी - वीडियो प्रोसेसिंग (https://opencv-python-tutroals.readthedocs.io/en/latest/)
  • PyAudio - ऑडियो प्रोसेसिंग (https://people.csail.mit.edu/hubert/pyaudio/)
  • वेव (https://www.physionet.org/physiotools/wave-installation.shtm)
  • ऑडियोऑप (https://docs.python.org9https://scikit-learn.org/stable/install.html/2/library/audioop.html)
  • नम्पी (https://www.numpy.org)
  • SciKit1 - मशीन लर्निंग को प्रशिक्षित और भविष्यवाणी करें (https://scikit-learn.org/stable/install.html)
  • cPickle - मशीन लर्निंग पैरामीटर्स को सेव करें (https://pymotw.com/2/pickle/)
  • MRAA - GPIO का उपयोग करें (https://iotdk.intel.com/docs/master/mraa/python/)
  • UPM - GPIO का उपयोग करें (https://github.com/intel-iot-devkit/upm)
  • PySerial - ब्लूटूथ डिवाइस के साथ सीरियल संचार के लिए उपयोग करें (https://pythonhosted.org/pyserial/)

चरण 4: SSH का उपयोग करना और Libs स्थापित करना

सबसे पहले आपको ड्रैगनबोर्ड से आईपी पता प्राप्त करने की आवश्यकता है, ऐसा करने के लिए, आपको माउस, कीबोर्ड और एचडीएमआई मॉनिटर से जुड़े ड्रैगनबोर्ड को चालू करना होगा। जब बोर्ड चालू होता है तो आपको टर्मिनल पर जाने और कमांड चलाने के बजाय नेटवर्क से कनेक्ट करने की आवश्यकता होती है:

सुडो ifconfig

उसके बाद आप आईपी एड्रेस प्राप्त कर सकते हैं।

आईपी पते के साथ आप एसएचएच के माध्यम से ड्रैगनबोर्ड तक पहुंच सकते हैं, ऐसा करने के लिए आपको बोर्ड के समान नेटवर्क से जुड़े कंप्यूटर में एक टर्मिनल खोलने की आवश्यकता है। टर्मिनल में आप कमांड चला सकते हैं:

एसएसएच लिनारो@{आईपी}

(आपको {आईपी} को उस आईपी पते से बदलना चाहिए जो आपको ड्रैगनबोर्ड में मिलता है)।

पहला लिब जिसे आपको इंस्टॉल करने की आवश्यकता है वह है mraa लिब। ऐसा करने के लिए आपको टर्मिनल में निम्न आदेश चलाने की आवश्यकता है:

sudo add-apt-repository ppa:mraa/mraa && sudo apt-ge;t update && sudo apt-get install libmraa1 libmraa-dev mraa-tools python-mraa python3-mraa

अजगर के लिए opencv स्थापित करने के लिए आपको केवल कमांड चलाने की आवश्यकता है:

sudo apt-पायथन-ओपनसीवी स्थापित करें;

PyAudio को स्थापित करने के लिए आपको कमांड चलाने की आवश्यकता है:

sudo apt-पायथन-प्यूडियो स्थापित करें python3-pyaudio

libs WAVE और AudioOp पहले से ही बोर्ड में स्थापित हैं। numpy स्थापित करने के लिए आपको कमांड चलाने की आवश्यकता है:

sudo apt-python-numpy python-scipy स्थापित करें

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

पाइप स्थापित स्किकिट-लियर

चरण 5: ब्लूटूथ प्रोटोकॉल

ब्लूटूथ प्रोटोकॉल
ब्लूटूथ प्रोटोकॉल
ब्लूटूथ प्रोटोकॉल
ब्लूटूथ प्रोटोकॉल
ब्लूटूथ प्रोटोकॉल
ब्लूटूथ प्रोटोकॉल

ब्लूटूथ के माध्यम से Arduino के साथ DragonBoard कनेक्शन

ब्लूटूथ मॉड्यूल (HC-06) शुरू में निम्नलिखित उदाहरण के अनुसार Arduino नैनो से जुड़ा था:

लिनारो (ड्रैगनबोर्ड में वर्तमान प्रोजेक्ट में प्रयुक्त ऑपरेटिंग सिस्टम) ग्राफिकल इंटरफ़ेस का उपयोग करते हुए, नीचे पट्टी के दाईं ओर ब्लूटूथ प्रतीक पर क्लिक करें और फिर "नया डिवाइस सेट करें" पर क्लिक करें और इसे अपने ब्लूटूथ मॉड्यूल के साथ युग्मित छोड़कर कॉन्फ़िगर करें। सत्यापित करें कि आपका मॉड्यूल वास्तव में ब्लूटूथ प्रतीक पर फिर से क्लिक करके जुड़ा हुआ है, "डिवाइस …" पर क्लिक करें और देखें कि क्या आपके डिवाइस का नाम सूचीबद्ध और जुड़ा हुआ है। अब "ब्लूटूथ डिवाइसेस" स्क्रीन में अपने डिवाइस का चयन करें और उस पर राइट क्लिक करें और उस पोर्ट को नोट करें जिससे आपका ब्लूटूथ मॉड्यूल जुड़ा है (उदा.: "rfcomm0")। नोट: डेटा एक्सचेंज को सक्षम करने के अगले चरण के लिए आपका डिवाइस जिस पोर्ट नाम से जुड़ा है, वह महत्वपूर्ण होगा।

ड्रैगनबोर्ड डेटा एक्सचेंज और ब्लूटूथ की स्थापना

मूल रूप से हम लिंक के चरण दर चरण का अनुसरण करते हैं: https://www.uugear.com/portfolio/bluetooth-communi… अजगर में सीरियल लाइब्रेरी का इस्तेमाल किया गया था जो ब्लूटूथ से जुड़े पोर्ट में इनिशियलाइज़ होता है, इसलिए पायथन कोड उन सेंसर के डेटा को पढ़ता है जो ब्लूटूथ मॉड्यूल के माध्यम से आर्डिनो से जुड़े होते हैं।

चरण 6: DragonBoard 410c. पर मेजेनाइन का उपयोग करना

DragonBoard 410c. पर मेजेनाइन का उपयोग करना
DragonBoard 410c. पर मेजेनाइन का उपयोग करना

ड्रैगनबोर्ड और घटकों के बीच संबंध बनाने के लिए, हम एक प्रकार की ढाल का उपयोग कर रहे हैं जिसे मेजेनाइन कहा जाता है, जिसे 96बोर्ड द्वारा विकसित किया गया है।

इस शील्ड के इस्तेमाल से पेरिफेरल्स को कनेक्ट करना काफी आसान हो जाता है।

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

हम नीचे इस किट का उपयोग कर रहे हैं:

  • ग्रोव रिले
  • ग्रोव सनलाइट सेंसर
  • ग्रोव एलईडी सॉकेट
  • ग्रोव टेम्प और ह्यूमी सेंसर
  • ग्रोव बजर

चरण 7: ड्रैगनबोर्ड 410c सॉफ्टवेयर

DragonBoard में प्रोग्राम के भाग को Python में कोडित किया गया था और Arduino पर उपयोग किए जाने वाले प्रोग्राम को C++ में विकसित किया गया था। हर 2 मिनट में Arduino इससे जुड़े सभी सेंसर को पढ़ता है। Arduino की तुलना में ब्लूटूथ द्वारा ड्रैगनबोर्ड को रीडिंग भेजें। DragonBoard, Arduino से प्राप्त रीडिंग को उस रीडिंग के साथ जोड़ता है जो यह मेजेनाइन शील्ड द्वारा ऑडियो और वीडियो नमूनों की विशेषताओं के साथ बनाता है।

इस डेटा के साथ, बोर्ड भविष्यवाणी करने की कोशिश करता है कि क्या यह एक आपातकालीन स्थिति हो रही है। बोर्ड फैंट के कच्चे डेटा और उसके द्वारा की गई भविष्यवाणी का उपयोग करके अमेज़ॅन वेब सेवा को भेजता है। यदि बोर्ड भविष्यवाणी करता है कि यह एक अजीब स्थिति हो रही है तो यह उपयोगकर्ता को मेजेनाइन में एक एलईडी और बजर को ब्लिंक करने और वेब एप्लिकेशन पर दिखाने की चेतावनी देने का प्रयास करता है। वेब एप्लिकेशन में यह समझने के लिए कि इस क्षेत्र में क्या हो रहा है, कच्चे डेटा को देखना भी संभव है।

सिफारिश की: