مدارهای جالب

راه اندازی ماژول WiFi esp8266 (قسمت سوم)

راه اندازی ماژول WiFi esp8266 (قسمت سوم)
4.75 (95%) 16 votes

ESP8266 - Part3

ایجاد یک HTTP Server  با استفاده از ماژول esp8266 12:

بنا به درخواست بسیاری از دوستان جهت استفاده از اینترنت برای برقراری ارتباط با ماژول esp8266 تصمیم گرفتیم در ادامه ی پست های مربوط به راه اندازی ماژول ESP8266 پروژوه ایجاد وب سرور را برای شما عزیزان علاقه مند، بر روی سایت قرار دهیم.

همانطور که در قسمت اول گفتیم این ماژول در واقع یک میکروکنترلر است که به علاوه اینکه قسمت هایی مشابه با میکروکنترلر مانند ,ADC,GPIO,UART,I2C,SPI و… را دارد از یک WiFi  جانبی نیز برخوردار است.همچنین درمورد برنامه ریزی ماژول صحبت کردیم و برنامه ای را روی آن قرار دادیم. اما برنامه ای که برروی ماژول قرار دادیم یعنی همان برنامه AT COMMAND ایراداتی دارد که می توان به موارد زیر اشاره نمود:

  • برای استفاده از این برنامه نیاز به یک میکروکنترلر و یا کامپیوتر داریم.پس باید هزینه ایی اضافی جهت خرید میکرو و برنامه نویسی آن بپردازیم.
  • با استفاده از برنامه  AT COMMANDنمی توان از قسمت های مختلف ماژول استفاده نمود.یعنی اینکه مثلا اگر بخواهید یکی از پایه های این ماژول را صفر یا یک کنید و یا مقدار آنالوگی را بخوانید دستور معادلی در AT+COMMAND ها وجود ندارد. پس عملا بدون استفاده باقی می مانند.اما چه باید کرد؟

خوشبختانه نرم افزارهای در سطح اینترنت ارائه شده که می توانید با کد هایی که می نویسید مستقیما به سخت افزار دسترسی داشته باشید. برنامه هایی مانند LUA , ESP SDK , ARDUINOو….

در این بین شاید انتخاب ARDUINO مناسب تر باشد. چرا که برنامه نویسی در محیط آردوینو به زبان C انجام می شود و برای خیلی از کاربران آشناست. اما برنامه هایی مانند LUA LOADER از زبان ابداعی  LUA استفاده می کند و یا برنامه هایی وجود دارد که به صورت تحت وب کد شما را کامپایل می کند. پس در این آموزش نیز از کامپایلر ARDUINO استفاده می کنیم و برای ماژول ESP8266 کد می نویسیم. البته توجه کنید فقط به نرم افزار آردوینو نیاز داریم و روند برنامه ریزی تقریبا مشابه قسمت اول است.

برای مشاهده قسمت اول آموزش راه اندازی ماژول ESP 8266 اینجا کلیک کنید.

ESP8266 httpserver

 

کلیات پروژه HTTP Server :

Http Server در واقع قسمتی از شبکه است که به درخواست های کاربران در قالب پروتکل http که همان پروتکل انتقال صفحات وب است پاسخ می دهد. به عنوان مثال وقتی شما آدرس سایت گوگل را در مرورگرخود وارد می کنید، سرور گوگل، صفحه جستجوی خود را برای شما ارسال می کند و وقتی که کلمه ای را در نوار جستجو وارد می کنید، سرور گوگل لیست تعداد زیادی از سایت های حاوی درخواست شما را ارائه می کند.

این مطلب را از دست ندهید  چیپ ها و آی سی های اینترنت اشیاء چه خصوصیاتی دارند؟

در این پروژه نیز روند کار تقریبا به همین صورت است. در اینجا ماژول دقیقا شبیه یک سرور عمل می کند و با اتصال به مودم از هر کجای دنیا قادر هستید با استفاده از مرورگر خودبه ماژول متصل شوید، درخواست هایی به ماژول بفرستید و همچنین وضعیت اجزای متصل به آن را مشاهده کنید، در واقع می توانید برای خود یک پروژه ساده IOT بسازید. در اینجا ما از یک سنسور دما و یک رله برای تست برنامه استفاده کرده ایم به طوری که با وصل شدن به ماژول قادر خواهید بود رله را کنترل و مقدار دمای محیط را بخوانید. اخیرا مطالبی در بعضی سایت ها منتشر شده که همین کار را از طریق یک سرور کامپیوتری واسط انجام می دهند که کاری پرهزینه وغیر استاندارد است.SCH

همانطور که در پست مربوط به آردوینو گفتیم (برای مشاهده اینجا کلیک کنید)، این نرم افزار یک نرم افزار متن باز است و افراد مختلف می توانند نسبت به توسعه ی این نرم افزار اقدام کنند. یعنی می توان هسته های مختلف مربوط به میکروکنترلرهای جدید را به این نرم افزار معرفی کرد و از محیط آن برای کدنویسی استفاده نمود. اخیرا افرادی اقدام به نوشتن کد های هسته esp8266 برای آردوینو کرده اند. می توان به راحتی با اضافه کردن این کدها به نرم افزار Arduino آن را به محیطی برای برنامه نویسی این قطعه تبدیل کرد.

 

