آموزش برنامه نویسی با ماژول esp8266 مدل wemos d1
آموزش برد esp8266 مدل wemos d1
برد Wemos D1 یک برد توسعهیافته برای اتصال به اینترنت با استفاده از Wi-Fi است که با برد Arduino IDE سازگار است. این برد با استفاده از میکروکنترلر ESP8266 تولید میشود که قابلیت اتصال به شبکه Wi-Fi را داراست. در این بخش به آموزش برد wemos d1 و نحوه برنامه نویسی برای این برد توسعه IOT می پردازیم. شما میتوانید برای آموزش بیشتر از کیت آموزشی آردوینو نیز استفاده نمایید.
برای استفاده از برد Wemos D1 در برنامههای کاربردی خود، ابتدا باید کتابخانهی ESP8266 را به برنامه اضافه کنید. در محیط Arduino IDE، به منوی Sketch رفته، گزینه Include Library را انتخاب کنید و سپس کتابخانه ESP8266 را جستجو کنید و آن را نصب کنید.
سپس باید برای اتصال به شبکه Wi-Fi، اطلاعات شبکه را در کد برنامهی خود وارد کنید. برای مثال، کد زیر نحوهی اتصال به شبکه Wi-Fi با استفاده از برد Wemos D1 را نشان میدهد:
#include <ESP8266WiFi.h> const char* ssid = "نام شبکه Wi-Fi"; const char* password = "رمز عبور شبکه Wi-Fi"; void setup() { Serial.begin(9600); delay(10); // اتصال به شبکه Wi-Fi Serial.println(); Serial.print("Connecting to "); Serial.println(ssid); WiFi.begin(ssid, password); while (WiFi.status() != WL_CONNECTED) { delay(500); Serial.print("."); } Serial.println(""); Serial.println("WiFi connected"); Serial.println("IP address: "); Serial.println(WiFi.localIP()); } void loop() { // کد برنامهی کاربردی خود را در این قسمت قرار دهید }
بعد از اتصال به شبکه Wi-Fi، میتوانید برای ارسال و دریافت اطلاعات از اینترنت، از کتابخانهی ESP8266HTTPClient استفاده کنید. با استفاده از این کتابخانه، میتوانید به راحتی درخواستهای GET و POST را ارسال کرده و دادههای مورد نیاز خود را از وب سرویسهای مختلف دریافت کنید.
در ادامه، یک نمونه برنامهی کاربردی برای دریافت اطلاعات از یک وب سرویس با استفاده از برد Wemos D1 و زبان برنامهنویسی Arduino آموزش داده شده است.
در این نمونه، ما از وب سرویس رایگان “OpenWeatherMap” برای دریافت اطلاعات پیش بینی آب و هوا استفاده خواهیم کرد. در این برنامه، ما از کتابخانهی ESP8266WiFi برای برقراری ارتباط با اینترنت و کتابخانهی ArduinoJson برای تجزیه و تحلیل دادههای JSON که توسط سرویس ارسال میشود، استفاده میکنیم.
در ابتدا، برای اتصال به اینترنت، شما باید شبکهی WiFi خود را به برد Wemos D1 وصل کنید. این کار را با استفاده از تابع زیر انجام میدهیم:
void connectToWiFi() { WiFi.begin("Your_SSID", "Your_PASSWORD"); while (WiFi.status() != WL_CONNECTED) { delay(1000); Serial.println("Connecting to WiFi..."); } Serial.println("Connected to WiFi"); }
در این تابع، مقادیر SSID و PASSWORD باید به جای “Your_SSID” و “Your_PASSWORD” قرار گیرند. سپس با استفاده از تابع WiFi.begin به شبکهی WiFi متصل میشویم. سپس با استفاده از حلقهی while، منتظر میمانیم تا اتصال برقرار شود. بعد از برقراری اتصال، پیغام “Connected to WiFi” به کنسول سریال ارسال میشود.
حالا، میتوانیم با استفاده از کد زیر، به وب سرویس “OpenWeatherMap” درخواست ارسال کنیم:
void getWeatherData() { HTTPClient http; http.begin("http://api.openweathermap.org/data/2.5/weather?q=Tehran,IR&units=metric&appid=YOUR_API_KEY"); int httpCode = http.GET(); String payload = http.getString(); http.end(); Serial.println(httpCode); Serial.println(payload); }
این کد برای دریافت اطلاعات آب و هوای شهر تهران از طریق وب سرویس OpenWeatherMap استفاده میشود. در این کد، یک شی از کلاس HTTPClient ایجاد میشود و برای ارسال درخواست GET به آدرس وب سرویس OpenWeatherMap از تابع begin استفاده میشود. سپس، با استفاده از تابع GET و دریافت کد پاسخ HTTP، اطلاعات مورد نظر از وب سرویس دریافت شده و در یک رشته ذخیره میشود. در نهایت، اطلاعات دریافتی از وب سرویس در کنسول سریال چاپ میشود.
کدهایی که ارسال کردید، یک نمونه کاربردی برای دریافت اطلاعات از یک وب سرویس با استفاده از برد Wemos D1 هستند. در این کد، ابتدا یک اتصال به شبکه WiFi برقرار میشود و سپس یک درخواست GET برای دریافت اطلاعات از وب سرویس ارسال میشود. سپس پاسخ دریافت شده از وب سرویس با استفاده از کتابخانه ESP8266HTTPClient پردازش میشود. در نهایت، اطلاعات دریافت شده در یک صفحه وب که به صورت داخلی در برد ذخیره شده است، نمایش داده میشوند. این کد میتواند به عنوان یک نمونه برای استفاده از وب سرویسها در پروژههای الکترونیکی و IoT استفاده شود.
جهت اطلاع از نحوه خرید و ارسال برد wemosD1 به بخش سوالات متداول رجوع نمایید.