چند سال پیش که ماژول های وایفای مثل ESP8266 تازه وارد بازار شده بودند، با اشتیاق فراوان یکی از این نوع ماژول ها را تهیه کردم و سعی کردم دیتاهام را با این ماژول و از طریق اینترنت ارسال و دریافت کنم. البته اینو بگم که ارسال و دریافت داده از طریق اینترنت، میتونه هم با کابل شبکه و قطعات مربوط به اون انجام بشه و هم با وایفای و بهصورت بیسیم.
اولش جذاب بود؛ ولی زمانی که خواستم از این ماژول استفاده کنم، با موضوعاتی دستوپنجه نرم کردم که بیشتر مربوط به رشته کامپیوتر بود. شاید ارسال command با سریال به این ماژول راحت و تنها قسمت نیمه الکترونیک ماجرا بود؛ ولی وقتی بحث اینترنت و شبکه و… مطرح میشد دیگه باید از دنیای الکترونیک خداحافظی میکردم و وارد دنیای کامپیوتر میشدم.
همه ما از شبکه و اینترنت خیلی استفاده کردیم و هیچوقت لازم نبوده که از جزئیات اون چیزی بدونیم. ولی وقتی خودتون بخواهید دیتایی را از طریق اینترنت ارسال و دریافت کنید دیگه قضیه فرق پیدا میکنه! پس شروع به جستجو توی اینترنت کردم. مطالب پراکنده، زیاد و تخصصی در زمینه شبکه و اینترنت وجود داشت که باعث سردرگمی میشد. ولی بالاخره مطالبی را که میخواستم، پیدا کردم، دستهبندی کردم و یکجا نوشتم.
شاید بخش عمده چند قسمت آینده به نظر کسلکننده بیاد ولی در حین کار با ماژول وایفای، با مفاهیم و مواردی برخواهید خورد که به اون مفاهیم نیاز خواهید داشت. البته ممکن خیلی از شما دوستان با مطالبی که میخوام بگم آشنا باشید. ولی شاید کسی مثل من هم باشه که اطلاعاتش در این مورد کامل نباشه…
خوب… اول بریم کمی با این ماژول بیشتر آشنا بشیم. ببینیم چی هست هی میگن ماژول وایفای، وایفای، … واااای وای ….
ماژول ESP8266 انواع مختلفی داره. بعضی از اونها امکانات جانبی کاملتری دارند و با USB به کامپیوتر وصل میشن و شما میتونید با نرمافزارهای سریال به این ماژول وصل بشید. بعضیهاشون هم این امکانات رو ندارند و خودتون باید با یک مبدل USB به سریال ماژول را به کامپیوتر وصل کنید (اگر بخواهید ماژول را به کامپیوتر وصل کنید). البته میتونید به طور مستقیم این ماژول را با UART به میکروکنترلر هم وصل کنید. ولی فقط به سطح ولتاژ ماژول و میکرو دقت کنید.
گاهی این تفاوت در سختافزار خود ماژول هستش. یعنی بسته به اینکه مقدار حافظه ماژول چقدر باشه و یا چند پایه آزاد و پایه با عملکرد خاص (مثل پایه ADC) در اختیار کاربر قرار میده، ردهبندی انجام شده. البته ممکن موارد دیگهای هم باشه! ماژولی که من باهاش کار کردم، ماژول ESP8266-12E هستش و روی یک برد با امکانات جانبی کاملتری سوار شده. شما میتونید این ماژول کامل را با نام Nodemcu esp8266 تهیه کنید.
مشخصات فنی ماژول ESP8266-12E
- چیپ: Tensilica L106 میکروکنترلر 32 بیتی
- سرعت ساعت: 80 مگاهرتز
- استاندارد Wi-Fi: IEEE 802.11 b/g/n (2.4 گیگاهرتز)
- حالتهای Wi-Fi: استیشن (Station)، نقطه دسترسی (Access Point)، استیشن + نقطه دسترسی (Station + Access Point)
- حافظه فلش: 4 مگابایت (به طور معمول)
- ولتاژ کاری: 3.3 ولت
- ورودی/خروجی دیجیتال، ورودی آنالوگ (ADC)، PWM، I2C، SPI، UART
- IDEهای پشتیبانی شده: Arduino IDE، PlatformIO، Espressif SDK
- برنامهنویسی از طریق رابط USB-to-UART
- قابلیت استفاده بهعنوان یک میکروکنترلر مستقل
- بهروزرسانی فریمور OTA (Over-the-Air)
- چندین حالت مصرف کمتوان برای برنامههای کممصرف انرژی
ماژول را با مبدل USB به سریال راهاندازی کردم و تونستم با AT COMMANDها به اون فرمان بدم و به اینترنت وصلش کنم. خوشحال از اینکه ماژول به اینترنت وصل شده و غافل از اینکه ابتدای راه بودم و یک مسیر طولانی در پیش رو!
ماژول به اینترنت وصل بود. خوشحال از اولین موفقیت! بیاطلاع از راه سخت در پیش! نمیدونستم دادهها را باید به کجای این اینترنت بزرگ ارسال کنم و گیرنده داده ها چطور باید این داده ها را توی اینترنت پیدا میکرد؟ باید سایتی مشخص داشته باشم و دیتاها رو به اونجا بفرستم؟! اصلاً سایت چی هست؟! پشت سر این صفحاتی که ما میبینیم چی میگذره؟
به قول انیشتین سعی کردم به سادهسازی مسیر روبرو. البته چه مسیری!
در قسمتهای بعدی با مفاهیم شبکه و پروتکل های شبکه بیشتر آشنا میشیم. شاید توضیحات قسمت های بعدی که درباره شبکه و اینترنت هستش، کمی تخصصی و بیش از نیاز راهاندازی ماژول ESP8266 باشه ولی در بعضی موارد به علت اینکه مفاهیم به هم مربوط هستند و تا تعاریف قبلی را ندانیم، نمیتوان با مفاهیم بعدی آشنا شد، مجبور شدم بیشتر و کاملتر توضیح بدم.
شاید در نگاه اول حوصله سر بر باشند؛ ولی حتماً به اونها نیاز خواهید داشت. پس با من در قسمت بعدی (قسمت اول) که هفته آینده منتشر میشه همراه من باشید… .
عالی بود منتظر ادامه هستم.