مراحل اجرای کار:

ابتدا آخرین ورژن نرم افزار آردوینو را از اینجا دانلود و نصب کنید.(حجم نرم افزار تقریبا 87 مگابایت است.)

1–پس از نصب نرم افزار از گزینه file  گزینه preferences را انتخاب کنید و در درقسمت آدرس عبارت http://arduino.esp8266.com/stable/package_esp8266com_index.json را وارد کنید.urls

2- از گزینه tools طبق شکل زیر گزینه Board Manager  انتخاب کنید.

 

add_esp

3-در پنجره باز شده عبارت esp8266 را جستجو کنید.و سپس بر روی install کلیک کنید و منتظر بمانید تا پکیج esp8266 دانلود شود. بسته به سرعت اینترنت شما این پروسه مدتی طول می کشد.

این مطلب را از دست ندهید  ساخت فلزیاب ساده

esp_board

Capture

4-پس از پایان دانلود، نرم افزار آردوینو را ببندید و سپس دوباره باز کنید. حال دوباره از منوی tools->Board: بردهای اضافه شده به آردوینو را ببینید.

esp_module

از منوی فوق برد Generic ESP8266 Module را انتخاب کنید.تنظیمات دیگر را مطابق شکل زیر انتخاب کنید.

setting

تا اینجا محیط آردوینو آماده است تا در آن برای esp8266 مشابه یک برد آردوینو برنامه نویسی کنید.

محتویات فایل زیر را در محیط آردوینو کپی کنید و آن را کامپایل کنید.توجه داشته باشید که به جای عبارتssid و  password باید معادل آن در مودم خود را قرار دهید.


دانلود فایل با لینک مستقیم


گروه تلگرام

با وارد کردن ایمیل، لینک دانلود در کمتر از 30 ثانیه به آدرس ایمیل شما ارسال می شود و می توانید فایل را بدون محدودیت دانلود نمایید.

آدرس ایمیل

پس از کامپایل برنامه برای انتقال آن به ماژول ,دقیقا مانند قسمت اول آموزش عمل کنید یعنی درحالی که مبدل USB به TTL را به کامپیوتر خود متصل کرده اید با صفر کردن پایه GPIO0 و ریست ماژول آن را به مد برنامه ریزی ببرید. با فشردن دکمه زیر , برنامه به ماژول منتقل می شود.البته اگر از بردهای آماده ماژول  مثل NODEMCU استفاده می کنید نیاز به هیچ کار اضافی ندارید و مستقیم با فشردن دکمه، برنامه به ماژول انتقال می یابد.

transfer

پس از اتمام بارگزاری برنامه برروی ماژول پایه GPIO0 را از حالت صفر خارج کنید و ماژول را ریست نمایید. اگر از برنامه ی ترمینال استفاده کنید روند اجرای برنامه را قدم به قدم می توانید مشاهده نمایید.

برنامه به این صورت عمل می کند که پس از روشن شدن به طور اتوماتیک مودم یا روتر شما را با SSID و password  ذکر شده در برنامه جستجو می کند و به آن وصل می شود. پس از وصل شدن در برنامه هایپرترمینال می توانید ip ماژول خود را ببینید.

connect

تا اینجای کار در هر نقطه از منزل خود قادر خواهید بود با وارد کردن آدرس ip  ماژول خود در نوار جستجوی مرورگر وضعت دما و رله را مشاهده نمایید. همچنین می توانید رله را خاموش یا روشن نمایید.

این مطلب را از دست ندهید  فرستنده FM مینیاتوری با برد بالا

html page

اما این فقط در محدوده پوشش وای فای مودم شما کار می کند، برای اینکه بتوانید با استفاده از اینترنت به esp8266 وصل شد باید پورت http  را در مودم خود به پورت esp8266 اختصاص بدهید که این کار به Port Forwarding معروف است، برای این کار باید تنظیماتی را در مودم خود انجام دهید.

درحالی که با کامپیوتر و یا لپتاپ خود به مودم وصل هستید عبارت 192.168.1.1  را در مرورگر خود وارد کنید (این آدرس ممکن است در مودم ها یا روترهای دیگر متفاوت باشد) پس از وصل شدن به آن در قسمت سمت چپ از منوی forwarding گزینه virtual servers را انتخاب کنید.تنظیمات را مطابق شکل زیر انجام دهید.

faq72image013

دکمه save  را بزنید و خارج شوید. در برخی مودم ها ممکن است تنظیمات پورت فرواردینگ در قسمت Advanced Steup>NAT>Virtual Servers یا در دیگر منو های مودم باشد، همچنین ممکن است در برخی مودمها این قابلیت به درستی عمل ننماید و شما را مجبور به استفاده از راه های دیگری نماید که می توانید مشکلات خود را در قسمت نظرات مطرح نمایید.

