विषयसूची:

वेदर स्टेशन पायथॉन में रास्पबेरी पाई के साथ बीएमई२८० का उपयोग कर रहा है: ६ कदम
वेदर स्टेशन पायथॉन में रास्पबेरी पाई के साथ बीएमई२८० का उपयोग कर रहा है: ६ कदम

वीडियो: वेदर स्टेशन पायथॉन में रास्पबेरी पाई के साथ बीएमई२८० का उपयोग कर रहा है: ६ कदम

वीडियो: वेदर स्टेशन पायथॉन में रास्पबेरी पाई के साथ बीएमई२८० का उपयोग कर रहा है: ६ कदम
वीडियो: Raspberry Pi IoT Weather Station #shorts 2024, जुलाई
Anonim
Image
Image
अनिवार्य उपकरण विधेयक
अनिवार्य उपकरण विधेयक

is maith an scéalaí an targetir(The Weather is a Good Storyteller)

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

चरण 1: अनिवार्य उपकरण विधेयक

अनिवार्य उपकरण विधेयक
अनिवार्य उपकरण विधेयक
अनिवार्य उपकरण विधेयक
अनिवार्य उपकरण विधेयक
अनिवार्य उपकरण विधेयक
अनिवार्य उपकरण विधेयक

1. एक रास्पबेरी पाई

रास्पबेरी पाई बोर्ड पर अपना हाथ रखें। रास्पबेरी पाई एक लिनक्स संचालित सिंगल बोर्ड कंप्यूटर है। रास्पबेरी पाई वास्तव में सस्ता, छोटा और बहुमुखी है जो शिक्षार्थियों के लिए प्रोग्रामिंग और सॉफ्टवेयर विकास की बुनियादी बातों का अभ्यास करने के लिए एक सुलभ और कार्यात्मक कंप्यूटर से बना है।

2. रास्पबेरी पाई के लिए I2C शील्ड

INPI2(I2C अडैप्टर) कई I2C उपकरणों के साथ उपयोग के लिए रास्पबेरी पाई 2/3 एक I²C पोर्ट प्रदान करता है। यह DCUBE स्टोर पर उपलब्ध है।

3. डिजिटल आर्द्रता, दबाव और तापमान सेंसर, BME280

BME280 एक आर्द्रता, दबाव और तापमान सेंसर है जिसमें तेजी से प्रतिक्रिया समय और उच्च समग्र सटीकता है। हमने यह सेंसर DCUBE स्टोर से खरीदा है।

4. I2C कनेक्टिंग केबल

हमने यहां DCUBE स्टोर पर उपलब्ध I²C केबल का इस्तेमाल किया।

5. माइक्रो यूएसबी केबल

रास्पबेरी पाई को पावर देने के लिए माइक्रो यूएसबी केबल बिजली की आपूर्ति एक आदर्श विकल्प है।

६. ईथरनेट केबल/वाईफाई अडैप्टर के माध्यम से इंटरनेट एक्सेस की व्याख्या करें

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

7. एचडीएमआई केबल (डिस्प्ले और कनेक्टिविटी केबल)

कोई भी एचडीएमआई/डीवीआई मॉनिटर और किसी भी टीवी को पीआई के लिए डिस्प्ले के रूप में काम करना चाहिए। वैकल्पिक रूप से, आप मॉनिटर (केवल उन्नत उपयोगकर्ता) की आवश्यकता को नकारते हुए SSH के माध्यम से Pi को दूरस्थ रूप से एक्सेस कर सकते हैं।

चरण 2: सर्किट के लिए हार्डवेयर कनेक्शन

सर्किट के लिए हार्डवेयर कनेक्शन
सर्किट के लिए हार्डवेयर कनेक्शन
सर्किट के लिए हार्डवेयर कनेक्शन
सर्किट के लिए हार्डवेयर कनेक्शन

दिखाए गए योजनाबद्ध के अनुसार सर्किट बनाएं। सामान्य तौर पर, कनेक्शन बहुत सरल होते हैं। शांत रहें और ऊपर दिए गए निर्देशों और छवियों का पालन करें, और आपको कोई समस्या नहीं होनी चाहिए। सीखते समय, हमने हार्डवेयर और सॉफ्टवेयर ज्ञान के संबंध में इलेक्ट्रॉनिक्स की मूल बातें अच्छी तरह से प्राप्त कीं। हम इस परियोजना के लिए एक साधारण इलेक्ट्रॉनिक योजना बनाना चाहते थे। इलेक्ट्रॉनिक योजनाबद्ध ब्लूप्रिंट की तरह हैं। एक खाका तैयार करें और डिजाइन का ध्यानपूर्वक पालन करें। इलेक्ट्रॉनिक्स की कुछ बुनियादी अवधारणाएँ यहाँ उपयोगी हो सकती हैं!

