در این بخش با ماژول 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 ولت تهیه کرد. به خاطر داشته باشید که سیم منفی و به اصطلاح زمین پروگرامر و منبع تغذیه را باید یکی کرد.
نکته ای که باید به آن توجه داشت این است که، در این مدل ماژول ها برای قابل برنامه ریزی شدن ماژول باید یک پین یا دو پین آن را به زمین اتصال داد. که در این مدلی که ما استفاده میکنیم، باید پین GPIO0 را به زمین اتصال داد، تا ماژول به مد برنامه ریزی برود. همچنین باید قبل از آپلود شدن برنامه، ماژول ریست شود.
آماده سازی برنامه ی آردوینو
برای استفاده از ESP8266 می توان از سفت افزار (FirmWare) داخل آن هم استفاده کرد. و با استفاده از دستورات AT-Command به آن فرامینی داد. ولی چون ما می خواهیم از تمام کارایی این ماژول استفاده کنیم می خواهیم با برنامه ی آردوینو آن را پروگرام کنیم. وقتی که برای اولین بار آن را پروگرام کنیم دیگر نمی شود که از دستورات AT استفاده کرد.
ما در اینجا فرض می کنیم که شما برنامه ی آردوینو را نصب دارید. در غیر این صورت به آموزش های آردوینو مراجعه کنید. برای آماده کردن این برنامه باید چند کتابخانه در آن نصب کرد.
اول از همه باید کتابخانه ی بوردهای ESP را نصب نمود.
برای این کار در برنامه ی آردوینو به این قسمت می رویم:
File ->> Preferences
در صفحه ای که باز می شود در قسمت مربوطه این آدرس را وارد می کنیم.
https://arduino.esp8266.com/stable/package_esp8266com_index.json
بعد از آن به قسمت انتخاب بورد می رویم.
Tools ->> Board ->> Boards Manager
در صفحه ای که باز می شود ESP8266 را تایپ کرده و کتابخانه مشخص شده را نصب می کنیم.
در اینجا کار ما تمام شده و می توان روی بورد های 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_AVAIL
in 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 قرار می دهیم.
در ادامه فیلم را نگاه کنید تا بهتر موارد را درک کنید:
سلام میشه یجای ان از nodemcu استفاده کرد؟کد های ان فرقی نداره؟
سلام بله این امکان وجود دارد. فقط توجه داشته باشید که در هنگام انتخاب بورد node را انتخاب کنید. نکته ی بعدی شماره پایه ها و نوع پروگرام کردن است که در این دو بورد با هم فرق می کنند
سلام میشه یجای ان از nodemcu استفاده کرد؟کد های ان فرقی نداره؟
سلام بله این امکان وجود دارد. فقط توجه داشته باشید که در هنگام انتخاب بورد node را انتخاب کنید. نکته ی بعدی شماره پایه ها و نوع پروگرام کردن است که در این دو بورد با هم فرق می کنند