विषयसूची:

फैनएयर: आपके कमरे के लिए एक मौसम स्टेशन: 6 कदम (चित्रों के साथ)
फैनएयर: आपके कमरे के लिए एक मौसम स्टेशन: 6 कदम (चित्रों के साथ)

वीडियो: फैनएयर: आपके कमरे के लिए एक मौसम स्टेशन: 6 कदम (चित्रों के साथ)

वीडियो: फैनएयर: आपके कमरे के लिए एक मौसम स्टेशन: 6 कदम (चित्रों के साथ)
वीडियो: Moving Train से बच्चा लिए उतरी महिला के साथ 'चमत्कार'। Munger। Jamalpur Railway Station। CCTV Video 2024, जुलाई
Anonim
फैनएयर: आपके कमरे के लिए एक मौसम स्टेशन
फैनएयर: आपके कमरे के लिए एक मौसम स्टेशन

वर्तमान मौसम का पता लगाने के अनगिनत तरीके हैं, लेकिन तब आप केवल बाहर के मौसम को जानते हैं। क्या होगा यदि आप अपने घर के अंदर, एक विशिष्ट कमरे के अंदर मौसम जानना चाहते हैं? यही मैं इस परियोजना के साथ हल करने का प्रयास करता हूं।

फैनएयर समझने के लिए कई सेंसर का उपयोग करता है:

  • तापमान
  • नमी
  • रोशनी
  • कुछ गैसें
  • हवा का दबाव

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

चरण 1: सभी आवश्यक वस्तुएँ प्राप्त करें

सभी आवश्यक वस्तुएँ प्राप्त करें
सभी आवश्यक वस्तुएँ प्राप्त करें

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

अधिक विशिष्ट वस्तुओं के लिए मैंने यह सामग्री का बिल बनाया है।

  • रास्पबेरी पाई 3 बी
  • MPC3008 - 8-चैनल 10-बिट ADC
  • AM2301 थर्मामीटर तापमान और आर्द्रता सेंसर
  • WR Rademacher WR-tyoe 930-1 PCB
  • प्रोटोटाइप के लिए ABS केस (काला)
  • लीडर
  • MQ135 गैस सेंसर
  • 2x BC517 डार्लिंगटन ट्रांजिस्टर
  • आरजीबी एलईडी
  • प्रतिरोधी पैक
  • बजर
  • तारों
  • BMP280 बैरोमीटर
  • शांत यूएसबी प्रशंसक (5 वी)

कुल मिलाकर इसकी कीमत लगभग € 110 होनी चाहिए। ध्यान रखें कि कुल कीमत एक अनुमान है। इसके अलावा, मेरे प्रोजेक्ट में फोटो में एक एलसीडी स्क्रीन है, लेकिन यह कनेक्ट नहीं है क्योंकि मेरे मामले में पर्याप्त जगह नहीं थी, इसलिए यह निर्देशयोग्य में शामिल नहीं है।

चरण 2: अपना रास्पबेरी पाई तैयार करें

आधिकारिक रास्पबेरी पाई साइट से अपने रास्पियन जेसी को पिक्सेल ऑपरेटिंग सिस्टम के साथ प्राप्त करें और एक बार इसके डाउनलोड होने के बाद इसे अनज़िप करें। आपको एक इमेज फाइल मिलेगी। इसे पीआई पर प्राप्त करने के लिए आपको इसे Win32 डिस्क इमेजर का उपयोग करके एसडी-कार्ड पर लिखना होगा। एक बार यह स्थापित हो जाने के बाद छवि फ़ाइल और उस ड्राइव का चयन करें जिसमें आप एसडी-कार्ड रहते हैं। फिर लिखें दबाएं और समाप्त होने तक प्रतीक्षा करें।

जब यह समाप्त हो जाए तो फ़ाइल एक्सप्लोरर में अपने एसडी-कार्ड पर क्लिक करें और 'cmdline.txt' नामक फ़ाइल खोलें, रूटवेट से ठीक पहले टेक्स्ट फ़ाइल के अंत में जाएं और निश्चित रूप से रिक्त स्थान के साथ 'ip=254.169.10.2' लिखें। इसे सेव करने के बाद आपको विंडो के अंदर कहीं राइट क्लिक करना चाहिए और 'ssh' नाम की एक नई फाइल बनानी चाहिए। ध्यान दें कि इस फ़ाइल में फ़ाइल एक्सटेंशन नहीं है। यह सुनिश्चित करने के लिए कि इसका एक्सटेंशन नहीं है, फाइल एक्सप्लोरर में 'व्यू' पर क्लिक करें और 'हिडन फाइल्स' को चेक करें। यदि यह इसका नाम बदल देता है और एक्सटेंशन को हटा देता है तो यह सिर्फ 'ssh' पढ़ता है।

उसके बाद आप अंत में अपना एसडी-कार्ड रास्पबेरी पाई में डाल सकते हैं। एक ssh क्लाइंट डाउनलोड करें (मैं MobaXterm की सलाह देता हूं)। और ssh का उपयोग करके उस IP से कनेक्ट करें जिसे आपने पहले '254.169.10.2' सेट किया था। उपयोगकर्ता नाम 'pi' है, पासवर्ड 'रास्पबेरी' है। आप चाहें तो टर्मिनल में 'sudo passwd' कमांड टाइप करके और निर्देशों का पालन करके पासवर्ड बदल सकते हैं। चूंकि हम फैनएयर के लिए एसडी-कार्ड के एक अच्छे हिस्से का उपयोग करने जा रहे हैं, इसलिए आपको 'उन्नत विकल्प' चुनकर 'सुडो रैपी-कॉन्फ़िगरेशन' टाइप करके उपलब्ध स्टोरेज का विस्तार करना चाहिए और फिर 'फाइल सिस्टम का विस्तार करें'। यदि पुनः आरंभ करने के लिए कहा जाए।

हम 1-वायर, SPI और I2C इंटरफ़ेस का उपयोग करेंगे। उनका उपयोग करने में सक्षम होने के लिए आपको पहले उन्हें सेट करना होगा!

चरण 3: सब कुछ एक साथ कनेक्ट करें

सब कुछ एक साथ कनेक्ट करें
सब कुछ एक साथ कनेक्ट करें
सब कुछ एक साथ कनेक्ट करें
सब कुछ एक साथ कनेक्ट करें

यह एक सर्किट बनाने का समय है! पहली बार आपको शायद इसे ब्रेडबोर्ड पर आज़माना चाहिए, लेकिन अगर आपके पास इसके लिए समय नहीं है तो आप इसे एक साथ मिलाप करने का प्रयास कर सकते हैं।

आपको जिस सर्किट की आवश्यकता होगी वह ऊपर जैसा दिखता है, सुविधा के लिए एक ब्रेडबोर्ड संस्करण भी शामिल है।

चरण 4: अपना डेटाबेस बनाएं

आपको प्राप्त होने वाले सभी डेटा को कुशलतापूर्वक सहेजने के लिए हम एक TSQL MySQL डेटाबेस का उपयोग करेंगे। MySQL इंस्टाल करने से पहले यह सुनिश्चित करें कि टर्मिनल में कुछ कमांड टाइप करके सब कुछ अप टू डेट है:

  • 'सुडो एपीटी-अपडेट प्राप्त करें'
  • 'सुडो एपीटी-गेट अपग्रेड'
  • 'सुडो एपीटी-गेट डिस्ट-अपग्रेड'

'y' टाइप करके हर प्रॉम्प्ट को स्वीकार करें और एंटर करें।

MySQL प्रकार स्थापित करने के लिए:

  • 'sudo apt-mysql-server इंस्टॉल करें'
  • 'sudo apt-mysql-client स्थापित करें'

संकेत मिलने पर अपनी पसंद का रूट पासवर्ड बनाएं।

इसका उपयोग करके लॉगिन स्थापित करने के बाद:

'mysql -uroot -p'

और अपना पासवर्ड टाइप करना।

My Github से फैनएयर कोड प्राप्त करें! 'क्लोन या डाउनलोड' पर क्लिक करें और फिर 'डाउनलोड ज़िप' पर क्लिक करें। अपनी पसंद के फ़ोल्डर में कोड को अनज़िप करें। पूरी तरह से परिचालन डेटाबेस बनाने की क्वेरी डेटाबेस फ़ोल्डर में है। फ़ाइल खोलें कोड को कॉपी करें और इसे MySQL ओपन के साथ टर्मिनल में पेस्ट करें। फिर एंटर पर क्लिक करें और डेटाबेस हो गया!