रास्पबेरी पाई और I2C शील्ड का कनेक्शन

सबसे पहले, रास्पबेरी पाई लें और उस पर I²C शील्ड लगाएं। शील्ड को धीरे से दबाएं और हम इस चरण के साथ पाई के रूप में आसान हैं (तस्वीर देखें)।

सेंसर और रास्पबेरी पाई का कनेक्शन

सेंसर लें और इसके साथ I²C केबल कनेक्ट करें। सुनिश्चित करें कि I²C आउटपुट हमेशा I²C इनपुट से कनेक्ट होता है। रास्पबेरी पाई के लिए उसी का पालन करना होगा, जिसके ऊपर GPIO पिन लगे I²C शील्ड के साथ। हम I²C केबल्स के उपयोग की सलाह देते हैं क्योंकि यह पिनआउट, सोल्डरिंग और यहां तक कि थोड़ी सी भी स्लिप-अप के कारण होने वाली अस्वस्थता को पढ़ने की आवश्यकता को नकारता है।. इस साधारण प्लग एंड प्ले केबल के साथ, आप आसानी से किसी एप्लिकेशन में बोर्ड स्थापित कर सकते हैं, स्वैप आउट कर सकते हैं या अधिक बोर्ड जोड़ सकते हैं।

नोट: भूरे रंग के तार को हमेशा एक डिवाइस के आउटपुट और दूसरे डिवाइस के इनपुट के बीच ग्राउंड (जीएनडी) कनेक्शन का पालन करना चाहिए।

इंटरनेट कनेक्टिविटी महत्वपूर्ण है

यहां आपके पास दो विकल्प हैं। या तो आप रास्पबेरी पाई को ईथरनेट केबल का उपयोग करके नेटवर्क से कनेक्ट कर सकते हैं या वाईफाई कनेक्टिविटी के लिए यूएसबी से वाईफाई एडेप्टर का उपयोग कर सकते हैं। किसी भी तरह, जब तक यह इंटरनेट से जुड़ा है, तब तक आप कवर हैं।

सर्किट को शक्ति देना

माइक्रो यूएसबी केबल को रास्पबेरी पाई के पावर जैक में प्लग करें। पंच अप और वॉयला! हमारा दस्ता सूचना है।

स्क्रीन से कनेक्शन

हम एचडीएमआई केबल को मॉनिटर या टीवी से कनेक्ट कर सकते हैं। इसके अतिरिक्त, हम रास्पबेरी पाई को रिमोट एक्सेस का उपयोग करके मॉनिटर से कनेक्ट किए बिना एक्सेस कर सकते हैं। SSH सुरक्षित रिमोट एक्सेस के लिए एक उपयोगी उपकरण है। इसके लिए आप पुट्टी सॉफ्टवेयर का भी इस्तेमाल कर सकते हैं। यह विकल्प उन्नत उपयोगकर्ताओं के लिए है इसलिए हम इसे यहां विस्तार से कवर नहीं करेंगे।

यदि आप ज्यादा खर्च नहीं करना चाहते हैं तो यह एक किफायती तरीका है।

चरण 3: पायथन में रास्पबेरी पाई प्रोग्रामिंग

पायथन में रास्पबेरी पाई प्रोग्रामिंग
पायथन में रास्पबेरी पाई प्रोग्रामिंग

रास्पबेरी पाई और BME280 सेंसर के लिए पायथन कोड। यह हमारे Github रिपॉजिटरी में उपलब्ध है।

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

कोड स्पष्ट रूप से आपके सामने है और यह सबसे सरल रूप में है जिसकी आप कल्पना कर सकते हैं और आपको कोई समस्या नहीं होनी चाहिए। फिर भी पूछें कि क्या कोई है (भले ही आप एक हजार चीजें जानते हों, फिर भी किसी ऐसे व्यक्ति से पूछें जो जानता हो)।

आप इस सेंसर के लिए काम कर रहे पायथन कोड को यहां से भी कॉपी कर सकते हैं।

# एक फ्री-विल लाइसेंस के साथ वितरित। # इसे किसी भी तरह से उपयोग करें, लाभ या मुफ्त, बशर्ते यह इसके संबंधित कार्यों के लाइसेंस में फिट बैठता है। # BME280 # यह कोड Controleverything.com से उपलब्ध BME280_I2CS I2C मिनी मॉड्यूल के साथ काम करने के लिए डिज़ाइन किया गया है। #

आयात smbus

आयात समय

# I2C बस प्राप्त करें

बस = smbus. SMBus(1)

# बीएमई280 पता, 0x76(118)

