ایستگاه هواشناسی Wifi خورشیدی

SOLAR POWERED WIFI WEATHER STATION

Printer 3D file format: STL

جزئیات بیشتر

اطلاعات بیشتر

Printer 3D file format: STL

.برداشت از وبسایت خوب ساختنی

قطعه اصلی ایستگاه هواشناسی خانگی برد ویموس (Wemos D1 Mini Pro) است که با سایز کوچک و تنوع شیلد بالا یکی از بهترین ابزارها برای ساخت پروژه های اینترنت اشیا محسوب می شود. این برد توسعه با آردوینو سازگار است و اگر برنامه نویسی آردوینو را بلد باشید، می توانید به راحتی با آن کار کنید.

قابلیت ها و ویژگی های اصلی ایستگاه هواشناسی خانگی عبارتند از:

  • ایستگاه می تواند درجه حرارت، رطوبت، فشار هوا و ارتفاع را اندازه بگیرد.
  • امکان مانیتور داده ها از گوشی هوشمند یا از طریق وب وجود دارد 
  • مدار و منبع تغذیه در بدنه پرینت شده قرار می گیرند.
  • محدوده کارکرد دستگاه با استفاده از آنتن خارجی ۳dBi تقویت شده و تا صد متر می رسد.

گام اول: وسایل مورد نیاز

  • برد توسعه Wemos D1 Mini Pro
  • برد شارژ TP 4056
  • دیود ۱N4007 یا دیود اسکاتی ولتاژ پایین
  • سنسور BME 280
  • پنل خورشیدی
  • برد سوراخ شده
  • ترمینال پیچی
  • استندآف PCB
  • باتری لیتیوم یونی
  • هولدر باتری AA
  • سیم سایز ۲۲ AWG
  • چسب قطره ای
  • چسب بسته بندی
  • فیلامنت PLA برای پرینتر سه بعدی

ابزار مورد نیاز

گام دوم: منبع تغذیه

این ایستگاه هواشناسی برای استفاده مستقل در فضاهای خارجی طراحی شده است. برای اینکه ایستگاه به طور مداوم کار کند به یک منبع تغذیه پایدار هم نیاز داریم. بهترین گزینه در چنین شرایطی استفاده از باتری به همراه پنل های خورشیدی است. به این ترتیب دیگر نیاز به شارژ مداوم باتری نخواهید داشت و باتری به صورت خودکار با انرژی خورشیدی شارژ می شود.

پس یک مدار شارژ خورشیدی به باتری اضافه می کنیم تا برد ویموس تغذیه بشود. ما از باتری ۱۴۴۵۰ به جای نمونه رایج ۱۸۶۵۰ استفاده کردیم چون سایز کوچک تری دارد (به اندازه یک باتری AA). برای شارژ این باتری با پنل های خورشیدی از ماژول شارژ TP4056 استفاده می کنیم. این ماژول در دو نوع با/بدون تراشه محافظت از باتری ارائه می شود که توصیه می کنیم ماژول دارای تراشه محافظ باتری را بخرید.

شارژر باتری TP4056 برای شارژ سلول های باتری لیتیوم پلیمتری تکی ۳٫۷Z 1A یا بالاتر مناسب است. این ماژول جریان شارژ ۱۰۰۰ mA ارائه می کند و بعد از پر شدن باتری جریان بلافاصله متوقف می شود. در ضمن وقتی ولتاژ باتری به کمتر از ۲٫۴V برسد، آی سی محافظ جریان را قطع می کند و باتری را در مقابل تخلیه بیش از حد محافظت می کند.

گام سوم: اندازه گیری داده های هواشناسی

قبلا برای اندازه گیری پارامترهای هواشناسی مثل درجه حرارت، رطوبت و فشار بیومتریک از ابزارهای آنالوگ جداگانه مثل دماسنج، رطوبت سنج و فشارسنج استفاده می شد. اما امروزه بازار پر از سنسورهای دیجیتالی است که می توانند همه این پارامترها را اندازه بگیرند. بهترین و رایج ترین نمونه های موجود در بازار سنسورهای DHT11، DHT22، BMP180 و BMP280 هستند. در این پروژه از سنسور BMP280 استفاده خواهیم کرد.

BMP280 یک سنسور پیچیده و قدرتمند است که فشار بیومتریک و دمای هوا را با دقت بسیار بالایی اندازه می گیرد. یکی از مهمترین مزایای این سنسور استفاده از دو روش های ارتباطی I2C یا SPI برای ارتباط با میکروکنترلر است. ما برای ساده تر شدن سیم کشی و طراحی مدار از روش ارتباطی I2C استفاده می کنیم.