चरण 5: कोड के लिए समय

सभी सेंसरों का उपयोग करने के लिए आपको स्पष्ट रूप से एक प्रोग्राम चलाने की आवश्यकता है। सौभाग्य से कोड पहले ही किया जा चुका है (अधिकांश भाग के लिए), और डेटाबेस SQL क्वेरी प्राप्त करते समय हमने इसे पहले ही डाउनलोड कर लिया है।

जैसा कि मैंने कहा कि कार्यक्रम के ठीक से काम करने के लिए कुछ चीजें हैं जिन्हें अभी भी बदलने/जोड़ने की जरूरत है। देशांतर और अक्षांश के आधार पर मौसम डेटा प्राप्त करने के लिए सबसे पहले प्रोग्राम डार्कस्की एपीआई का उपयोग करता है। इसका उपयोग करने के लिए आपको साइन अप करना होगा। पहली 1000 कॉल मुफ्त हैं और बाद में इसकी कीमत $0.0001 प्रति कॉल है। मैंने सुना है कि यदि आप भुगतान नहीं करते हैं तो आपका खाता अवरुद्ध हो जाता है। निष्पक्ष होना $0.0001 प्रति कॉल काफी सस्ता है। फैनएयर हर घंटे सबसे हाल के डेटा को कॉल करता है जिसका मतलब है कि एक साल में अगर इसे फुल टाइम चलाया जाए तो इसकी कीमत आपको केवल $ 0.876 होगी। अगर फैनएयर फुल टाइम चलता है तो आपको 41 दिन फ्री भी मिलते हैं।

एक बार साइन अप करने के बाद अपनी एपीआई कुंजी देखें। Google मानचित्र पर अपने स्थान का देशांतर और अक्षांश देखें या इसे Google पर आज़माएं। Fanair की मूल निर्देशिका (कक्षाओं के साथ, main.py…) के साथ एक नई टेक्स्ट फ़ाइल बनाएँ। फ़ाइल को 'key_location.txt' नाम दें। टेक्स्ट फ़ाइल खोलें और पहली पंक्ति में अपनी डार्कस्की एपीआई कुंजी पेस्ट करें। दूसरी पंक्ति पर अपना देशांतर चिपकाएँ और तीसरी पंक्ति पर अपना अक्षांश (दोनों दशमलव स्वरूप में) चिपकाएँ। जब आप कर लें तो फ़ाइल को सहेजें।

उसी निर्देशिका में 'database_dsn.txt' नामक एक और टेक्स्ट फ़ाइल बनाएं। पहली पंक्ति को 'लोकलहोस्ट' कहना चाहिए। दूसरी पंक्ति 'रूट' है। तीसरी लाइन में आपको अपना पासवर्ड टाइप करना चाहिए जो आपने पहले डेटाबेस के लिए बनाया था, और चौथी और आखिरी लाइन में आपको 'फैनेयर' टाइप करना चाहिए।

Main.py फ़ाइल पर राइट क्लिक करें और संपादित करें चुनें। 'fanair = Fanair(5, 26, 17, 27, 22, 4, "AM2301", 1, 0, 0, 0, "key_location.txt", "database_dsn.txt")' को बदलने की जरूरत है। यदि आपने चित्र का अनुसरण किया है तो पहले 5 मान '5, 26, 17, 27, 22, 4' से '20, 21, 26, 19, 13' में बदल दिए जाने चाहिए। '/home/muhsin/Applications/Fanair' को भी आपके Fanair रूट पाथ (जहाँ main.py है) में बदल देना चाहिए। 'होम' के आगे स्लैश जरूर लगाएं लेकिन 'फनेयर' के बाद नहीं।

अब यह सब बहुत अच्छा है लेकिन कोड को पीआई में लाने की जरूरत है। सौभाग्य से हमारे लिए sftp प्रोटोकॉल मौजूद है। फ़ाइलों को पाई पर रखने के लिए FileZilla जैसे sftp क्लाइंट का उपयोग करें या यदि आपने MobaXterm का उपयोग करने का निर्णय लिया है तो आप टर्मिनल के बाईं ओर sftp इंटरफ़ेस में फ़ाइलों को आसानी से अपलोड कर सकते हैं।

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