# 0x88 (136), 24 बाइट्स b1 = bus.read_i2c_block_data (0x76, 0x88, 24) से डेटा वापस पढ़ें

# डेटा कनवर्ट करें

# अस्थायी गुणांक dig_T1 = b1[1] * 256 + b1[0] dig_T2 = b1[3] * 256 + b1[2] अगर dig_T2 > 32767: dig_T2 - = 65536 dig_T3 = b1[5] * 256 + b1[4] अगर dig_T3 > ३२७६७: dig_T3 -= ६५५३६

# दबाव गुणांक

dig_P1 = b1 [7] * 256 + b1 [6] dig_P2 = b1 [9] * 256 + b1 [8] अगर dig_P2> 32767: dig_P2 - = 65536 dig_P3 = b1 [11] * 256 + b1 [10] अगर dig_P3 > ३२७६७: डिग_पी३ - = ६५५३६ डिग_पी४ = बी१ [१३] * २५६ + बी१ [१२] अगर डिग_पी४> ३२७६७: डिग_पी४ - = ६५५३६ डिग_पी ५ = बी १ [१५] * २५६ + बी १ [१४] अगर डिग_पी ५> ३२७६७: डिग_पी ५ - = ६५५३६ डिग_पी६ = बी१ [१७] * २५६ + बी१ [१६] अगर डिग_पी६> ३२७६७: डिग_पी६ - = ६५५३६ डिग_पी७ = बी१ [१९] * २५६ + बी१ [१८] अगर डिग_पी ७> ३२७६७: डिग_पी७ - = ६५५३६ डिग_पी८ = बी१ [२१] * 256 + b1 [20] अगर dig_P8> 32767: dig_P8 - = 65536 dig_P9 = b1 [23] * 256 + b1 [22] अगर dig_P9> 32767: dig_P9 - = 65536

# बीएमई280 पता, 0x76(118)

# 0xA1(161), 1 बाइट dig_H1 = bus.read_byte_data (0x76, 0xA1) से डेटा वापस पढ़ें

# बीएमई280 पता, 0x76(118)

# 0xE1 (225), 7 बाइट्स b1 = bus.read_i2c_block_data (0x76, 0xE1, 7) से डेटा वापस पढ़ें

# डेटा कनवर्ट करें

# आर्द्रता गुणांक dig_H2 = b1[1] * 256 + b1[0] अगर dig_H2 > 32767: dig_H2 - = 65536 dig_H3 = (b1[2] और 0xFF) dig_H4 = (b1[3] * 16) + (b1[4] और 0xF) अगर dig_H4> 32767: dig_H4 - = 65536 डिग_H5 = (b1 [4] / 16) + (b1 [5] * 16) अगर dig_H5> 32767: dig_H5 - = 65536 dig_H6 = b1 [6] अगर dig_H6> १२७: dig_H6 -= २५६

# बीएमई280 पता, 0x76(118)

# कंट्रोल ह्यूमिडिटी रजिस्टर चुनें, 0xF2(242) # 0x01(01) ह्यूमिडिटी ओवरसैंपलिंग = 1 बस.राइट_बाइट_डेटा (0x76, 0xF2, 0x01) # BME280 एड्रेस, 0x76 (118) # कंट्रोल मेजरमेंट रजिस्टर चुनें, 0xF4(244) # 0x27(39) दबाव और तापमान ओवरसैंपलिंग दर = 1 # सामान्य मोड बस। राइट_बाइट_डेटा (0x76, 0xF4, 0x27) # BME280 पता, 0x76 (118) # कॉन्फ़िगरेशन रजिस्टर चुनें, 0xF5 (245) # 0xA0 (00) स्टैंडबाय टाइम = 1000 एमएस बस.write_byte_data(0x76, 0xF5, 0xA0)

समय सो जाओ (0.5)

# बीएमई280 पता, 0x76(118)

# 0xF7 (247), 8 बाइट्स से डेटा वापस पढ़ें # दबाव MSB, दबाव LSB, दबाव xLSB, तापमान MSB, तापमान LSB # तापमान xLSB, आर्द्रता MSB, आर्द्रता LSB डेटा = बस.read_i2c_block_data (0x76, 0xF7, 8)

# दबाव और तापमान डेटा को 19-बिट्स में बदलें

adc_p = ((डेटा [0] * 65536) + (डेटा [1] * 256) + (डेटा [2] और 0xF0)) / 16 adc_t = ((डेटा [3] * 65536) + (डेटा [4] * 256) + (डेटा [5] और 0xF0)) / 16

# आर्द्रता डेटा परिवर्तित करें

adc_h = डेटा [6] * 256 + डेटा [7]

# तापमान ऑफसेट गणना

