- अवयव आवश्यक
- रास्पबेरी पाई के साथ MLX90614 को इंटरफैस करना
- रास्पबेरी पाई के साथ पाई कैमरा इंटरफेसिंग
- रास्पबेरी पाई के साथ एसएमटीपी ईमेल स्थापित करना
- पाई के लिए पायथन कोड एमएलएक्स 90614 से तापमान पढ़ें और चित्र के साथ ई-मेल भेजें
- मापने तापमान और पीआई के साथ मेल अलर्ट भेजना
कोरोना के प्रकोप के बाद से, उन लोगों की पहचान करना बहुत मुश्किल हो गया है जो वायरस से प्रभावित हैं या नहीं। इस समस्या को हल करने के लिए, शरीर के तापमान को मापने के लिए अक्सर तापमान उपकरणों का उपयोग किया जाता है। इन उपकरणों में गैर-संपर्क आईआर तापमान सेंसर होते हैं जो बिना किसी शारीरिक संपर्क के शरीर के तापमान को माप सकते हैं ।
बाजार में कई तापमान बंदूकें उपलब्ध हैं, लेकिन उनमें से कोई भी तापमान को एक विशेष सीमा से अधिक होने पर उचित कार्रवाई करने के लिए उच्च अधिकारियों को कोई चेतावनी या ईमेल अधिसूचना नहीं देता है। इस परियोजना में, हम एक IR तापमान सेंसर को इंटरफेस करेंगे और किसी विशेष व्यक्ति का तापमान निर्धारित मान से अधिक होने पर व्यक्ति की छवि के साथ ईमेल अलर्ट भेजेंगे।
आज की दुनिया में, इंटरनेट ऑफ थिंग्स कई प्रणालियों को विकसित करके हमारे जीवन में क्रांति ला रहा है, जिन्हें दूर से ही देखा और नियंत्रित किया जा सकता है। इस परियोजना में, हम IoT की शक्ति का लाभ उठाएंगे और हम रास्पबेरी पाई, MLX90614 और PiCamera का उपयोग करके ईमेल अलर्ट के साथ एक तापमान निगरानी उपकरण का निर्माण करेंगे ।
पहले हमने शरीर के तापमान माप के लिए अन्य समान थर्मामीटर भी बनाए हैं, आप उन्हें यहां पा सकते हैं।
- मैक्स 30205 का उपयोग कर Arduino आधारित डिजिटल थर्मामीटर
- एमएलएक्स 90614 के साथ RFID और Arduino का उपयोग करके संपर्क रहित शरीर का तापमान
- Arduino का उपयोग करके गैर-संपर्क इन्फ्रारेड थर्मामीटर गन
- Arduino का उपयोग करके वॉल माउंट गैर-संपर्क थर्मामीटर
- Android एप्लिकेशन के साथ Arduino का उपयोग कर स्मार्ट थर्मामीटर
अवयव आवश्यक
यहां हम रास्पबेरी पाई 3 रास्पबियन ओएस का उपयोग कर रहे हैं । सभी मूल हार्डवेयर और सॉफ़्टवेयर आवश्यकताओं पर पहले से चर्चा की जाती है, आप इसे रास्पबेरी पाई परिचय और रास्पबेरी पीआई एलईडी ब्लिंकिंग को शुरू करने के लिए देख सकते हैं, इसके अलावा, हमें इसकी आवश्यकता है:
- रास्पबेरी पाई 3 (कोई भी संस्करण ठीक होगा)।
- पाई कैमरा।
- MLX90614 - आईआर तापमान सेंसर।
- तारों को जोड़ना।
- ब्रेड बोर्ड।
- बिजली की आपूर्ति (5V, 2A / 3A)
यह परियोजना सरल है यदि हम परियोजना को भागों में विभाजित करते हैं।
- रास्पबेरी पाई के साथ MLX90614 को समझना और इंटरफ़ेयर करना।
- शुरुआत पाई कैमरा से हो रही है।
- रास्पबेरी पाई के साथ SMTP ईमेल सेट करना।
- अंतिम कोड विकसित करना और समझना।
रास्पबेरी पाई: रास्पबेरी पाई एक क्रेडिट कार्ड आकार का कंप्यूटर है जिसे शैक्षिक उद्देश्यों के लिए डिज़ाइन किया गया था। ऑनबोर्ड वाईफाई, ब्लूटूथ और प्रोग्रामेबल GPIO हेडर जैसे इसकी कीमत और अद्भुत स्पेसिफिकेशन्स, और एप्लिकेशन बनाने के लिए संभावित विकल्पों की संख्या के कारण, इसे डेवलपर्स और इलेक्ट्रॉनिक्स शौकियों ने अपनाया। आप इसे बूट करने की प्रक्रिया से आरंभ करने के लिए रास्पबेरी पाई परिचय और रास्पबेरी पीआई एलईडी ब्लिंकिंग में देख सकते हैं।
MLX90614 IR तापमान सेंसर: बाजार में कई सेंसर उपलब्ध हैं जो हमें तापमान और आर्द्रता दे सकते हैं। यह सेंसर अन्य सभी सेंसरों से अलग है जो यह है कि यह हमें ऑब्जेक्ट तापमान दे सकता है और अन्य सेंसर परिवेश तापमान देते हैं। हमने कई अनुप्रयोगों के लिए बड़े पैमाने पर DHT11 सेंसर और LM35 का उपयोग किया है जहां वायुमंडलीय आर्द्रता या तापमान को मापा जाना है।
लेकिन यहाँ एक तापमान बंदूक बनाने के लिए जिसे भौतिक संपर्क की आवश्यकता नहीं है और परिवेश के तापमान के बजाय ऑब्जेक्ट तापमान को माप सकते हैं, हम IR आधारित MLX90314 का उपयोग करते हैं । इन्फ्रारेड और आईआर सेंसर सर्किट के बारे में अधिक जानने के लिए, लिंक का अनुसरण करें।
MLX90614 सेंसर Melexis माइक्रोइलेक्ट्रॉनिक इंटीग्रेटेड सिस्टम द्वारा निर्मित है, यह तापमान माप के लिए InfraRed thermopile सेंसर के सिद्धांत पर काम करता है। ये सेंसर तापमान उत्पादन देने के लिए आंतरिक रूप से एम्बेडेड दो इकाइयों से मिलकर बने होते हैं। पहली इकाई संवेदन इकाई है जिसमें एक अवरक्त डिटेक्टर होता है जिसके बाद दूसरी इकाई होती है जो डिजिटल सिग्नल प्रोसेसिंग (डीएसपी) के साथ डेटा की गणना करती है। यह सेंसर स्टीफन-बोल्ट्जमैन कानून पर काम करता है जो एक काले शरीर द्वारा अपने तापमान के संदर्भ में विकिरणित ऊर्जा की व्याख्या करता है। सरल शब्दों में, कोई भी वस्तु IR ऊर्जा का उत्सर्जन करती है और उस की तीव्रता उस वस्तु के तापमान के सीधे आनुपातिक होगी। MLX90614 सेंसर कम्प्यूटेशनल मान को 17-बिट ADC में परिवर्तित करता हैऔर जिसे I2C संचार प्रोटोकॉल का उपयोग करके एक्सेस किया जा सकता है । ये सेंसर परिवेश के तापमान के साथ-साथ ऑब्जेक्ट तापमान को 0.02 ° C के रिज़ॉल्यूशन अंशांकन के साथ मापते हैं। MLX90614 सेंसर की विशेषताओं के बारे में अधिक जानने के लिए, MLX90614 डेटाशीट देखें।
MLX90614 की विशेषताएं:
- ऑपरेटिंग वोल्टेज: 3.6 वी से 5 वी
- परिवेश तापमान रेंज: -40 डिग्री सेल्सियस से 125 डिग्री सेल्सियस
- ऑब्जेक्ट तापमान रेंज: -70 डिग्री सेल्सियस से -382.2 डिग्री सेल्सियस
- संकल्प / अंशांकन: 0.02 डिग्री सेल्सियस
- 17-बिट एडीसी।
- I2C संचार।
रास्पबेरी पाई के साथ MLX90614 को इंटरफैस करना
सबसे पहले, हम MLX90614 को सफलतापूर्वक इंटरफ़ेस करने के लिए आवश्यक लाइब्रेरी और पैकेज डाउनलोड करेंगे।
Step1: रास्पबेरी पाई सेटिंग से I2C को सक्षम करना। Sudo raspi-config
टाइप करें और फिर इंटरफेसिंग विकल्प पर जाएँ।
I2C विकल्प पर जाएं और इसे सक्षम करें।
Step2: MLX90614 के पैकेज / लाइब्रेरी को https://pypi.org/project/PyMLX90614/#files पर जाकर डाउनलोड करें, फिर राइट क्लिक करें और लिंक एड्रेस को कॉपी करें।
RPI टर्मिनल पर जाएं और wget टाइप करें और नीचे दिए गए लिंक की तरह पेस्ट करें।
Wget
यह लाइब्रेरी को जिप फाइल नाम 'PyMLX90614-0.0.3.tar.gz' में डाउनलोड करेगा । फिर टार -xf फ़ाइल नाम के विस्तार के साथ फ़ोल्डर निकालें या ऐसा करने के लिए नीचे दिए गए आदेश का उपयोग करें।
tar -xf PyMLX90614-0.0.3.tar.gz
फिर हमें नीचे दिए गए कमांड का उपयोग करके कुछ आवश्यक पैकेज स्थापित करने की आवश्यकता है।
sudo apt-get install अजगर-सेप्टुपूलस sudo apt-get install -y i2c-tools
फिर सीडी PyMLX90614-0.0.3 / का उपयोग करके निकाले गए फ़ोल्डर पर जाएं और कमांड चलाएं।
sudo python setup.py इंस्टॉल
एक बार जब आप चरणों का पालन कर लेते हैं, तो नीचे दिए गए सर्किट का उपयोग करके रास्पबेरी पाई के साथ एमएलएक्स 90614 सेंसर को इंटरफ़ेस करें। नीचे रास्पबेरी पाई MLX90614 सर्किट को फ्रिट्ज़िंग का उपयोग करके डिज़ाइन किया गया था।
यदि कनेक्शन और इंस्टॉलेशन ठीक से किया गया है, तो हम यह जांच कर सकते हैं कि क्या I2C बस पर कमांड i2cdetect -y 1 का उपयोग करके हमें सेंसर एड्रेस वैल्यू मिलती है ।
अगर सब कुछ उम्मीद के मुताबिक काम करता है, तो हम अपने टर्मिनल पर नीचे दिए गए आउटपुट को देख सकते हैं।
0x5A सेंसरशीट के पते का प्रतिनिधित्व करता है जैसा कि डेटाशीट द्वारा बताया गया है। नीचे दिखाया गया डेटाशीट स्निपेट नीचे दिया गया है।
अब, हम एक नया फ़ाइल नाम mlxread.py बनाकर चलाएंगे और सेंसर से डेटा की जांच के लिए एक नमूना प्रोग्राम लिखेंगे। उसी के लिए कोड नीचे दिया गया है।
mlx90614 आयात से smbus2 आयात SMBus से MLX90614 बस = SMBus (1) सेंसर = MLX90614 (बस, पता = 0x5A) प्रिंट "परिवेश तापमान:", Sens.get_ambient () प्रिंट "ऑब्जेक्ट तापमान:", Sens.get_object_1 () बस। बंद करे()
एक बार फ़ाइल बन जाने के बाद, हम इसे अजगर एक्सटेंशन python mlxread.py के साथ चलाएंगे। मुझे प्राप्त आउटपुट नीचे दिखाया गया है। मानों में परिवर्तन होता है या नहीं, यह जाँचने के लिए मैंने कई बार कार्यक्रम चलाया।
वाह, हमने हमारे रास्पबेरी पाई के साथ MLX90614 को सफलतापूर्वक हस्तक्षेप किया है क्योंकि आप उपरोक्त छवि से पुष्टि कर सकते हैं।
रास्पबेरी पाई के साथ पाई कैमरा इंटरफेसिंग
Step1: रास्पबेरी पाई सेटिंग से कैमरा सक्षम करना।
Sudo raspi-config टाइप करें और फिर इंटरफेसिंग विकल्प पर जाएँ।
कैमरा पर जाएं और कैमरा सक्षम करें।
अब, नीचे दिखाए गए अनुसार कैमरा मॉड्यूल कनेक्ट करें।
चरण 2: यह जांचने के लिए कि क्या कैमरा ठीक से जुड़ा हुआ है, हम एक परीक्षण छवि लेते हैं और अपने डेस्कटॉप में सहेजते हैं (हम पूर्ण जीयूआई रास्पबियन ओएस संस्करण का उपयोग कर रहे हैं)
raspistill -o Desktop / image.jpg
यह आपके कैमरे को नाम छवि के साथ एक तस्वीर क्लिक करने और आपके डेस्कटॉप पर संग्रहीत करने में सक्षम करेगा।
रास्पबेरी पाई के साथ एसएमटीपी ईमेल स्थापित करना
इस खंड में, हम समझेंगे कि कैसे हम अपने जीएमईएल खाते को निर्धारित मेल भेजने के लिए अलर्ट मेल भेजने के लिए सेट कर सकते हैं जब तापमान पूर्वनिर्धारित सेट मूल्य से अधिक हो जाता है।
SMTP एक साधारण मेल ट्रांसफर प्रोटोकॉल है जो कि टीसीपी / आईपी का उपयोग करके ईमेल सेवा के लिए जिम्मेदार एक एप्लिकेशन लेयर प्रोटोकॉल है । यह ई-मेल संदेश भेजने और प्राप्त करने की क्षमता प्रदान करता है और इंटरनेट इंजीनियरिंग टास्क फोर्स (IETF) द्वारा प्रबंधित किया जाता है ।
यह ट्यूटोरियल केवल GMAIL खातों के साथ काम करता है और किसी भी संभावित त्रुटियों से बचने के लिए, यदि आप एक ताजा जीमेल खाते का उपयोग करते हैं तो यह अनुशंसित होगा।
डिफ़ॉल्ट रूप से, Google उपयोगकर्ताओं को अजगर स्क्रिप्ट का उपयोग करके ईमेल भेजने की अनुमति नहीं देता है। इस काम को करने के लिए, हमें खाता सेटिंग में जाकर कुछ कम सुरक्षित ऐप्स को सक्षम करना होगा।
Step1: दाएं कोने पर जाएं और मेरे प्रबंधित अपने Google खाते पर क्लिक करें।
Step2: सिक्योरिटी पर क्लिक करें और “कम सिक्योर ऐप एक्सेस” तक स्क्रॉल करें।
Step3: कम सुरक्षित ऐप सक्षम करें।
Step4: अजगर की स्क्रिप्ट से ईमेल भेजने / प्राप्त करने के लिए अन्य ईमेल आईडी के साथ दोहराएँ।
Step5: आवश्यक पैकेज डाउनलोड करें।
उपयुक्त sudo- मिल स्थापित ssmtp sudo apt-get स्थापित mailutils
यदि आपको कॉपी-पेस्ट करके कमांड चलाने में कोई त्रुटि हो रही है, तो इसे मैन्युअल रूप से टाइप करें।
Step6: सभी पुस्तकालयों की स्थापना हो जाने के बाद, हमें ssmtp.conf फ़ाइल में परिवर्तन करने की आवश्यकता है जहाँ हमें प्रेषक के ईमेल विवरण दर्ज करने हैं
जाने के लिए sudo नैनो /etc/ssmtp/ssmtp.conf
अंत तक स्क्रॉल करें और इसे पेस्ट करें, mailhub = smtp.gmail.com: 587 AuthUser = YourEmailAddress AuthPass = YourEmailPassword UseSTARTTLS = YES UseTLS = YES
मैंने आपके संदर्भ के लिए अपने टर्मिनलों का एक स्क्रीनशॉट भी साझा किया है।
मैंने अपना कनेक्शन बनाने के लिए सिर्फ एक ब्रेडबोर्ड का इस्तेमाल किया, मेरा हार्डवेयर सेट-अप उनके जैसा दिखता है जब MLX90614 और कैमरा जुड़े होते हैं।
पाई के लिए पायथन कोड एमएलएक्स 90614 से तापमान पढ़ें और चित्र के साथ ई-मेल भेजें
अजगर प्रोग्राम सेंसर डेटा को पढ़ने, थ्रेशोल्ड मान के साथ तुलना करने, ईमेल को अधिकृत करने और फिर संलग्न छवि के साथ ईमेल भेजने के लिए सभी आवश्यक संचालन करता है। सबसे पहले, हमें पुस्तकालयों, प्रेषक और रिसीवर ईमेल घोषणा की आवश्यकता होगी। ईमेल smtplib द्वारा भेजा जा सकता है, लेकिन हम सिर्फ यह चाहते हैं कि ईमेल को किसी विषय, निकाय और अन्य अनुलग्नक के साथ व्यवस्थित किया जाए, यह बहुउद्देशीय इंटरनेट मेल एक्सटेंशन (MIME) की मदद से किया जाता है। पूरा कोड इस पृष्ठ के नीचे पाया जा सकता है।
आयात RPi.GPIO के रूप में gpio आयात पिकामीरा आयात समय ईमेल से smtplib। ईमेल से MIMEMultipart आयात MIMEMultipart। ईमेल से MIMEText आयात करें। ईमेल से MIMBext आयात करें।
उसके बाद, हम प्रेषक ईमेल पते, रिसीवर ईमेल पते, ईमेल के विषय, शरीर और अनुलग्नक संदेश को परिभाषित करते हैं।
fromaddr = "[email protected]" # toaddr के अनुसार ईमेल पता बदलें = "[email protected]" मेल = MIMEMultipart () मेल = fromaddr मेल = toaddr मेल = "तापमान मान अलर्ट से अधिक" शरीर = "कृपया संलग्न करें। छवि "
फिर, हम एक फ़ंक्शन बनाते हैं जिसका उपयोग करके हम एक ई-मेल भेज सकते हैं।
def सेंडमेल (डेटा): mail.attach (MIMEText (बॉडी, 'प्लेन')) प्रिंट डेटा डेट = '% s.jpg'% डेटा प्रिंट डेटा अटैचमेंट = ओपन (डेटा, 'आरबी') इमेज = MIMEIfage (अटैचमेंट) ()) अनुलग्नक.close () mail.attach (छवि) सर्वर = smtplib.SMTP ('smtp.gmail.com', 587) server.starttls () server.login (fromaddr, "test12345 @") पाठ = मेल। as_string () server.sendmail (fromaddr, toaddr, टेक्स्ट) server.quit ()
फिर, हम उस छवि को कैप्चर करने के लिए एक फ़ंक्शन बनाते हैं जो ईमेल के माध्यम से भेजा जाता है और छवि को डेटा और समय के साथ संग्रहीत भी करता है।
def Capture_image (): data = time.strftime ("% d_% b_% Y-% H:% M:% S") कैमरा.start_preview () time.sleep (5) प्रिंट डेटा कैमरा। jpg का% डेटा) camera.stop_preview () time.sleep (1) sendMail (डेटा)
फिर, हम PiCamera के साथ कुछ सेटिंग्स बनाते हैं।
कैमरा = पिकामेरा.पाइकेमेरा () कैमरा.ट्रेशन = ० कैमरा.बाउ_मोड = 'ऑटो’कैमरा.ब्राइटनेस = ५५
और अंत में, हमारे पास थोड़ी देर (1) लूप है जो असीम रूप से चलेगा। यह MLX90614 तापमान संवेदक के डेटा को पढ़ेगा और यदि तापमान निर्धारित मान से अधिक हो जाता है, तो कैप्चर_इमेज () फ़ंक्शन को कहा जाता है जो फिर ईमेल द्वारा इमेज कैप्चर भेजने के लिए sendMail (डेटा) फ़ंक्शन को कॉल करता है ।
मापने तापमान और पीआई के साथ मेल अलर्ट भेजना
जब हार्डवेयर और सॉफ्टवेयर तैयार होते हैं, तो बस अपने पाई पर पाइथन कोड (नीचे दें) चलाएं। यह नीचे दिखाए गए अनुसार सेंसर से पढ़े गए तापमान के मूल्य को प्रिंट करेगा।
यदि ऑब्जेक्ट तापमान थ्रेशोल्ड तापमान से अधिक है, तो हमारा अजगर कार्यक्रम कैमरे से एक छवि लेगा, इसे रास्पबेरी पाई पर बचाएगा, और इसे ई-मेल के माध्यम से भी साझा करेगा। रास्पबेरी पाई से भेजा गया एक नमूना ई-मेल नीचे दिखाया गया है।
परियोजना का पूरा काम नीचे दिए गए वीडियो में भी पाया जा सकता है। आशा है कि आपको लेख अच्छा लगा होगा, यदि आपके कोई प्रश्न हैं, तो कृपया उन्हें नीचे टिप्पणी में छोड़ दें या आप अपने प्रश्नों को पोस्ट करने और समुदाय के संपर्क में रहने के लिए हमारे मंचों का भी उपयोग कर सकते हैं।