شروع کار با ESP8266

 

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

            برای پروگرام کردن ESP8266  احتیاج به یک نرم افزار رابط یا (IDE) داریم. من خودم از نرم افزار آردوینو استفاده می کنم. برای این کار هم تعداد زیادی کتابخانه دارد.

            من برای شروع از ماژول ESP8266-01  استفاده می کنم. چون ارزان ترین ماژول WiFi است. ولی اشکالاتی دارد. اولیش این است که فقط دو پین GPIO (ورودی/خروجی) دارد. و بعدی اینکه روی برد بورد قابل اتصال نیست. برای حل آن، من از سیم برد بورد، یه سر نری یه سر مادگی استفاده می کنم.

ملزومات سخت افزاری برای استفاده از ESP8266

            برای به کار انداختن ESP8266 می توان از یک بورد آردوینو استفاده کرد. ولی داخل خود این ماژول یک حافظه و پردازنده است که می توان مستقیم برنامه را روی آن بارگذاری کرد. یکی از مشکلات این سری ماژول ها این است که با ولتاژ 3.3 ولت کار می کنند. و اگر هم با ارتباط UART آشنایی داشته باشید، که همان پین های RX و TX هستند. می دانید که از سطح ولتاژ 5 ولت برای ارسال 0 و 1 استفاده می کنند. یعنی ولتاژ بین 0 ولت و 5 ولت تغییر می کند. این مورد هم به ESP8266 آسیب وارد می کند. و نمی توان RX و TX را مستقیم به پورت کامپیوتر یا لپتاپ وصل کرد.

            برای این منظور من از پروگرامر مبتنی بر آی سی PL2303  استفاده می کنم. که ولتاژ خروجی پین های RX و  TX را به سطح 3.3 ولت تغییر می دهد. ولی باز هم نمی توان از خروجی ولتاژ این پروگرامر برای تغذیه ی ماژول ESP8266  استفاده کرد. و باید منبع تغذیه ی 3.3 ولت تهیه کرد. به خاطر داشته باشید که سیم منفی و به اصطلاح زمین پروگرامر و منبع تغذیه را باید یکی کرد.

EPS8266 PINS

EPS8266 PINS

ESP8266 Wiring

ESP8266 Wiring

 

            نکته ای که باید به آن توجه داشت این است که، در این مدل ماژول ها برای قابل برنامه ریزی شدن ماژول باید یک پین یا دو پین آن را به زمین اتصال داد. که در این مدلی که ما استفاده میکنیم، باید پین GPIO0 را به زمین اتصال داد، تا ماژول به مد برنامه ریزی برود. همچنین باید قبل از آپلود شدن برنامه، ماژول ریست شود.

آماده سازی برنامه ی آردوینو

            برای استفاده از ESP8266 می توان از سفت افزار (FirmWare) داخل آن هم استفاده کرد. و با استفاده از دستورات AT-Command به آن فرامینی داد. ولی چون ما می خواهیم از تمام کارایی این ماژول استفاده کنیم می خواهیم با برنامه ی آردوینو آن را پروگرام کنیم. وقتی که برای اولین بار آن را پروگرام کنیم دیگر نمی شود که از دستورات AT استفاده کرد.

            ما در اینجا فرض می کنیم که شما برنامه ی آردوینو را نصب دارید. در غیر این صورت به آموزش های آردوینو مراجعه کنید. برای آماده کردن این برنامه باید چند کتابخانه در آن نصب کرد.

اول از همه باید کتابخانه ی بوردهای ESP را نصب نمود.

برای این کار در برنامه ی آردوینو به این قسمت می رویم:

File ->> Preferences

Libraries of ESP8266 -01

Libraries of ESP8266 -01

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

https://arduino.esp8266.com/stable/package_esp8266com_index.json

 

Libraries of ESP8266 -02

Libraries of ESP8266 -02

 

بعد از آن به قسمت انتخاب بورد می رویم.

Tools ->> Board ->> Boards Manager

Libraries of ESP8266 -03

Libraries of ESP8266 -03

در صفحه ای که باز می شود ESP8266 را تایپ کرده و کتابخانه مشخص شده را نصب می کنیم.

Libraries of ESP8266 -04

Libraries of ESP8266 -04

در اینجا کار ما تمام شده و می توان روی بورد های ESP8266 برنامه آپلود کرد.

اتصال ESP8266 به WiFi

          برای شروع کار یک برنامه ی ساده می نویسیم که به WiFi متصل شده، و IP اختصاص داده شده به ESP8266 را نمایش دهد.

//Eleknow.com
// Import required libraries
#include <ESP8266WiFi.h>
// WiFi parameters
const char* ssid = "your_wifi_name";
const char* password = "your_wifi_password";
void setup(void)
{
// Start Serial
Serial.begin(115200);
// Connect to WiFi
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.println("WiFi connected");
// Print the IP address
Serial.println(WiFi.localIP());
}
void loop() {
}

            توجه داشته باشید که در قسمت SSID و Password باید اسم WiFi و رمز WiFi خود را وارد کنید و سپس برنامه را آپلود نمایید.

            در برنامه در قسمت while تابع یا متد()WiFi.status وضعیت اتصال به WiFi را بر می گرداند. وقتی به درستی به WiFi وصل شود WL_CONNECTED را برمی گرداند. که با مقایسه ی آن می توان از وضعیت اتصال به WiFi مطلع شد. در زیر دیگر کلماتی که بر می گرداند را قرار داده ام.

0 : WL_IDLE_STATUS when Wi-Fi is in process of changing between statuses 

1 : WL_NO_SSID_AVAILin case configured SSID cannot be reached

3 : WL_CONNECTED after successful connection is established

4 : WL_CONNECT_FAILED if password is incorrect

6 : WL_DISCONNECTED if module is not configured in station mode

برای آپلود کردن برنامه باید بورد خود را در برنامه آردوینو انتخاب کنیم.

Tools ->> Borad ->> Adafruit HUZZAH ESP8266

            برای این مدل از ESP8266 باید این مدل از بورد را در برنامه انتخاب کنیم. بعد از آن پورتی که پروگرامر ما به آن متصل است را انتخاب می کنیم. برای من روی COM3 بود. سپس با اتصال GPIO0 به زمین ماژول را به مد برنامه نویسی می بریم. در آخر هم سرعت آپلود (Upload Speed) را روی 115200 قرار می دهیم.

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

دیدگاه ها :

من بات نیستم

  1. علی گفت:

    سلام میشه یجای ان از nodemcu استفاده کرد؟کد های ان فرقی نداره؟

    • سبحان موثق گفت:

      سلام بله این امکان وجود دارد. فقط توجه داشته باشید که در هنگام انتخاب بورد node را انتخاب کنید. نکته ی بعدی شماره پایه ها و نوع پروگرام کردن است که در این دو بورد با هم فرق می کنند

  2. علی گفت:

    سلام میشه یجای ان از nodemcu استفاده کرد؟کد های ان فرقی نداره؟

  3. سبحان موثق گفت:

    سلام بله این امکان وجود دارد. فقط توجه داشته باشید که در هنگام انتخاب بورد node را انتخاب کنید. نکته ی بعدی شماره پایه ها و نوع پروگرام کردن است که در این دو بورد با هم فرق می کنند

نظرات برای این صفحه بسته می باشد!!!!!