گام چهارم: استفاده از آنتن خارجی

برد Wemos D1 mini Pro یک آنتن سرامیکی داخلی دارد اما می توانید یک آنتن خارجی هم به آن وصل کنید. مزیت اضافه کردن آنتن خارجی، افزایش دامنه برد ویموس است. اگر می خواهید آنتن خارجی به برد اضافه کنید، باید سیگنال آنتن را از آنتن سرامیک داخلی به سوکت خارجی تغییر بدهید. برای اینکار باید مقاومت صفر روی برد را بچرخانید. سپس می توانید کانکتور SMA آنتن خارجی را به سوکت آنتن برد ویموس وصل کنید.

گام پنجم: هدرها را لحیم کنید

برد ویموس هدرهای مختلفی دارد اما شما باید هدرها را متناسب با نیازهای پروژه تان انتخاب کنید. برای ساخت ایستگاه هواشناسی خانگی باید هدرهای زیر را لحیم کنید:

  1. دو هدر نر را به برد ویموس لحیم کنید.
  2. یک هدر نر چهار پین را به سنسور BMP 280 لحیم کنید.

بعد از لحیم کردن هدرها، ماژول شبیه تصویر آخر خواهد بود.

گام ششم: هدرها و ترمینال ها را اضافه کنید

حالا باید هدرها را به برد مدار لحیم کنید که به ترتیب زیر انجام می شود:

  1. ابتدا ویموس را روی برد مدار قرار بدهید و دو طرفش را علامت بگذارید. سپس دو ردیف هدر ماده روی علامت ها لحیم کنید.
  2. سپس یک هدر نر چهار پین را مطابق تصویر روی برد لحیم کنید.
  3. یک ترمینال پیچی هم برای اتصالات باتری لحیم کنید.

گام هفتم: ماژول شارژ را نصب کنید

یک تکه نوار چسب دوطرفه پشت ماژول شارژ بچسبانید و آن را روی برد و در محل مشخص شده بچسبانید. ماژول شارژ را طوری روی برد قرار بدهید که سوراخ های لحیم کاری با سوراخ های برد تراز باشند.

حالا باید ترمینال های پنل های خورشیدی را اضافه کنید. یک ترمینال پیچی نزدیک پورت میکرو USB ماژول شارژ لحیم کنید.

گام هشتم: دیاگرام سیم کشی

ابتدا چند تکه سیم با رنگ های مختلف ببرید و دو سر همه سیم ها را لخت کنید. سپس سیم ها را طبق دیاگرام بالا لحیم کنید و قطعات را با آنها به یکدیگر وصل کنید.

اتصال برد ویموس به سنسور BME 280

  • ۳٫۳V به Vin
  • GND به GND
  • D1 به SCL
  • D2 به SDA

ماژول شارژ TP4056

  • ترمینال پنل خورشیدی به + و – نزدیک پورت میکرو USB
  • ترمینال باتری به B+ و B-
  • ۵V و GND ویموس به Out+ و Out-

گام نهم: بدنه را طراحی کنید

بدنه ایستگاه هواشناسی خانگی با نرم افزار Fusion 360 طراحی شده و از دو قطعه اصلی بدنه اصلی و کاور جلویی تشکیل می شود. این بدنه طوری طراحی شده که برد ۵۰ در ۷۰ میلیمتری، هولدر باتری AA، پنل خورشیدی ۸۵.۵ در ۵۸.۵ در ۳ میلیمتری و آنتن را در خودش جا بدهید.

می توانید فایل های STL طراحی بدنه را از اینجا دانلود کنید.

گام دهم: اجزای بدنه را پرینت کنید

پرینت اجزای بدنه با پرینتر سه بعدی Anet A8 و فیلامنت ۱.۷۵ میلیمتری حدود یازده ساعت طول می کشد. البته استفاده از پرینترهای بهتر سرعت کار را افزایش می دهد. اگر به پرینتر سه بعدی دسترسی ندارید می توانید بدنه را به روش های دیگر بسازید یا پرینت آن را به شرکت های ارائه دهنده خدمات پرینت سه بعدی بسپارید.

ما از تنظیمات زیر برای پرینت قطعات استفاده کردیم:

Print Speed : 40 mm/s

Layer Height : 0.2

Fill Density : 15%

Extruder Temperature : 195 degC

Bed Temp : 55 degCr

گام یازدهم: پنل خورشیدی و باتری را نصب کنید

یک سیم قرمز به ترمینال مثبت و یک سیم مشکی به ترمینال منفی پنل خورشیدی لحیم کنید. این سیم ها را از سوراخ های روی سقف بدنه رد کنید. حالا پنل خورشیدی را با چسب قطره ای به بدنه بچسبانید و چند ثانیه آن را با دست نگه دارید تا سفت بشود. سوراخ ها را هم از داخل با چسب حرارتی بپوشانید.

در نهایت هم هولدر باتری را در شیار پایین بدنه قرار بدهید.

گام دوازدهم: آنتن را نصب کنید

مهره ها و واشر کانکتور SMA را باز کنید و آن را در سوراخ تعبیه شده روی بدنه قرار بدهید‌ (به تصاویر دقت کنید). حالا مهره ها و واشر را به کانکتور وصل کنید و آنتن را روی کانکتور تراز کنید تا سرجایش ثابت بشود.

گام سیزدهم: برد مدار را نصب کنید

به چهار گوشه برد مدار استندآف وصل کنید و به چهار شیار داخل بدنه چسب قطره ای بزنید. استندآف ها را روی شیارها تراز کنید و برد مدار چاپی را کمی فشار بدهید تا داخل بدنه ثابت بشود.

گام چهاردهم: کاور جلویی را ببندید

ابتدا کاور جلویی را روی بدنه تست کنید و اگر خوب سرجایش قرار نمی گیرد، لبه هایش را کمی سنباده بکشید. سپس کاور را روی شیارهای جلوی بدنه بلغزانید و برای ثابت کردنش در قسمت پایین از چسب بسته بندی استفاده کنید.

گام پانزدهم: برد ویموس را برنامه ریزی کنید

برای استفاده از برد ویموس به همراه کتابخانه آردوینو باید از نرم افزار Arduino IDE با قابلیت پشتیبانی از برد ESP8266 استفاده کنید. اگر با این نرم افزار آشنایی ندارید، این آموزش را بخوانید.

ابتدا تنظیمات زیر را روی نرم افزار اعمال کنید:

PU Frequency: 80MHz 160MHz

Flash Size: 4M (3M SPIFFS) – ۳M File system size 4M (1M SPIFFS) – ۱M File system size

Upload Speed: 921600 bps

بعد از تنظیم نرم افزار می توانید برنامه ریزی ویموس را شروع کنید. ابتدا باید کدهای برنامه Blynk را آپلود کنید:

#define BLYNK_PRINT Serial    // Comment this out to disable prints and save space<br>#include < ESP8266WiFi.h>
#include  <BlynkSimpleEsp8266.h ></p><p>
#include "Seeed_BME280.h"
#include < Wire.h>
BME280 bme280;
// You should get Auth Token in the Blynk App.
// Go to the Project Settings (nut icon).
char auth[] = "3df5f636c7dc464a457a32e382c4796xx";// Your WiFi credentials.
// Set password to "" for open networks.
char ssid[] = "SSID";
char pass[] = "PASS WORD";
void setup()
{
  Serial.begin(9600);
  Blynk.begin(auth, ssid, pass);
  Serial.begin(9600);
  if(!bme280.init()){
  Serial.println("Device error!");
  }
}

void loop()
{
  Blynk.run();
  
  //get and print temperatures
  float temp = bme280.getTemperature();
  Serial.print("Temp: ");
  Serial.print(temp);
  Serial.println("C");//The unit for  Celsius because original arduino don't support speical symbols
  Blynk.virtualWrite(0, temp); // virtual pin 0
  Blynk.virtualWrite(4, temp); // virtual pin 4
  //get and print atmospheric pressure data
  float pressure = bme280.getPressure(); // pressure in Pa
  float p = pressure/100.0 ; // pressure in hPa
  Serial.print("Pressure: ");
  Serial.print(p);
  Serial.println("hPa");
  Blynk.virtualWrite(1, p); // virtual pin 1
  //get and print altitude data
  float altitude = bme280.calcAltitude(pressure);
  Serial.print("Altitude: ");
  Serial.print(altitude);
  Serial.println("m");
  Blynk.virtualWrite(2, altitude); // virtual pin 2  //get and print humidity data
  float humidity = bme280.getHumidity();
  Serial.print("Humidity: ");
  Serial.print(humidity);
  Serial.println("%");
  Blynk.virtualWrite(3, humidity); // virtual pin 3
  ESP.deepSleep(5 * 60 * 1000000); // deepSleep time is defined in microseconds.
}

اگر می خواهید در مصرف انرژی ایستگاه هواشناسی خانگی صرفه جویی بشود باید حالت Sleep را فعال کنید. پین D0 برد ویموس را به پین ریست وصل کنید. یکی دیگر از راه های صرفه جویی در انرژی هم جدا کردن LED برد ویموس است. این LED فقط روشن بودن برد را نشان می دهد و کارایی دیگری ندارد. بنابراین با جدا کردن آن نه تنها چیزی را از دست نمی دهید بلکه باتری لیتیوم یونی کارایی بیشتری خواهد داشت.

گام شانزدهم: برنامه Blynk و کتابخانه را نصب کنید

Blynk یک برنامه موبایل است که امکان کنترل کامل میکروکنترلرهایی مثل آردوینو، رزبری پای، اینتل ادیسون و … را فراهم می کند. این برنامه با هر دو سیستم عامل اندروید و IOS سازگار است و به صورت رایگان عرضه می شود. بعد دانلود برنامه آن را روی گوشی هوشمندتان نصب کنید. وقتی برای اولین بار وارد برنامه می شوید، باید ثبت نام کنید.

بعد از ثبت نام می توانید ساخت پروژه جدید را شروع کنید. روی آیکون + در قسمت بالا سمت راست کلیک کنید تا یک پروژه جدید ایجاد بشود. نام پروژه را انتخاب کنید، سخت افزار هدف را ESP8266 انتخاب کنید و روی E-mail کلیک کنید تا یک کد اختصاصی برایتان ارسال بشود.

بعد از نصب Blynk نوبت به نصب کتابخانه آردوینو می رسد. کتابخانه را از اینجا دانلود کنید و آن را در نرم افزار Arduino IDE نصب کنید.

گام هفدهم: داشبورد را طراحی کنید

داشبورد از ویجت ها یا میانبرهای مختلفی تشکیل می شود. برای ساخت داشبورد ایستگاه هواشناسی به روش زیر عمل کنید:

  1. برای ورود به صفحه اصلی داشبورد Create را بزنید.
  2. حالا دوباره + را بزنید تا ویجت باکس باز بشود. چهار Gauges به داخل صفحه بکشید.
  3. سپس روی graph کلیک کنید تا یک منوی تنظیمات مشابه تصویر بالا باز بشود.
  4. نام گراف را تغییر بدهید، پین مجازی V1 را انتخاب کنید، دامنه را از ۰ تا ۵۰ تغییر بدهید. همین کار را برای سایر پارامترها هم تکرار کنید.
  5. در نهایت هم یک گراف بکشید و همین مراحل را برای تنظیم آن تکرار کنید. در تصویر آخر داشبورد کامل برنامه را می بینید.

گام هجدهم: داده های سنسور را روی ThingSpeak آپلود کنید

برای استفاده از سرویس ThingSpeak و دسترسی به داده های سنسور از طریق وب باید مراحل زیر را انجام بدهید:

  1. ابتدا در سایت ThingSpeak یک حساب بسازید.
  2. در حساب خودتان یک new Channel ایجاد کنید.
  3. Field 1 را برای دما، Field 2 را برای رطوبت و Field 3 را برای فشار بیومتریک پر کنید.
  4. در حساب خودتان گزینه Channel و سپس My Channel را انتخاب کنید.
  5. روی نام کانال کلیک کنید.
  6. روی زبانه API Keys کلیک کنید و Write API Key را کپی کنید.
  7. کدهای زیر را دانلود کنید (رمز فایل saakhtani.ir است) و SSID و پسورد خودتان را در آن وارد کنید.
  8. مقدار WRITE API را با Write API Key که کپی کرده اید، عوض کنید.

دقت کنید برای اجرای این کدها به کتابخانه آردوینو BME280 هم نیاز دارید.

ایستگاه هواشناسی خانگی آماده است

حالا فقط باید ایستگاه هواشناسی را زیر نور خورشید قرار بدهید تا LED قرمز ماژول شارژ روشن بشود و دستگاه شروع به کار کند. برای دسترسی به داده های هواشناسی از طریق برنامه Blynk کافی است برنامه را روی موبایل تان باز کنید تا گراف ها و داده های آپدیت شده را مشاهده کنید.

اگر می خواهید داده ها را در سرویس ThingSpeak مشاهده کنید، به کانال خودتان بروید و از طریق یکی از دو زبانه Private View یا Public View نمودار داده های هواشناسی را مشاهده کنید.

تجربه خودتان از ساخت ایستگاه هواشناسی خانگی را با کاربران ساختنی به اشتراک بگذارید.

منبع