تکنولوژی وای-فای، یک فناوری شبکه بیسیم است که به دستگاهها امکان اتصال به اینترنت و ارتباط با یکدیگر بدون نیاز به کابل فیزیکی را میدهد.. یک ماژول وای-فای، یک قطعه سختافزاری است که مدارها و نرمافزارهای لازم برای فعالسازی اتصال دستگاه به شبکه وای-فای را داراست.
ما در این مقاله از جم ترونیک بررسی خواهیم کرد که ماژول وایفای چیست و ماژول esp8266 را معرفی خواهیم کرد. همچنین نحوه راهاندازی و استفاده از ماژول را شرح خواهیم داد.
ماژول وای فای چیست؟
از ماژول وایفای برای انتقال اطلاعات، خواندن و نوشتن دیتا از طریق وای فای استفاده میشود. این ماژول قطعهای الکترونیکی است که در مدار تجهیزات قرار میگیرد و ارتباطی بیسیم را بین دستگاهها برقرار میکند. از این ماژول در زمینه اینترنت اشیا و پروژههای مرتبط با آن استفادههای بسیاری میشود.
ماژول wifi با استفاده از امواج رادیویی فعالیت میکند و دادهها را به سیگنالهایی با فرکانس بالا تبدیل کرده و میفرستد؛ همچنین سیگنالهای رادیویی فرکانس بالا را دریافت کرده و میخواند.
جهت تهیه و خرید ماژول وایرلس با بهترین قیمت و کیفیت کلیک کنید.
مزایای استفاده از ماژول وای فای
بهرهوری بیشتر: ارتباطات پیشرفتهتر باعث میشود تا انتقال دیتا و اطلاعات سریعتر انجام شود.
دسترسی بهتر: بهدلیل این که ارتباط بیسیم امکان انتقال دیتا بدون نیاز به کابل را مهیا میکند، دسترسی کاربر به آن به ندرت قطع میشود.
انعطاف در کار: کاربران میتوانند بدون این که در جای مشخص از دستگاههایشان استفاده کنند، آنها را در محل دلخواهشان بهکار گیرند. دورکاری و کار در خانه از طریق ماژول wifi امکانپذیر شده است.
صرفهجویی در هزینهها: نصب ماژول وای فای آسانتر و کمهزینهتر است؛ بهخصوص در مکانهایی که امکان استفاده از کابل وجود ندارد.
انواع ماژول wifi
ماژول وای فای به انواع زیر تقسیمبندی میشود:
- ماژولهای معمول و پرکاربرد؛ مانند USB یا SDIO در ماژول رابط موبایل و لپتاپ. پروتکل و درایور این ماژول برپایه اندروید، ویندوز و iOS است که به پردازنده مرکزی قدرتمند نیاز دارند.
- ماژول وایفای روتر که در روترها و مودمهای خانگی کاربرد دارند. این ماژولها با سیستمعامل لینوکس کار میکنند.
- ماژولهای جاسازیشده؛ تکتراشههای ۳۲بیتی، با درایور و پروتکل وایفای داخلی که از رابطهای معمول MCU مانند UART استفاده میکنند. این نوع از ماژولها برای دستگاهها و سختافزارهای هوشمند مناسب هستند.
معرفی ماژول وای فای esp8266
ماژول esp8266 پرکاربردترین و معمولترین ماژول وای فای است که به دلیل بهصرفهبودن استفادههای زیادی از آن میشود. ماژول esp8266 یک میکروچیپ کمهزینه است که توسط شرکت Espressif Systems طراحی شده است؛ این میکروچیب دارای استک کامل TCP/IP و پشتیبانی از میکروکنترلر است. این ماژول امکان اتصال میکروکنترلرها به وای فای را فراهم میکند و ارتباطات ساده TCP/IP را برقرار میسازد.
پایهها
شماره پایه | نام پایه | کاربرد پایه |
۱ | RX | گیرنده سریال |
۲ | VCC | پایه برق (۳.۳ولت، پشتیبانی تا ۳.۶ ولت) |
۳ | GPIO 0 | پین ورودی یا خروجی |
۴ | RST | پین ریست |
۵ | CH_PD | پین قطع برق به تراشه |
۶ | GPIO 2 | پین ورودی یا خروجی دوم |
۷ | TX | فرستنده سریال |
۸ | GND | پین زمین |
سختافزار
- پشتیبانی از WIFI 4
- وایفای دایرکت و ارتباط پوینت تو پوینت
- پروتکل داخلی TCP/IP
- کلید TR، LNA، تشدیدکننده قدرت و شبکه اتصال داخلی
- مدیریت برق، رگولاتور ولتاژ و PLL داخلی
- خروجی برق ۱۹.۵ دسیبل میلی وات
- سنسور دمای داخلی
- پشتیبانی از دایورسیتی فضایی
- پردازنده کممصرف ۳۲بیتی
- پشتیبانی از ارتباط SDIO 2.0، SPI، UART
آموزش راهاندازی ماژول وای فای esp8266 با آردوینو
پس از آنکه با نحوه کار ماژول esp8266 و ویژگیهای آن آشنا شدید، باید آن را با استفاده از آردوینو راهاندازی کنید تا بتوانید از آن استفاده کنید. در ادامه این مقاله نحوه راهاندازی ماژول esp8266 را به شما شرح دادهایم.
قطعات مورد نیاز
- آردینو UNO یا مدل مشابه
- ماژول esp8266
- دو مقاومت هزار اهمی پول آپ برای CH_PD و RST
- سه مقاومت ۲۲۰ اهمی برای تقسیم ولتاژ
- منبع برق رگولهشده ۳.۳ ولتی برای ماژول esp8266 (نمیتوان منبع تغذیه عادی استفاده کرد زیرا ماژول esp8266 جریان زیادی از منبع میکشد.)
- برد بورد
- سیمهای جامپر
توجه: استفاده از منابع تغذیه با ولتاژ بالاتر از ۳.۳ ولت، میتواند باعث سوختن ماژول esp8266 شود.
اتصال پایهها
- پینهای TX را به یکدیگر وصل کنید.
- پینهای RX را به یکدیگر وصل کنید.
- پین VCC را به پین ۳.۳ ولت آردوینو وصل کنید.
- پینهای GND را به یکدیگر وصل کنید.
- پین RX را به خروجی مقاومت تقسیمکننده ولتاژ هم وصل کنید.
- پینهای RST و CH_PD را به مقاومتهای پول آپ وصل کنید.
توجه: در زمان اتصال پینها بهتر است منبع تغذیه را هم به پین زمین آردوینو وصل کنید تا یک زمین مشترک برای کل مدار وجود داشته باشد.
کدنویسی
قبل از نوشتن هر کد، باید ماژول را به آردوینو معرفی کنید. برای این کار پس از نصب IDE آردوینو، باید پکیج esp8266 را نصب کنید. برای این کار گزینه Preferences و سپس File را انتخاب کنید. در پایین پنجره باز شده، لینک زیر
« http://arduino.esp8266.com/stable/package_esp8266com_index.json»
را وارد کنید.
سپس از گزینه Tools، Board Manager را انتخاب کنید و با استفاده از آن پکیج esp8266 را نصب کنید. سپس IDE را ریستارت کرده و Generic ESP8266 Module را انتخاب کنید.
بعد از اینکه بخش سختافزاری کار تمام شد و با موفقیت ماژول esp8266 را به آردوینو وصل و معرفی کردید، باید آن را برنامهنویسی و تنظیم کنید. برای این کار از کد زیر استفاده کنید.
این دستورات را از طریق سریال مانیتور آردوینو به ماژول esp8266 میفرستیم و پاسخهای دریافتشده را در همین سریال مانیتور دریافت میکنیم.
ماژول esp8266 بهصورت پیشفرض دارای بادریتهای مختلفی است؛ این بادریت به سازنده ماژول بستگی دارد. ما از Software Serial برای ارتباط با ماژول استفاده میکنیم و بهتر است مقدار بادریت را روی ۹۶۰۰ تنظیم کنید.
از کد زیر برای اتصال ماژول به آردوینو استفاده کنید.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 |
#include <SoftwareSerial.h> const byte rxPin = 2; // Wire this to Tx Pin of ESP8266 const byte txPin = 3; // Wire this to Rx Pin of ESP8266 // We'll use a software serial interface to connect to ESP8266 SoftwareSerial ESP8266 (rxPin, txPin); void setup() { Serial.begin(9600); // You may need to uncomment this block for the first run: // ESP8266.begin(115200); // Change this to the factory baudrate used by ESP8266 // delay(1000); // // Serial.println("Setting BAUDRATE to 9600"); // ESP8266.println("AT+IPR=9600"); // ESP8266.begin(9600); } bool okReceived = false; void loop() { if (Serial.available() > 0) { String command = Serial.readStringUntil('\n'); Serial.println("Command Sent: " + command); Serial.println(); ESP8266.println(command); } int responseCounter = 0; if (ESP8266.available() > 0) { while (ESP8266.available() > 0) { if (responseCounter == 0) { Serial.println("Response Received:"); } String response = ESP8266.readStringUntil('\n'); Serial.println(response); responseCounter++; } Serial.println(); Serial.println("============"); Serial.println(); } } |
پس از اجرای این کد، ماژول esp8266 را با موفقیت به آردوینو وصل کردهاید و نوبت به تنظیم کردن آن میرسد. برای این کار باید دستوری را به ماژول بفرستیم که آن را بخواند و به آن پاسخ دهد. این دستورها AT نام دارند. ما در ادامه این مقاله برخی از این دستورها را برایتان شرح دادهایم، برای دسترسی به تمام دستورهای AT، مقاله رسمی را بخوانید.
اولین دستور، دستور AT+CWLAP است که لیست وایفایهای قابل اتصال را نمایش میدهد. با نوشتن این دستور در سریال مانیتور میتوانید این لیست را دریافت کنید.
پس از اینکه با دستور AT+CWLAP لیست وایفایهای قابل اتصال و آیپیهای آنها را دریافت کردید، میتوانید با دستور AT+CWJAP_CUR به آنها متصل شوید. برای این کار این دستور را در سریال مانیتور تایپ کنید و سپس SSID شبکه موردنظرتان را داخل «””» تایپ کنید.
جمعبندی
در این مقاله نحوه راهاندازی ماژول esp8266 با آردوینو را شرح دادیم. بهطور کلی بهدلیل پشتیبانی ماژول از آردوینو، این کار پیچیدگی خاصی ندارد و با کمی آموزش میتوانید آن را انجام دهید. با این حال بخش پیشرفتهتر این کار و تنظیم کامل ماژول آردوینو نیاز به دانش و مطالعه بیشتر دارد.
تمام قطعات این پروژه را میتوانید از فروشگاه جم ترونیک تهیه کنید. همچنین اگر به اجرای پروژههای الکترونیکی مشابه با ماژولهای الکترونیکی و آردوینو علاقه دارید، خواندن سایر مقالات مجله جم ترونیک را از یاد نبرید.
سلام چطور با استفاده از ماژول ESP8266 می توان به اینترنت متصل شد؟
برای متصل شدن به اینترنت با استفاده از ماژول ESP8266، شما باید ابتدا به یک شبکه WiFi متصل شوید. پس از اتصال به شبکه WiFi، شما میتوانید با استفاده از دستور “AT+CIPMUX”، یک اتصال چندگانه ایجاد کنید. سپس با استفاده از دستور “AT+CIPSTART” میتوانید یک اتصال TCP با یک سرور اینترنت ایجاد کنید.
چگونه میتوان از ماژول ESP8266 برای ارسال دادهها به یک سرور وب استفاده کرد؟
برای ارسال دادهها به یک سرور وب با استفاده از ماژول ESP8266، شما میتوانید از دستورات AT استفاده کنید. برای مثال، با استفاده از دستور “AT+CIPSTART” میتوانید یک اتصال TCP با یک سرور وب ایجاد کنید. در این دستور، باید آدرس IP و پورت سرور وب را نیز ارسال کنید. سپس با استفاده از دستور “AT+CIPSEND” میتوانید دادهها را به سرور وب ارسال کنید.
چطور میشود ماژول را طوری تنظیم کرد که دیتای خاصی را بیکن کند؟ منظور این است که مثلا موقعیت سنسورهای متصل به خود را از طریق بیکن کردن با دیگر ماژولهای وای فای به اشتراک بگذارد