var1 = ((adc_t) / 16384.0 - (dig_T1) / 1024.0) * (dig_T2) var2 = (((adc_t) / 131072.0 - (dig_T1) / 8192.0) * ((adc_t)/131072.0 - (dig_T1)/8192.0)) * (dig_T3) t_fine = (var1 + var2) cTemp = (var1 + var2) / 5120.0 fTemp = cTemp * 1.8 + 32

# दबाव ऑफसेट गणना

var1 = (t_fine / 2.0) - 64000.0 var2 = var1 * var1 * (dig_P6) / 32768.0 var2 = var2 + var1 * (dig_P5) * 2.0 var2 = (var2 / 4.0) + ((dig_P4) * 65536.0) var1 = ((dig_P3) * var1 * var1 / 524288.0 + (dig_P2) * var1) / 524288.0 var1 = (1.0 + var1 / 32768.0) * (dig_P1) p = 1048576.0 - adc_p p = (p - (var2 / 4096.0)) * 6250.0 / var1 var1 = (dig_P9) * p * p / २१४७४८३६४८.० var2 = p * (dig_P8) / ३२७६८.० दबाव = (p + (var1 + var2 + (dig_P7)) / १६.०) / १००

# आर्द्रता ऑफसेट गणना

var_H = ((t_fine) - 76800.0) var_H = (adc_h - (dig_H4 * 64.0 + dig_H5 / 16384.0 * var_H)) * (dig_H2 / 65536.0 * (1.0 + dig_H6 / 6710 * var_10884.0 * var_H_ (1.0 + खुदाई))) आर्द्रता = var_H * (1.0 - dig_H1 * var_H / 524288.0) यदि आर्द्रता> 100.0: आर्द्रता = 100.0 एलिफ आर्द्रता <0.0: आर्द्रता = 0.0

# स्क्रीन पर आउटपुट डेटा

प्रिंट "सेल्सियस में तापमान:%.2f C"% cTemp प्रिंट "फ़ारेनहाइट में तापमान:%.2f F"% fTemp प्रिंट "दबाव:%.2f hPa"% दबाव प्रिंट "सापेक्ष आर्द्रता:%.2f%%"% आर्द्रता

चरण 4: रनिंग कोड

रनिंग कोड
रनिंग कोड

अब, कोड डाउनलोड (या git pull) करें और इसे रास्पबेरी पाई में खोलें।

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

चरण 5: व्यावहारिक दुनिया में उपयोग

BME280 आर्द्रता और दबाव माप की आवश्यकता वाले सभी अनुप्रयोगों में उच्च प्रदर्शन प्राप्त करता है। ये उभरते हुए अनुप्रयोग संदर्भ जागरूकता हैं, उदा। स्किन डिटेक्शन, रूम चेंज डिटेक्शन, फिटनेस मॉनिटरिंग / वेलबीइंग, ड्राईनेस या हाई टेम्परेचर के बारे में चेतावनी, वॉल्यूम और एयर फ्लो का मापन, होम ऑटोमेशन कंट्रोल, कंट्रोल हीटिंग, वेंटिलेशन, एयर कंडीशनिंग (HVAC), इंटरनेट ऑफ थिंग्स (IoT), जीपीएस एन्हांसमेंट (जैसे टाइम-टू-फर्स्ट-फिक्स इंप्रूवमेंट, डेड रेकनिंग, स्लोप डिटेक्शन), इंडोर नेविगेशन (फ्लोर डिटेक्शन, एलेवेटर डिटेक्शन में बदलाव), आउटडोर नेविगेशन, लीजर एंड स्पोर्ट्स एप्लीकेशन, वेदर फोरकास्ट और वर्टिकल वेलोसिटी इंडिकेशन (राइज / सिंक) गति)।

चरण 6: निष्कर्ष

आशा है कि यह परियोजना आगे के प्रयोग को प्रेरित करेगी। अधिक परिष्कृत मौसम स्टेशन बनाने में रेन गेज, लाइट सेंसर, एनीमोमीटर (हवा की गति) आदि जैसे कुछ और सेंसर शामिल हो सकते हैं। आप उन्हें जोड़ सकते हैं और कोड में संशोधन कर सकते हैं। हमारे पास YouTube पर एक वीडियो ट्यूटोरियल है जिसमें Rasp Pi के साथ I²C सेंसर की बुनियादी कार्यप्रणाली है। I²C संचार के परिणामों और कार्यप्रणाली को देखना वाकई आश्चर्यजनक है। इसे भी देखें।निर्माण और सीखने का मज़ा लें! कृपया हमें बताएं कि आप इस निर्देश के बारे में क्या सोचते हैं। यदि आवश्यक हो तो हम कुछ सुधार करना पसंद करेंगे।

सिफारिश की: