সুচিপত্র:

DIY ওয়েদার স্টেশন DHT11, BMP180, Nodemcu ব্যবহার করে Arduino IDE দিয়ে Blynk সার্ভারের উপর: 4 টি ধাপ
DIY ওয়েদার স্টেশন DHT11, BMP180, Nodemcu ব্যবহার করে Arduino IDE দিয়ে Blynk সার্ভারের উপর: 4 টি ধাপ

ভিডিও: DIY ওয়েদার স্টেশন DHT11, BMP180, Nodemcu ব্যবহার করে Arduino IDE দিয়ে Blynk সার্ভারের উপর: 4 টি ধাপ

ভিডিও: DIY ওয়েদার স্টেশন DHT11, BMP180, Nodemcu ব্যবহার করে Arduino IDE দিয়ে Blynk সার্ভারের উপর: 4 টি ধাপ
ভিডিও: Arduino Nano, BME280 এবং SSD1306 OLED আবহাওয়া স্টেশন 2024, জুলাই
Anonim
DIY ওয়েদার স্টেশন DHT11, BMP180, Nodemcu ব্যবহার করে Arduino IDE দিয়ে Blynk সার্ভারে
DIY ওয়েদার স্টেশন DHT11, BMP180, Nodemcu ব্যবহার করে Arduino IDE দিয়ে Blynk সার্ভারে
DIY ওয়েদার স্টেশন DHT11, BMP180, Nodemcu ব্যবহার করে Arduino IDE দিয়ে Blynk সার্ভারে
DIY ওয়েদার স্টেশন DHT11, BMP180, Nodemcu ব্যবহার করে Arduino IDE দিয়ে Blynk সার্ভারে
DIY ওয়েদার স্টেশন DHT11, BMP180, Nodemcu ব্যবহার করে Arduino IDE দিয়ে Blynk সার্ভারে
DIY ওয়েদার স্টেশন DHT11, BMP180, Nodemcu ব্যবহার করে Arduino IDE দিয়ে Blynk সার্ভারে
DIY ওয়েদার স্টেশন DHT11, BMP180, Nodemcu ব্যবহার করে Arduino IDE দিয়ে Blynk সার্ভারে
DIY ওয়েদার স্টেশন DHT11, BMP180, Nodemcu ব্যবহার করে Arduino IDE দিয়ে Blynk সার্ভারে

Github: DIY_Weather_Station

Hackster.io: ওয়েদার স্টেশন

আপনি আবহাওয়া অ্যাপ্লিকেশন দেখেছেন? যেমন, যখন আপনি এটি খুলবেন তখন আপনি আবহাওয়া সম্পর্কে জানতে পারবেন যেমন তাপমাত্রা, আর্দ্রতা ইত্যাদি। এই রিডিংগুলি একটি বড় এলাকার গড় মান, তাই আপনি যদি আপনার রুমের সাথে সম্পর্কিত সঠিক পরামিতিগুলি জানতে চান তবে আপনি কেবল এটি করতে পারবেন না আবহাওয়া অ্যাপ্লিকেশনের উপর নির্ভর করুন। এই উদ্দেশ্যে ওয়েদার স্টেশন তৈরির দিকে এগিয়ে যাওয়া যাক যা সাশ্রয়ী, এবং এটি নির্ভরযোগ্য এবং আমাদের সঠিক মূল্য দেয়।

আবহাওয়া কেন্দ্র হল বায়ুমণ্ডলীয় অবস্থা পরিমাপের জন্য যন্ত্রপাতি এবং সরঞ্জাম সহ একটি সুবিধা যা আবহাওয়ার পূর্বাভাসের জন্য তথ্য প্রদান করে এবং আবহাওয়া এবং জলবায়ু অধ্যয়ন করে। এটি প্লাগ এবং কোড করার জন্য সামান্য প্রচেষ্টা প্রয়োজন। চল শুরু করা যাক.

Nodemcu সম্পর্কে:

NodeMCU হল একটি ওপেন সোর্স IoT প্ল্যাটফর্ম।

এর মধ্যে রয়েছে ফার্মওয়্যার যা Espressif সিস্টেম থেকে ESP8266 Wi-Fi SoC তে চলে এবং ESP-12 মডিউলের উপর ভিত্তি করে তৈরি হার্ডওয়্যার।

ডিফল্টভাবে "নোডএমসিইউ" শব্দটি ডেভ কিটের পরিবর্তে ফার্মওয়্যারকে বোঝায়। ফার্মওয়্যার লুয়া স্ক্রিপ্টিং ভাষা ব্যবহার করে। এটি ইলুয়া প্রকল্পের উপর ভিত্তি করে, এবং ESP8266 এর জন্য Espressif Non-OS SDK- তে নির্মিত। এটি অনেক ওপেন সোর্স প্রকল্প ব্যবহার করে, যেমন লুয়া-সিজেসন এবং স্পিফস।

সেন্সর এবং সফটওয়্যারের প্রয়োজনীয়তা:

1. Nodemcu (esp8266-12e v1.0)

2. DHT11

3. BMP180

4. Arduino IDE

ধাপ 1: আপনার সেন্সরগুলি জানুন

আপনার সেন্সরগুলি জানুন
আপনার সেন্সরগুলি জানুন

BMP180:

বর্ণনা:

BMP180 একটি পাইজো-প্রতিরোধী সেন্সর, ডিজিটাল কনভার্টারের একটি এনালগ এবং E2PROM এবং একটি সিরিয়াল I2C ইন্টারফেস সহ একটি নিয়ন্ত্রণ ইউনিট নিয়ে গঠিত। BMP180 চাপ এবং তাপমাত্রার অপূরণীয় মূল্য প্রদান করে। E2PROM 176 বিট পৃথক ক্রমাঙ্কন ডেটা সংরক্ষণ করেছে। এটি অফসেট, তাপমাত্রা নির্ভরতা এবং সেন্সরের অন্যান্য পরামিতিগুলির ক্ষতিপূরণ দিতে ব্যবহৃত হয়।

  • UP = চাপের তথ্য (16 থেকে 19 বিট)
  • UT = তাপমাত্রা তথ্য (16 বিট)

প্রযুক্তিগত বৈশিষ্ট্য:

  • ভিন: 3 থেকে 5VDC
  • যুক্তি: 3 থেকে 5V সঙ্গতিপূর্ণ
  • চাপ সেন্সিং পরিসীমা: 300-1100 এইচপিএ (সমুদ্রপৃষ্ঠ থেকে 9000 মিটার -500 মিটার)
  • 0.03hPa / 0.25m রেজোলিউশন -40 থেকে +85 ° C অপারেশনাল রেঞ্জ, +-2 ° C তাপমাত্রার নির্ভুলতা
  • এই বোর্ড/চিপটি I2C 7-বিট ঠিকানা 0x77 ব্যবহার করে।

DHT11:

বর্ণনা:

  • DHT11 একটি মৌলিক, অতি কম খরচে ডিজিটাল তাপমাত্রা এবং আর্দ্রতা সেন্সর।
  • এটি একটি ক্যাপাসিটিভ আর্দ্রতা সেন্সর এবং আশেপাশের বায়ু পরিমাপের জন্য একটি থার্মিস্টার ব্যবহার করে এবং ডেটা পিনে একটি ডিজিটাল সিগন্যাল বের করে (কোন এনালগ ইনপুট পিনের প্রয়োজন নেই)। এটি ব্যবহার করা মোটামুটি সহজ, কিন্তু ডেটা দখলের জন্য সতর্ক সময় প্রয়োজন।
  • এই সেন্সরের একমাত্র আসল নেতিবাচক দিক হল আপনি প্রতি 2 সেকেন্ডে একবার এটি থেকে নতুন তথ্য পেতে পারেন, তাই আমাদের লাইব্রেরি ব্যবহার করার সময়, সেন্সর রিডিং 2 সেকেন্ড পর্যন্ত পুরানো হতে পারে।

প্রযুক্তিগত বৈশিষ্ট্য:

  • 3 থেকে 5V শক্তি এবং I/O
  • 0-50 ° C তাপমাত্রা রিডিং ± 2 ° C নির্ভুলতার জন্য ভাল
  • 5% নির্ভুলতার সাথে 20-80% আর্দ্রতা রিডিংয়ের জন্য ভাল
  • রূপান্তরের সময় 2.5 এমএ সর্বোচ্চ বর্তমান ব্যবহার (তথ্য অনুরোধ করার সময়)

পদক্ষেপ 2: সংযোগ

সংযোগ
সংযোগ

নডেমকু সহ DHT11:

পিন 1 - 3.3V

পিন 2 - ডি 4

পিন 3 - এনসি

পিন 4 - Gnd

BMP180 Nodemcu সহ:

ভিন - 3.3V

Gnd - Gnd