और अंतिम लेकिन कम से कम कुछ पुस्तकालयों को स्थापित करने की आवश्यकता है और कुछ इंटरफेस को सक्रिय करने की आवश्यकता है:

'सुडो एपीटी-बिल्ड-आवश्यक पायथन-देव स्थापित करें'

एडफ्रूट डीएचटी:

'pip3 adafruit_python_dht स्थापित करें'

1-तार:

  1. 'सुडो रास्पि-कॉन्फ़िगरेशन'
  2. 'इंटरफेसिंग विकल्प'
  3. '1 तार'
  4. सक्षम
  5. 'सुडो नैनो /boot/config.txt'
  6. इस लाइन को फ़ाइल में जोड़ें: 'dtoverlay=w1-gpio'
  7. 'सुडो रिबूट'

एसपीआई:

  1. 'सुडो रास्पि-कॉन्फ़िगरेशन'
  2. 'इंटरफेसिंग विकल्प'
  3. 'एसपीआई'
  4. सक्षम
  5. 'सुडो रिबूट'
  6. 'सुडो नैनो /boot/config.txt'
  7. 'dtparam=spi=on' सर्च करें और हैशटैग हटाकर इसे अनकम्मेंट करें।
  8. 'sudo apt-get install python3-dev

स्मबस:

  1. 'सुडो रास्पि-कॉन्फ़िगरेशन''
  2. 'इंटरफेसिंग विकल्प'
  3. 'आई2सी'
  4. सक्षम
  5. 'सुडो रिबूट'
  6. 'sudo apt-get install -y python-smbus'
  7. 'sudo apt-get install -y i2c-tools'
  8. 'सुडो नैनो /boot/config.txt'
  9. dtparam=i2c_arm=on खोजें और हैशटैग हटाकर इसे अनकम्मेंट करें।

फ्लास्क

pip3 फ्लास्क स्थापित करें

mysql कनेक्टर

'pip3 इंस्टॉल -Iv mysql-कनेक्टर == 2.1.4'

स्पिदेव

'pip3 py-spidev स्थापित करें'

डार्क स्काय

'पाइप3 डार्कस्काइलिब स्थापित करें'

चरण 6: इसे आज़माएं

यदि आप इसे इतना दूर करने में कामयाब रहे हैं तो अपने आप को पीठ पर टैप करें। फैनएयर को ठीक से काम करने के लिए अब सब कुछ किया जाता है। तो इसका परीक्षण करने के लिए 'cd ""' टाइप करें। फ़ाइल स्थान "/home/pi" है उदाहरण के लिए यदि आपने अभी-अभी अपनी होम निर्देशिका में चिपकाया है। फिर 'python3 main.py' टाइप करें और इसे 15 मिनट के लिए आराम करने दें ताकि पूरा होने पर डेटाबेस में डेटा हो। इसके बाद 'ctrl + c' स्टॉप स्टॉप प्रोग्राम दबाएं और 'python3 Flask.py' टाइप करें। यह देखने के लिए कि आपकी वेबसाइट काम करती है या नहीं, आपको अपने पाई के आईपी पते पर सर्फ करने की जरूरत है जिसे आपने इसके बाद ':5000' के साथ बनाया था (जैसे: 169.254.10.1:5000')।

बूट के बाद इसे स्वचालित रूप से चलाने के लिए:

'सुडो नैनो /etc/rc.local'

फ़ाइल के अंत में लेकिन बाहर निकलने से पहले 0:

'सुडो पायथन 3 "/main.py" और'

'sudo python3 "/flask.py" और'

बधाई हो अब आपकी स्क्रिप्ट स्टार्टअप से चलनी चाहिए और आपका काम हो गया! यदि आप परियोजना को चालू रखने की योजना बना रहे हैं और पहले से ही मैं आपको सब कुछ एक साथ मिलाप करने का सुझाव नहीं दूंगा, तो बस यह सुनिश्चित करने के लिए कि सब कुछ ठीक रहे। यद्यपि यदि आप इसे ज्यादा इधर-उधर घुमाने के लिए नहीं खेलते हैं तो एक ब्रेडबोर्ड भी निश्चित रूप से काम करता है।

सिफारिश की: