विषयसूची:

रास्पबेरी पाई और पार्टिकल आर्गन का उपयोग करके स्मार्ट फ्लड डिटेक्शन अलार्म सिस्टम कैसे बनाएं: 6 कदम
रास्पबेरी पाई और पार्टिकल आर्गन का उपयोग करके स्मार्ट फ्लड डिटेक्शन अलार्म सिस्टम कैसे बनाएं: 6 कदम

वीडियो: रास्पबेरी पाई और पार्टिकल आर्गन का उपयोग करके स्मार्ट फ्लड डिटेक्शन अलार्म सिस्टम कैसे बनाएं: 6 कदम

वीडियो: रास्पबेरी पाई और पार्टिकल आर्गन का उपयोग करके स्मार्ट फ्लड डिटेक्शन अलार्म सिस्टम कैसे बनाएं: 6 कदम
वीडियो: UFOs: Sean Cahill on Orbs, Triangles, Recovered Craft, Roswell, Psi Phenomena, and 'That UAP Video' 2024, नवंबर
Anonim
Image
Image
रास्पबेरी पाई और पार्टिकल आर्गन का उपयोग करके स्मार्ट फ्लड डिटेक्शन अलार्म सिस्टम कैसे बनाएं
रास्पबेरी पाई और पार्टिकल आर्गन का उपयोग करके स्मार्ट फ्लड डिटेक्शन अलार्म सिस्टम कैसे बनाएं

आपके घर या कार्यस्थल को भारी नुकसान से बचाने के लिए मानक बाढ़ सेंसर होना बहुत अच्छा है।

लेकिन अगर आप अलार्म बजाने के लिए घर पर नहीं हैं तो यह मुश्किल हो जाता है।

बेशक आप उन स्मार्ट खरीद सकते हैं

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

आपूर्ति

रास्पबेरी पाई (मैं मॉडल 3 बी + का उपयोग कर रहा हूं) रास्पियन चल रहा है

कण आर्गन

ग्रोव वाटर सेंसर

रास्पी कैमरा

बजर

जम्पर तार

चरण 1: जल संवेदक को कण से कनेक्ट करें

जल संवेदक को कण से कनेक्ट करें
जल संवेदक को कण से कनेक्ट करें
जल संवेदक को कण से कनेक्ट करें
जल संवेदक को कण से कनेक्ट करें

वाटर सेंसर में 4 पिन होते हैं, जो GND, VCC, NC और SIG हैं और हम उनमें से केवल तीन का उपयोग करने जा रहे हैं

मैं आर्गन पर SIG पिन को D2 से जोड़ रहा हूं।

अब, आप कोड लिखने और आर्गन को फ्लैश करने के लिए पार्टिकल वेब आईडीई लॉन्च कर सकते हैं

इसलिए हमने पार्टिकल फंक्शन लिक्विड को पंजीकृत किया है और एक वेरिएबल isFloodPresent को परिभाषित किया है, जिसे पार्टिकल कंसोल से बुलाया जा सकता है और isFloodPresent का बूलियन मान प्राप्त कर सकता है और मॉक टेस्टिंग के लिए फंक्शन लिक्विड को भी कॉल कर सकता है जो इनपुट के रूप में मान 1 लेता है जिसका मतलब बाढ़ (पानी) के लिए सही है।.

सुनिश्चित करें कि आप अपने कण डिवाइस के कण कंसोल से उस फ़ंक्शन और चर को देखने में सक्षम हैं।

चरण 2: अलार्म स्रोत को रास्पबेरी से कनेक्ट करें

अलार्म स्रोत को रास्पबेरी से कनेक्ट करें
अलार्म स्रोत को रास्पबेरी से कनेक्ट करें

ब्रेडबोर्ड पर आप बजर को रास्पबेरी के GPIO पिन से जोड़ सकते हैं