এসসিএল - ডি 6

SDA - D7

ধাপ 3: Blynk সেটআপ করুন

Image
Image
সেটআপ Blynk
সেটআপ Blynk

Blynk কি?

আরডুইনো, রাস্পবেরি পাই এবং ইন্টারনেটে পছন্দগুলি নিয়ন্ত্রণ করতে ব্লাইঙ্ক আইওএস এবং অ্যান্ড্রয়েড অ্যাপস সহ একটি প্ল্যাটফর্ম।

এটি একটি ডিজিটাল ড্যাশবোর্ড যেখানে আপনি উইজেটগুলি ড্র্যাগ এবং ড্রপ করে আপনার প্রকল্পের জন্য একটি গ্রাফিক ইন্টারফেস তৈরি করতে পারেন। সবকিছু সেট আপ করা সত্যিই সহজ এবং আপনি 5 মিনিটেরও কম সময়ে ঝাঁকুনি শুরু করবেন। Blynk কিছু নির্দিষ্ট বোর্ড বা ieldাল সঙ্গে বাঁধা হয় না। পরিবর্তে, এটি আপনার পছন্দের হার্ডওয়্যার সমর্থন করে। আপনার Arduino বা Raspberry Pi ইন্টারনেটের সাথে Wi-Fi, ইথারনেট বা এই নতুন ESP8266 চিপের সাথে সংযুক্ত হোক না কেন, Blynk আপনাকে অনলাইন এবং আপনার জিনিসগুলির ইন্টারনেটের জন্য প্রস্তুত করবে।

Blynk সেট আপ করার জন্য আরও তথ্যের জন্য: বিস্তারিত Blynk সেটআপ

ধাপ 4: কোড

কোড
কোড

// প্রতিটি লাইনের মন্তব্য নীচের.ino ফাইলে দেওয়া আছে

#অন্তর্ভুক্ত #সংজ্ঞা BLYNK_PRINT সিরিয়াল #অন্তর্ভুক্ত #অন্তর্ভুক্ত #অন্তর্ভুক্ত #অন্তর্ভুক্ত #অন্তর্ভুক্ত #অন্তর্ভুক্ত Adafruit_BMP085 bmp; #ডিফাইন I2C_SCL 12 #ডিফাইন I2C_SDA 13 ফ্লোট dst, bt, bp, ba; char dstmp [20], btmp [20], bprs [20], balt [20]; bool bmp085_present = সত্য; char auth = "Blynk অ্যাপ থেকে আপনার Authication কী এখানে রাখুন"; char ssid = "আপনার ওয়াইফাই SSID"; char pass = "আপনার পাসওয়ার্ড"; #DHTPIN 2 নির্ধারণ করুন #DHTTYPE DHT11 DHT dht (DHTPIN, DHTTYPE) নির্ধারণ করুন; // পিন এবং ধাইটাইপ BlynkTimer টাইমার সংজ্ঞায়িত করা; অকার্যকর সেন্ডসেন্সর () {যদি (! bmp.begin ()) {Serial.println ("একটি বৈধ BMP085 সেন্সর খুঁজে পাওয়া যায়নি, ওয়্যারিং চেক করুন!"); যখন (1) {}} float h = dht.readHumidity (); float t = dht.readTemperature (); যদি (isnan (h) || isnan (t)) {Serial.println ("DHT সেন্সর থেকে পড়তে ব্যর্থ!"); প্রত্যাবর্তন; } ডাবল গামা = লগ (h / 100) + ((17.62*t) / (243.5 + t)); ডাবল ডিপি = 243.5*গামা / (17.62-গামা); float bp = bmp.readPressure ()/100; float ba = bmp.readAltitude (); float bt = bmp.readTemperature (); float dst = bmp.readSealevelPressure ()/100; Blynk.virtualWrite (V5, h); Blynk.virtualWrite (V6, t); Blynk.virtualWrite (V10, bp); Blynk.virtualWrite (V11, ba); Blynk.virtualWrite (V12, bt); Blynk.virtualWrite (V13, dst); Blynk.virtualWrite (V14, dp); } অকার্যকর সেটআপ () {Serial.begin (9600); Blynk.begin (auth, ssid, pass); dht.begin (); Wire.begin (I2C_SDA, I2C_SCL); বিলম্ব (10); timer.setInterval (1000L, sendSensor); } অকার্যকর লুপ () {Blynk.run (); timer.run (); }

প্রস্তাবিত: