آموزش تنظیم WiFi برد های مبنی برد ESP8266

در چند آموزش گذشته به آموزش های راه اندازی و استفاده از برد هایی نظیر NodeMCU، D1 Mini و Mini S1 پرداختیم که همگی برپایه ی هسته ESP8266 هستند. در این آموزش قصد داریم با استفاده از یک Sketch ساده و نرم افزار Arduino از این برد ها به عنوان یک Access point استفاده کنیم و تنظیمات دقیق WiFi را روی آن ها اعمال کنیم تا دستگاه هایی نظیر تلفن همراه بتوانند به صورت مستقیم از طریق WiFi به برد متصل شوند. سپس با استفاده از حالت Station mode به یک مودم یا روتر متصل شویم تا دستگاه هایی که در حال حاضر با شبکه ی فعلی در ارتباط هستند بتوانند با برد در ارتباط باشند. این دو حالت به صورت کلی تمامی حالت های ممکن را پوشش خواهند داد.

 

حالت Access point

در این حالت برد به صورت یک مودم یا روتر عمل خواهد کرد. به صورت ساده تر، برد با ساختن یک شبکه ی نرم افزاری و انتشار SSID این امکان را فراهم می سازد تا دستگاه های مجهز به WiFi بتوانند به صورت مستقیم با برد در ارتباط باشند. کافیست تا به بخش تنظیمات WiFi بروید. شبکه ی مورد نظر را انتخاب کنید و به آن متصل شوید. از این ویژگی می توان در مواردی نظیر هوشمند سازی یک قطعه ی خاص مانند کلید، پریز و… استفاده کرد.

اسکچ زیر شامل مقادیر تنظیمات حالت Access point است. جهت دانلود اسکچ اینجا کلیک کنید. بعد از آپلود این اسکچ روی برد یک بار سریال مانیتور نرم افزار آردوینو را باز کنید و پس از ست شدن تنظیمات و دریافت ایپی برد، اسکچ اصلی خود را روی برد آپلود نمایید.

/*

 AK ESP8266 access point

*/

#include <ESP8266WiFi.h>

// تنظیمات ایپی مد نظر خودتان را در این قسمت ثبت کنید.

IPAddress local_IP(192,168,10,10);

IPAddress gateway(192,168,10,1);

IPAddress subnet(255,255,255,0);

// تنظیمات شبکه ی مد نظر خودتان را در این قسمت ثبت کنید.

const char *ssid = "ssid";

const char *password = "password";

void setup()

{

 Serial.begin(115200);

 Serial.println();

 

 // در حال ثبت تنظیمات ایپی

 Serial.print("Setting soft-AP configuration … ");

 Serial.println(WiFi.softAPConfig(local_IP, gateway, subnet) ? "Ready" : "Failed!");

 // در حال ثبت تنظیمات شبکه

 Serial.print("Setting soft-AP … ");

 Serial.println(WiFi.softAP(ssid,password) ? "Ready" : "Failed!");

 // نمایش ایپی برد

 Serial.print("Soft-AP IP address = ");

 Serial.println(WiFi.softAPIP());

}

void loop() {

}

 

حالت Station mode

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

اسکچ زیر شامل مقادیر تنظیمات حالت Access point است. جهت دانلود اسکچ اینجا کلیک کنید. این اسکچ را باید با اسکچ اصلی خود ادغام نمایید. به این معنی که برای استفاده از این حالت کد هایی زیر باید در اسکچ شما باقی بمانند و در کنار این چند خط کد، کد های اصلی را نیز اضافه نمایید.

/*

 AK ESP8266 station mode

*/

#include <ESP8266WiFi.h>

// تنظیمات شبکه ی خود را در این قسمت وارد کنید.

const char* ssid =      "ssid";      //نام شبکه

const char* password =  "password";  //رمز شبکه

void setup()

{

 delay(1000);

 Serial.begin(115200);

 // در حال برقراری ارتباط با مودم یا روتر

 WiFi.begin(ssid, password);

 // نمایش وضعیت ارتباط

 Serial.println();

 Serial.print("Connecting");

 while (WiFi.status() != WL_CONNECTED)

 {

   delay(500);

   Serial.print(".");

 }

 // نمایش ارتباط موفقیت آمیز

 Serial.println("success!");

 // نمایش ایپی برد

 Serial.print("IP Address is: ");

 Serial.println(WiFi.localIP());

}

void loop() {

}