آنچه در این مقاله میخوانید :
Toggleماژول ESP8266 یک SOC مستقل با پروتکل TCP/PI یکپارچه است که میتواند به هر میکروکنترلر امکان اتصال به شبکه WiFi را بدهد. از این ماژولها عمدتا در تجهیز شبکههای اینترنت اشیاء استفاده میشود. بخصوص در صنایع، تجهیز الکترونیکی و هوشمند سازی عملیات و تجهیزات از طریق ابزارهایی چون ماژول ESP8266 ممکن میشود.
ماژول ESP8266 این قابلیت را دارد که میزبان یک برنامه اختصاصی باشد یا اینکه همه عملکردهای شبکه WiFi را از یک پردازنده دیگر در اپلیکیشن مرکزی دریافت و پیادهسازی کند. هر ماژول ESP8266 از قبل و با استفاده از سیستم عامل اختصاصی شرکت سازنده و در قالب مجموعه دستوری AT برنامهریزی شده است.
بنابراین، شما میتوانید آن را به سادگی با دستگاه آردوینو خود ارتباط دهید و تقریبا به همان اندازهای که یک WiFi Shield به شما خدمات وایفای میدهد، از این قابلیت و تنها با استفاده از ماژول ESP8266 بهره ببرید.
خصوصیات اختصاصی ماژول ESP8266
موارد زیر اصلیترین اجزای سازنده یک ماژول ESP8266 هستند:
- پردازنده: هسته ریز پردازنده ۳۲ بیتی RISC L106 مبتنی بر Tensilica Xtensa Diamond Standard 106Mincro که با فرکانس ۸۰ مگاهرتزی فعالیت میکند.
حافظه
- رم ۳۲ کیلوبایتی اختصاصی برای دستورالعملها
- رم کش دستورالعمل ۳۲ کیلوبایتی
- ۸۰ کیلوبایت رم برای دادههای کاربر
- رم ۱۶ کیلو بایتی ETS سیستم داده
فلش خارجی QSPI
در این ماژول، از فلشهای خارجی تا حافظه ۱۶ مگابایت پشتیبانی میشود (معمولا ۵۱۲ کیلوبایت تا ۴ مگابایت)
سیستم وایفای IEEE 802.11 b/g/n
- سوئیچ TR یکپارچه، LNA، balun، تقویتکننده قدرت و انطباق شبکه
- احراز هویت WEP یا WPA/WPA2 یا شبکههای باز
موارد دیگر شامل قسمتهای زیر هستند
- ۱۶ پین GPIO
- SPI
- I^2G برای اجرای نرمافزار
- رابطهای I^2S به عنوان پینهای اشتراک گذاری با GPIO
- UART روی پینهای اختصاصی، به علاوه یک URT که با استفاده از آن میتوان موقعیت ارسال را در GPIO2 فعال کرد.
- یک ADC 10 بیتی
ماژول ESP8266 به خودی خود یک فرستنده و گیرنده وایفای کمهزینه است که میتوان از آن برای استفاده در پلتفرمهای مختلف اینترنت اشیاء بهره گرفت.
کاربردهای ماژول ESP8266
تقریبا هرکجا که نیاز به ارتباطات وایفای باشد، ماژول ESP8266 کاربرد دارد و بسیاری تجهیزات الکترونیکی از قابلیتهای خلاصهشده و یکپارچه آن بهره میگیرند. موارد زیر شاخصترین کاربردهای این ماژول وایفای فوقالعاده هستند.
- استفاده برای اتصال انواع میکروکنترلرها به شبکههای اینترنت و اینترانت
- پورتالهای نقاط دسترسی
- انواع مختلف پروژههای اینترنت اشیاء
- ثبت دادههای بی سیم
- استفاده در آموزش اصول شبکه
- سوکت و لامپ هوشمند
- سیستمهای هوشمند خانگی
- خودروها و تجهیزات خودکار در صنایعی چون معدنکاری
راهاندازی ماژول ESP8266
برای برقراری ارتباط با ماژول ESP8266، میکروکنترلر باید از مجموعهای از دستورات AT استفاده کند. میکروکنترلر با استفاده از UART با نرخ Baud مشخص، با ماژول ESP8266 ارتباط برقرار میکند. شرکتهای مختلف انواع ماژولهای این خانواده را تولید میکنند که کم و بیش قابلیتهای مشابهی دارند، اما تعداد پینها و برخی خصوصیات دیگر متفاوت است.
بنابراین، در ادامه ما به آموزش نحوه راهاندازی ماژول ESP8266 -01 میپردازیم که جزء اولین ماژولها در دنیای وایفای هستند.
تصویر زیر نمایشی از پینهای این ماژول است.
- ۳V3: پین برق ۳٫۳ ولت
- GND: پین زمین
- RST: پین بازنشانی پایین فعال
- EN: پین فعال بالا
- TX: پین انتقال سریال UART
- RX: پین دریافت سریال UART
- GPIO0 و GPIO2: پینهای ورودی و خروجی عمومی.
این پینها وظیفه تصمیمگیری درباره وضعیت ماژول (حالت بوت یا عادی) را بر عهده دارند. همچنین، مشخص میکنند که پینهای TX/RX باید برای برنامهنویسی ماژول استفاده شوند یا برای هدف I/O سریال به کار گرفته شوند.
برای برنامهریزی ماژول با استفاده از GPIO0، UART را به زمین و GPIO2 را به VCC وصل کنید یا آن را باز بگذارید. برای استفاده از UART برای I/O معمولی سریال، هر دو پین را باز بگذارید.
قبل از شروع به ارتباط دهی به ESP8266 باید سیستم عامل آن را بهروز یا کانفیگ کنیم.
دانلود Firmware
انواع مختلفی از پلتفرمهای سختافزاری و نرمافزاری، Firmware و چهارچوبهای زیادی وجود دارند که مختص برنامههای مورد نیاز برای کانفیگ هستند. موارد زیر نمونههایی از این دست هستند:
- Espressif AT Firmware
- Espressif FreeRTOS Firmware
- ESpressif NO-OS SDK Firmware
- NodeMCU
این باینریها توسط پلتفرم توسعه اپلیکیشن ESP8266 SDK تولید میشوند. برای کامپایل ESP8266 SDK شما به سیستم عامل لینوکس نیاز خواهید داشت. کاربردهای سیستم عامل ویندوز باید از یک فضای مجازی برای کامپایل استفاده کند.
پس از تکمیل فرایند کامپایل، از پین سریال برای دانلود Firmware بر روی ESP8266 استفاده کنید. در مرحله بعد، باید ESPressif NON-OS-SDK Firmware را دانلود کنید.
حال فایلهای پین را متناظر با آدرسهای آنها که در ادامه میآیند، انتخاب کنید:
boot_v1.2.bin ---------------------------------------------> ۰x00000
user1.1024.new.2.bin ----------------------------------------------> ۰x01000
esp_init_data_default.bin -----------------------------------------------> ۰xfc000
blank.bin ----------------------------------------------> ۰x7e000
blank.bin -----------------------------------------------> ۰xfe000
توجه داشته باشید که همه فایلهای باینری (BIN) در پوشه ESP8266_NONOS_SDK master\bin موجود هستند؛ به جز user1.1024.new.2.bin که میتوانید آن را نیز از کامپایل SDK به دست آورید.
در ادامه، مطمئن شوید که پورت COM و نرخ BAUD صحیح انتخاب شدهاند (پیش فرض عدد ۱۱۵۲۰۰ است).
در مرحله بعد، ماژول ESP8266 را با پورت سریال استاندارد RS232 (با استفاده از USB و اتصال به مبدل سریال در لپتاپ) به رایانه متصل کنید. نحوه اتصال باید کم و بیش شبیه تصویر زیر باشد.
توجه داشته باشید که برای قرار دادن ESP8266 در حالت فلش، اتصالات را مطابق شکل بالا (بین ESP8266 و مبدل USB به سریال) انجام دهید و اتصال باید فقط به لپتاپ یا کامپیوتر خانگی باشد. فراموش نکنید که پین GPIO0 باید به زمین وصل شود.
در نهایت، روی تب START در ESP8266 Download Tool کلیک کنید و منتظر بمانید تا فرایند به اتمام برسد. پس از اتمام خودکار فرایند فلش کردن، ماژول ESP8266 را از کامپیوتر یا لپتاپ جدا کرده و اتصال به زمین را نیز حذف کنید.
پس از دانلود موفقیت آمیز سیستم عامل (کانفینگ)، حال میتوانید از دستورات AT زیر ارتباط سرور و تجهیزات با استفاده از ESP8266 را برقرار کنید.
Function |
AT Commands |
Response |
Working |
AT |
OK |
Restart |
AT+RST |
OK ....... Ready |
Firmware Version |
AT+GMR |
<AT version info> information about AT version <SDK version info> information about SDK version <compile time> time of the bin was compiled OK |
List Access Point |
AT+CWLAP |
+CWLAP:<ecn>,<ssid>,<rssi>,<mac>,<ch>,<freq offset> OK |
Query Joined Access Point |
AT+CWJAP? |
+CWJAP:<ssid>,<bssid>,<channel>,<rssi> OK |
Join Access Point |
AT+CWJAP=”SSID”,”Password” |
WIFI CONNECTED WIFI GOT IP OK |
Quit Access Point |
AT+CWQAP |
OK WIFI DISCONNECTED |
Get IP Address |
AT+CIFSR (Assuming AT+CWMODE=3) |
+CIFSR:APIP,<IP address> +CIFSR:APMAC,<mac address> +CIFSR:STAIP,<IP address> +CIFSR:STAMAC,<mac address> OK |
Query WiFi Mode |
AT+CWMODE? |
+CWMODE:<mode> |
Set WiFi Mode |
AT+CWMODE=<mode> Mode: - ۱ = STA (station) ۲ = AP (Access Point) ۳ = BOTH i.e. STA & AP |
OK |
Query TCP/UDP Connection |
AT+CIPMUX? |
+CIPMUX:<mode> |
Set TCP/UDP Connection |
AT+CIPMUX=<mode>
Mode: - ۰ = Single Connection ۱ = Multiple Connection |
OK |
TCP/IP Connection status |
AT+CIPSTATUS |
STATUS:<status> Possible statuses are ۲: Got IP ۳: Connected ۴: Disconnected |
Query TCP transmission mode |
AT+CIPMODE? |
+CIPMODE:<mode> |
Set TCP transmission mode |
AT+CIPMODE=<mode>
Mode: - ۰ = Normal mode ۱ = Transparent mode |
OK |
Set up TCP/UDP connection |
(CIPMUX=0) AT+CIPSTART = <type>,<addr>,<port>
(CIPMUX=1) AT+CIPSTART= <id>,<type>,<addr>, <port> Example (CIPMUX=0): AT+CIPSTART="TCP","192.168.101.110",80 |
CONNECT OK |
Send Data |
(CIPMUX=0) AT+CIPSEND=<data length>
(CIPMUX=1) AT+CIPSEND=<id>,<data length> |
OK > (Note: write your data after > and enter it to send it will return status like.) Recv <data length> bytes SEND OK (after we receive response from server if any for default auto receive mode) (CIPMUX=0): + IPD, <length>: <data> (CIPMUX=1): + IPD, <id>, <length>: <data> |
Close TCP/UDP Connection |
AT+CIPCLOSE |
CLOSED OK |
دیدگاهتان را بنویسید