मैंने बजर के छोटे सिरे को जीएनडी (पिन 6) से जोड़ा है और रास्पबेरी पर पिन 7 के लिए लंबा छोर जोड़ा है।

अब देखने के लिए कोड चलाएँ। हमें इस पायथन फ़ाइल को हर समय चलने की आवश्यकता होगी ताकि यह वेब सर्वर से ट्रिगर प्राप्त कर सके और तदनुसार प्रतिक्रिया दे सके।

वैकल्पिक रूप से आप इस फ़ाइल को अपने रास्पबेरी पर स्टार्टअप पर चला सकते हैं जिसे आप /etc/systemd. संपादित करके कर सकते हैं

और यह फ़ाइल आपके अपाचे सर्वर के cgi फ़ोल्डर में रखी जाएगी, मैंने /var/www/html/ के अंदर नई निर्देशिका बाढ़-सीजीआई बनाई है और इस.py फ़ाइल को रखा है जो मेरी सीजीआई स्क्रिप्ट के साथ संचार करेगी

चरण 3: अपाचे सर्वर को कॉन्फ़िगर करें

अपाचे सर्वर को कॉन्फ़िगर करें
अपाचे सर्वर को कॉन्फ़िगर करें

आप sudo apt-get install apache2 टाइप करके अपाचे सर्वर स्थापित कर सकते हैं

जब यह स्थापित हो जाता है, तो आप होस्टनाम टाइप करके सत्यापित कर सकते हैं -I

और आपको अपना स्थानीय आईपी पता मिल जाएगा और आप अपने ब्राउज़र पर जा सकते हैं और सर्वर को चालू देखना चाहिए

चरण 4: Apache पर CGI सक्षम करें

Apache पर CGI सक्षम करें
Apache पर CGI सक्षम करें

आप sudo a2enmod cgi. टाइप करके cgi को सक्षम कर सकते हैं

डिफ़ॉल्ट रूप से अपाचे का cgi_bin /usr/lib/cgi-bin. में स्थित है

यह वह जगह है जहाँ आप cgi को सक्षम करने के बाद अपनी cgi स्क्रिप्ट डाल सकते हैं

प्रभावी होने के लिए, आपको अपाचे सर्वर को पुनरारंभ करना होगा

मैं अपनी cgi लिपियों के लिए कस्टम निर्देशिका चाहता था इसलिए मैंने /var/www/html/ में निर्देशिका बनाई जिसे बाढ़-cgi. कहा जाता है

इस निर्देशिका को सक्षम करने के लिए मुझे टाइप करके conf फ़ाइल बनानी थी

सुडो नैनो /etc/apache2/conf-उपलब्ध/बाढ़-cgi.conf

और स्क्रीनशॉट में दिखाए अनुसार कमांड जोड़ना

फिर टाइप करके इस निर्देशिका को सक्षम करें

var/www/html $ sudo a2enconf बाढ़-cgi

अब आप अपने अपाचे सर्वर को फिर से पुनरारंभ कर सकते हैं और इस फ़ोल्डर से सभी सीजीआई अनुमति के बाद अपाचे द्वारा पठनीय होंगे।

चरण 5: वेब पेज सेट करें

वेब पेज सेट करें
वेब पेज सेट करें

इस सरल वेब सेवा के लिए, मैं HTML, Javascript, CSS, jQuery और ajax का उपयोग कर रहा हूं।

मेरे पास पांच नियंत्रण लेबल हैं जो क्लिक करने योग्य हैं, घटना में जब वेब पेज से फोटो क्लिक किया जाता है, तो यह फोटो बटन क्लिक फ़ंक्शन को ट्रिगर करेगा और यह फ़ंक्शन इस तरह दिखता है

$("#photobutton")। क्लिक करें (फ़ंक्शन () { वर बाढ़ दिनांक = नई तिथि ();

वर बाढ़ इमेजनाम = "Flood_IMG_" + बाढ़ दिनांक.toLocaleTimeString ();

$.ajax({

url: 'flood-cgi/flood_cgi.py', विधि: 'पोस्ट', डेटा: {name_for_image:fludImageName}, सफलता: फ़ंक्शन (डेटा) {

चेतावनी (डेटा, स्थिति)

$("#recentpic").attr("src", "flood-cgi/" + बाढ़ImageName + ".jpg");

}

})

});

यह तस्वीर लेने के लिए बाढ़_cgi.py स्क्रिप्ट को कॉल करेगा और छवि को वर्तमान दिनांक और समय द्वारा उत्पन्न कस्टम नाम के साथ सहेजता है और पेज तक अजाक्स लोड होता है।

अलार्म की स्थिति में, हम इस फ़ंक्शन का उपयोग कर सकते हैं

फ़ंक्शन कॉल अलार्म (अलार्म टाइप) {

$.ajax({

यूआरएल: 'बाढ़-सीजीआई/अलार्म.सीजीआई', विधि: 'पोस्ट', डेटा: {अलार्म_टाइप: अलार्म टाइप}, सफलता: फ़ंक्शन (डेटा) {अलर्ट (डेटा)

}, त्रुटि: फ़ंक्शन (XMLHttpRequest, टेक्स्टस्टैटस, थ्रोएरर) {अलर्ट (थ्रो एरर)}});

}

बजर लेबल पर क्लिक करने पर फंक्शन कॉलअलार्म को कॉल किया जाएगा, $ ("# बजर")। क्लिक करें (फ़ंक्शन () {कॉल अलार्म ("टेस्ट");

})

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

$("#mockFlood").क्लिक करें (फ़ंक्शन () { कंसोल.लॉग ("मॉक फ्लड ने अनुरोध किया है");

वर बाढ़वैल = 1;

$ ("# सिग्नल 2")। सीएसएस ("फ़ॉन्ट-आकार", "छोटा");

var varName = "isFloodPresent";

var deviceID = "आपका डिवाइस आईडी";

var accessToken = "आपका एक्सेस टोकन";

अगर (बाढ़ वैल) {

$.post("https://api.particle.io/v1/devices/" + deviceID + "/liquid?access_token=" + accessToken, {तरल: फ्लडवैल}, फ़ंक्शन (डेटा, स्थिति) {

अगर (स्थिति == "सफलता") {

चेतावनी ("मॉक फ्लड आयोजित किया गया है !!!");

} अन्यथा {

चेतावनी ("क्षमा करें, एक समस्या थी");

}

});

}

});

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

नोट: मैं सभी कोड अपलोड करना चाहता था, लेकिन यह मुझे.html फ़ाइल अपलोड करने की अनुमति नहीं देता है

चरण 6: रास्पी कैमरा के लिए स्क्रिप्ट बनाएं

हम छवि पर कब्जा करने के लिए सरल.py बना रहे हैं और उस पर वर्तमान तिथि और समय का एनोटेशन होगा।

फिर हम cgi स्क्रिप्ट बाढ़_cgi.py बनाएंगे, इसलिए इसे वेब से बुलाया जाएगा और यह फोटो लेने के लिए.py फाइल को कमांड करेगा।

cgi स्क्रिप्ट को # से शुरू करना सुनिश्चित करें! /usr/bin/env python

और इन फ़ाइलों को चलाने के लिए अपाचे को अनुमति भी दें।

अपाचे सर्वर उपयोगकर्ता www-डेटा पर चलता है इसलिए एक बार जब हम.py या.cgi फ़ाइल बनाते हैं, तो अपाचे को फ़ाइल का स्वामी होना चाहिए

सुडो चाउन पीआई:www-डेटा बाढ़-cgi.py

और निष्पादित करने की अनुमति दें

सुडो चामोद ए+एक्स बाढ़-cgi.py

आपको इसे उन सभी फाइलों के लिए करना होगा जिन्हें अपाचे सर्वर से चलाने की आवश्यकता है।

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

सिफारिश की: