ماژول WiFi بر اساس ESP8266
در این مقاله قصد داریم شما را با میکروکنترلر ESP8266 شرکت Espressif آشنا کنیم. این تراشه در مقایسه با میکروکنترلرهای 8 بیتی مانند Atmega328 (یکی از رایجترینها در آردوینو) با SRAMبه میزان 2KBو حافظه فلش 32KBدارای 32KB حافظه RAM و 512KBحافظه فلش ارائه میکند که البته قابلیت ارتقا تا 4 مگابایت را نیز دارد. برخی از ویژگی های میکروکنترلر ESP8266 به شرح زیر است:
معماری RISC 32بیتی؛
پردازنده 80 مگاهرتز (تا 160 مگاهرتز قابل ارتقا است).
ولتاژ عملیاتی 3 ولت؛
32 کیلوبایت حافظه رم برای دستورالعمل ها؛
96 کیلوبایت حافظه رم برای داده ها؛
64 کیلوبایت حافظه ROM برای بوت شدن؛
پیش نمایش حافظه فلش توسط SPI (512 کیلوبایت تا 4 مگابایت)؛
استاندارد بی سیم 11 b/g/n
حالت های عملیاتی: STA/AP/STA+AP
امنیت WEP، WPA، TKIP، AES؛
پروتکل TCP/IP داخلی؛
بسته بندی QFN با 32 پایه ای
تجهیزات جانبی اصلی: UART، GPIO، I2C، I2S، SDIO، PWM، ADC و SPI.
معماری با پیش بینی عملکرد صرفه جویی در انرژی
وای-فای (Wi-Fi) یک ارتباط بیسیم در شبکه محلی تحت استاندارد IEEE802.11b میباشد. این ارتباط بیشتر بر پایه شبکه اینترنت بیسیم بوده و بسیاری از تجهیزاتی که مجهز به وای فای هستند را به اینترنت متصل میکند. در این استاندارد فرکانس کار 4/2 گیگاهرتز بوده و سرعت انتقال دادهها 11Mbps میباشد. استاندارد وای فای دیگری به نام IEEE802.11n وجود دارد که سرعت را تا 200Mbps افزایش داده و مبتنی بر سیستمهای چند آنتنی MIMO، استفاده از دو فرکانس 4/2 و 5 گیگاهرتز و برخی تکنیکهای خاص در دسترسی محیط (MAC) میباشد. برد ماژولهای وایفای تا 20 متر است و بر روی بسیاری از تجهیزات خانگی و صنعتی از جمله موبایلها، تبلتها، کامپیوترها و تجهیزات کنترل از راه دور قابل نصب هستند. یکی از مرسومترین ماژولهای وای فای مورد استفاده برای کنترل تجهیرات و اینترنت اشیا، ماژول ESP8266 است. این ماژول دارای پروتکل ارتباطی TCP/IP است. تراشه ESP8266 در یک خانواده بزرگ از سری ESP-01 تا ESP-12 و NodeMCU بهکار گرفته شده است ولی از نظر آنتن، اندازه، تعداد پایه ها و اندازه حافظه متفاوت هستند.
رایجترین این ماژولها که میتوان آنها را در بازار یافت، شامل ماژولهای ESP-01 (بدون شیلد و آنتن روی بورد)، ESP07 (با شیلد و سوکت آنتن) و ESP-12 (دارای شیلد و آنتن روی بورد) میباشد. ولتاژ کاری این ماژولها 3/3 ولت بوده و به کمک ارتباط UART میتوانند با میکروکنترلها از جمله آردوینو اتصال یابند. این ماژولها دارای FirmWare (ثابت افزار) داخلی بوده و با فرامین AT قابل کنترل هستند. همچنین SDKهایی وجود دارند که میتوانند نرمافزار داخلی آن را تغییر و یا بهروزرسانی کنند و پایههای بدون کاربرد آن را برای هدف خاصی برنامه ریزی کنند.
ماژول WiFi به نام ESP-01
اکنون، برای شروع کار به معرفی ESP-01 میپردازیم. پایهبندی این ماژول در شکل زیر نشان داده شده است.
در این ماژول پایه GPIO0 هم به منظور ورودی/خروجی و هم برای رفتن به حالت برنامهریزی تراشه داخلی کاربرد دارد. همچنین CH_PD به معنای فعالساز تراشه بوده و معمولاً به 3/3 ولت متصل میشود. نکته مهم اینکه ماژول ESP-01 دارای هیچ رگولاتوری نبوده و از طرفی با ولتاژ 5 ولت نیز سازگار نمیباشد. بنابراین بایستی برای تغذیه آن ولتاژ 3/3 ولت مهیا گردد. همانطور که از شکل می بینید این ماژول دارای دو پین دیجیتالی است.
ماژول ESP-03
این نسخه با یک آنتن سرامیکی، هفت GPIO، یک جفت برای UART، ارائه می شود.
ماژول ESP-05
هیچ پایه ای به عنوان GPIO در دسترس نیست، در واقع حتی یک آنتن داخلی هم ندارد.
ماژول ESP-07
ESP-07 دارای آنتن سرامیکی و کانکتور خارجی است. شباهت زیادی به ESP-03 دارد، اما یک پین آنالوگ را در دسترس قرار می دهد.
همچنین یک پوشش فلزی از مدار در برابر تداخل مغناطیسی محافظت می کند.
ماژول ESP-12E
در مقایسه ماژول ESP-01 از امکانات بیشتری برخوردار است. بطور نمونه، علاوه بر ارتباط UART، این ماژول مجهز به ارتباط SPI نیز میباشد. همچنین تعداد پایههای ورودی/خروجی آن خیلی بیشتر است. شکل 8-28 پایهبندی این ماژول را نشان میدهد.
برای اینکه ماژول ESP-12E را به صورت UART استفاده کنیم، لازم است تا پایههای GPIO2، GPIO5 و GPIO15 را به ترتیب به 3/3، 3/3 و زمین متصل کنیم. همچنین پایه EN نیز به 3/3 ولت متصل میشود.
آنتن داخلی، یازده پایه GPIO، UART، SPI ، یک پین ADC از ملحقات برد است. برد با 3.3 ولت کار می کند، اما ADC آن صفر تا 1 ولت است.
ماژول NodeMCU
ماژول NodeMCU دارای ESP-12s است همانطور که Arduino UNO دارای ATMEGA328 است. یک برد با پایه های مشابه با ESP-12 ، یک رگولاتور 3.3 ولت برای تغذیه ماژول (پایین VIN میتواند 5 ولت دریافت کند) و یک رابط UART – USB که nodeMCU را به ماژول پلاگین و play تبدیل میکند.
روش های مختلفی برای برنامه نویسی ESP8266 وجود دارد. روشهای مختلف، زبانهای مختلف، از جمله رایجترین آنها، ما ESP-IDF (برنامهنویسی رسمی سازنده C) و سایر موارد توصیه شده توسط سازنده را داریم: NodeMCU (Lua Script)، آردوینو (C++)، MicroPython ، همچنین امکان کار با آن در PlatformIO نیز وجود دارد.
دیدگاه خود را بنویسید