حال با داشتن ip مودم خود در هر کجای دنیا با وارد کردن عبارت ip:8080 در مرورگر قادر به مشاهده صفحه html ماژول خود خواهید بود. به عنوان مٍثال اگر ip مودم شما 5.125.44.197  باشد با وارد کردن آدرس 5.125.44.197:8080 در مرورگر خود می توانید صفحه مورد نظر را باز کنید. برای دیدن  ip مودم خود نیز می توانید سایت www.whatismyip.com را باز کنید.

نکته:در صورتی که آی پی شما داینامیک است در هر بار اتصال به اینترنت برای دانستن آی پی خود باید به این سایت سر بزنید.

فایل باینری برنامه نیز برای دانلود قرار داده شده در صورتی که می خواهید همین برنامه را بدون آردوینو تست کنید می توانید آن را از لینک زیر دانلود کنید و با روش برنامه ریزی گفته شده در پست راه اندازی قسمت اول آن را پروگرم کنید. البته باید ssid مودم خود را به DiGiNiC.net و password آن را 12345678  تغییر دهید.


دانلود فایل با لینک مستقیم


گروه تلگرام

با وارد کردن ایمیل، لینک دانلود در کمتر از 30 ثانیه به آدرس ایمیل شما ارسال می شود و می توانید فایل را بدون محدودیت دانلود نمایید.

آدرس ایمیل

 

درباره نویسنده

اکبر محمدی

59 دیدگاه

  • سلام
    این صفحه که تو اینترنت با زدن ای پی مودم میاد چجوری ساخته میشه باید کد html بنویسیم تو وب
    یا اینکه برنامه داخل میکرو کنترل اونو پیاده سازی کی کنه منظورم کادر و نوشته های فارسیو ؟؟؟؟؟؟؟؟؟؟
    و اگر ای پی ما استاتیک باشه هر دفعه باید what is my ip رو وارد کنیم اگر بیرون خونه باشیم و ای پی مودم
    تغییر کرد چجوری متصل بشیم بهش؟؟؟

  • سلام من یه ماژول esp
    دارم ولی نتونستم به مود فلش کردن ببرمش میشه راهنمایی کنید؟؟
    این برنامه بالا رو روی میکرو کنترل میریزیم یا پروژه بالا میکرو کنترل نداره و مستقیم روی esp میریزه؟
    این پسوند ion برای با چه برنامه ای باز میشه همینطور فایل bin???

    • نموی دونم اصلا فریم ور داره ماژولم یا نه
      وقتی وصل می کنم به مبدل ۲۳۲ با وصل کردن تمام پایه یه حروف بی معنی مینویسه ولی اجازه تایپ AT رو نمیده؟؟؟؟

  • سلام.من یک ماژول rfid دارم که به esp وصلش کردم و با esp یک وب سرور راه انداری کردم بطوریکه با نزدیک کردن کارت به ماژول rfid شماره کارت برای وب ارسال میشه و نمایش داده میشه.اما دوتا مشکل دارم:
    ۱-با هر بار نزدیک کردن کارت به ماژول و رفرش صفحه وب شماره کارت قبلی که در وب نمایش داده میشد پاک میشه و شماره کارت جدید نشون داده میشه،من میخام شماره کارت قبلی پاک نشه و شماره کارت جدید اضافه بشه.
    ۲-میخام هر بار که کارت رو به ماژول rfid نزدیک میکنم و ماژول شماره کارت رو به esp ارسال میکنه،صفحه وب که شماره کارتو نشون میده خود بخود رفرش بشه و نیاز به رفرش دستی نباشه.

    لطفا راهنماییم کنید.با تشکر.

  • سلام و خسته نباشید

    بنده پروژه ای دارم که باید از طریق دوربین، آردینو و ماژول وایفای، تصویر ویدیو را بصورت زنده و مستقیم به موبایل انتقال بده.
    آیا این ماژول قابلیت انتقال ویدیو (فیلم برداری زنده و ارسال هم زمان به موبایل) را داره؟

    ممنونم از پاسخگوی شما

  • سلام خیلی ممنونم از توضیحات خوبتون ،دستور (۰ wifi server server(8درواقع پورت ماژول رو که با اون اتصال وای فای برقارا میکنهروی هشتاد میزاره درسته ؟؟ واگه ما بخوایم مثلا با برنامه ای اندروید ی با گوشیمون با ماژول ارتباط برقرا کنیم باید توی برنامه ای که با سوکت پروتکل نوشته میشه پورت خروجی رو برای همون هم ۸۰بزاریم درسته ؟؟

  • سلام
    میخواستم ببینم چطور میشه آی پی ماژول را تغییر داد؟
    مثلا دو میخواهیم دو تا ماژول ESP8226 را با مودم وای فای کنترل کنیم چطور میشه به هر کدوم از ماژول ها آی پی خاص داد؟

دیدگاهتان را بنویسید