در این آموزش، قصد داریم تا به کمک ماژول وای فای ESP8266 یا NODE-MCU یک Wi-Fi REPEATER یا تکرار کننده وای فای بسازیم. به این صورت که ماژول وای فای به مودم شما متصل میشود، و خود ماژول، مجدداً یک نقطه دسترسی (AP) ایجاد میکند. با این تکنیک میتوانیم برد و قدرت وای فای را افزایش دهیم. اما این پروژه، بیشتر جنبه آموزشی دارد تا جنبه عملی! لطفاً قبل از انجام عملی پروژه، یک دور آن را مطالعه، و قسمت انتهای مطلب را نیز درباره نحوه عملکرد آن مطالعه کنید.
قطعات مورد نیاز Wi-Fi REPEATER
- ماژول اینترنت اشیاء Node MCU یا ESP8266
- آنتن وای فای
- سیم کوتاه برای ارتباط بین آنتن و ماژول
- کابل USB برای تغذیه ماژول ESP8266
- کلگی شارژر 5 ولت. (میتواند هر شارژر USB موبایلی باشد) و یا از برق USB کامپیوتر یا پاوربانک نیز میتوانید استفاده کنید.
- جعبه پلاستیکی با ابعاد مناسب، برای مدار (اختیاری)
برخی از دیگر پروژه های جذاب ESP8266 در سیسوگ
ساخت قفل در هوشمند مجهز به وای فای با ESP8266
گام اول – دانلود و اجرای فایل های مورد نیاز
ابتدا فایل زیپ پروژه را از این قسمت دانلود کنید. پس از اینکه فایل زیپ را دانلود و استخراج کردید، فایلهای زیر را خواهید دید:
در فایلهای بالا، فریمور Wi-Fi REPEATER و ابزارهای لازم برای پروگرام کردن ESP8266 و چند برد مشابه دیگر وجود دارد. نرم افزار پروگرامر، برای هر دو سیستم عاملهای مک و ویندوز نیز قرار داده شده است.
ابتدا وارد پوشه flash_download_tools_v3.4.1_win شوید. دقت داشته باشید که در مسیر این نرم افزار در کامپیوتر شما، پوشهای با نام فارسی وجود نداشته باشد. (احتمالاً برای اجرا به پایتون نیز احتیاج خواهید داشت.)
اگر ویندوزی هستید، داخل همان پوشه، مجدداً وارد پوشه FLASH_DOWNLOAD_TOOLS_V3.4.1_Win شوید و ESPFlashDownloadTool_v3.4.1.exe را اجرا کنید. سپس از میان گزینههای موجود، ESP8266 را انتخاب کنید.
اگر سیستم عامل مک دارید، داخل همان پوشه flash_download_tools_v3.4.1_win، پوشهای با نام MACOSX__ وجود دارد که فایلهای مورد نیاز شما درون آن وجود دارد.
گام دوم – نصب درایور
شما برای اینکه بتوانید ماژول را به کامپیوتر متصل کنید، باید درایور CH340 را نصب داشته باشید. در میان فایلهایی که دانلود کردهاید، فایل CH341SER_win.zip درایور مربوط به ویندوز و CH34x_Install_mac.zip درایور مک میباشد.
گام سوم – ریختن فایل فلش بر روی ماژول ESP8266
منوهای نرم افزار فلشر را مطابق شکل زیر تنظیم کنید.
در بالای نرم افزار، چند قسمت برای انتخاب فایل فلش وجود دارد، وارد پوشه firmware_sdk_1.5.4 شده و فایل 0x00000.bin را به عنوان فایل اول، و فایل 0x40000.bin را به عنوان فایل دوم به نرم افزار بدهید. همچنین درون کادر جلوی هر فایل، آدرس حافظه آن را نیز همانند تصویر بالا وارد کنید. سپس تیک بغل فایل را بزنید تا هم اسم فایل و هم آدرس آن به رنگ سبز در آید. شماره پورت سریال را با توجه به سیستم خودتان تغییر دهید. فرکانس کریستال، حالت SPI و سایز فلش را نیز همانند تصویر تنظیم کنید.
در نهایت، دکمهای با نام start یا flash یا connect در نرم افزار وجود دارد که با فشردن آن، عملیات آغاز میشود.
گام چهارم – کانفیگ کردن ماژول
بعد از اینکه عملیات آپلود فایل فلش بر روی ماژول تمام شد، یک بار اتصال USB را قطع و وصل کنید. سپس با کمک یک نرم افزار پورت سریال (مثل پنجره سریال مانیتور خود آردوینو) به ماژول وصل شوید. سرعت پورت سریال (Baud rate) را روی 115200 و NL&CR قرار دهید. سپس دستورات زیر را برای ماژول ارسال کنید. به جای ### مقادیر مورد نیاز خود را قرار دهید و نیازی هم به علامت ” ندارد.
برای وارد کردن اسم شبکه وای فایی که میخواهید به آن متصل شوید:
1 | set ssid #### |
برای مثال، اگر اسم وای فای شما Sina باشد، باید به این صورت وارد کنید:
1 | set ssid Sina |
به همین ترتیب، سایر تنظیمات را نیز وارد کنید. بین هر دستوری که ارسال میکنید، کمی صبر کنید تا ماژول پاسخ درخواست شما را بدهد. معمولاً پاسخ ماژول به این صورت خواهد بود:
1 2 | SSID set CMD> |
وارد کردن گذرواژه مودم وای فای شما:
1 | set password ##### |
ماژول پس از اینکه به مودم وای فای شما وصل شد، میبایست آن را مجدداً تکرار نماید، بنابراین باید یک نقطه دسترسی یا AP (چیزی شبیه به قابلیت HOT SPOT تلفنهای هوشمند) برای Wi-Fi REPEATER شما ایجاد کند. شما میتوانید نام و رمز عبور شبکه جدید را نیز به دلخواه خودتان تغییر دهید! برای مثال اگر مودم وای فای شما رمز دارد، به کمک ماژول ESP8266 آن را بدون رمز کنید! یا برعکس!
برای تعیین نام نقطه دسترسی یا همان وای فای جدید شما، دستور زیر را وارد کنید:
1 | set ap_ssid ##### |
اگر میخواهید وای فای جدید شما، دارای رمز باشد، در دستور زیر مقدار 0، و اگر میخواهید بدون رمز و باز باشد، عدد 1 را وارد کنید. (به طور پیش فرض بدون رمز میباشد.)
1 | set ap_open 0 |
برای تعیین رمز عبور وای فای جدید:
1 | set ap_password #### |
در نهایت، با دستورات زیر تنظیمات را ذخیره و از کنسول خارج شوید. سپس یک بار نیز ماژول را ریست کنید:
1 2 | save quit |
بررسی عملکرد
این پروژه، بیشتر از اینکه جنبه عملی داشته باشد، برای تست و ارزیابی این موضوع بود که آیا به کمک ماژول ESP82266 یا برد آموزشی Node Mcu، میتوان یک Wi-Fi REPEATER ساخت یا خیر. در هنگام تست عملی، مشکلی که دیده شد، گاهی اوقات اتصال موبایل به ماژول به سختی صورت میگیرد و در مرحله تعیین آی پی آدرس توسط ماژول، مدتی گیر میکند. همچنین اتصال ناپایدار بوده و ممکن است قطع شود. اما با چند بار تست کردن و خاموش و روشن کردن وای فای موبایل، برای مدتی اتصال برقرار بود و تقریباً تمام نرم افزارهای تلگرام، اینستاگرام و… بدون مشکل، اما با سرعت کم باز میشدند. جستجو و وب گردی نیز قابل انجام بود. اما سرعت پایین و قطعی یکی از مشکلات این پروژه است. همچنین با توجه به اینکه سورس فایل فلش وجود ندارد، ممکن است اعتماد به آن نیز سخت باشد.
بروز رسانی
پس از اینکه این پروژه را به عنوان یک سرگرمی الکترونیکی انجام و متن آن را برای آموزش آماده کردم، متوجه شدم در گیت هاب نیز پروژه متن بازی مشابه با امکانات خیلی بهتر وجود دارد! با توجه به اینکه سازنده توضیحات بسیار خوبی در مورد نحوه راه اندازی و امکانات آن داده است، به راحتی میتوانید آن را راه اندازی کنید.
همچنین سورس مشابهی را نیز اخیراَ آقای علی بیگدلی در صفحه گیت هاب خود منتشر کرده اند که می توانید روش پیاده سازی این پروژه را از طریق آن یاد بگیرید.
پروژه ی متن باز یعنی اینکه میتونیم پروژه ی وای فای رپیتر رو به کمک کد نویسی هم انجام بدیم ؟
سلام، متنباز یا منبعباز (به انگلیسی: Open source ) یک کد منبع است که برای اصلاح و توزیع مجدد احتمالی آزادانه در دسترس قرار میگیرد.
یه این معنی که کد های اصلی پروگرام این پروژه در دسترس عموم هست.
این مشکلم حل شد الان تا وسطا میره بعدش این خطا رو توی کنترل پنل ویندوز میده.
KEY PATH NONE…
یعنی فرایند پروگرام شدن تمام شد ؟
سلام خسته نباشید وقتی من استارت رو میزنم در قسمت کنترل پنل این خصا رو میده:
raise in device connect
chip sync error.
baudrate sync fail … retry…
Connecting…
و بعدش دوباره همینطوری هی تلاش دوباره
مشکل از چیا میتونه باشه؟
درایور نصب نشد برا من ارور داد ولی تو قسمت دیوایس منیجر رفتم و دیدم که پورت COM7 رو شناخته و جلوش نوشته USB-SERIAL CH340 (COM7)
و اینکه قبلا روی نود ام سی یو که همین تراشه رو داشته کد آپلود کردم و فکر نکنم مشکل از درایور باشه.
سلام دوست عزیز
مساله اینه که نرم افزار پروگرامر به هر دلیلی نمیتونه به بوت لودر چیپ وصل بشه
حالا مشکل از پورت سریال میتونه باشه تا حتی این که چیپ شما در حالت بوت لودر قرار نگرفته باشه
برای تست بهتر میتونید با گرفته دکمه boot و ریست دستی در هنگام پروگرام مطمين بشید که میکروکنترلر شما در حالت بودت قرار داره
خیلی خیلی ممنون و سپاسگذارم از راهنماییتون .
سلام خیلی ممنون از آموزشتون . ببخشید من میخام اینترنتو با وای فای بدم بهش بد به صورت خروجی لن ازش بگیرم . آیا امکانش هست؟؟؟ ممنون میشم اگه راهنمایی کنید .
عملا که شدنی هست، ولی اون سرعتی که مد نظر دارید رو شاید نتونه ارائه بده. از تراشه هایی مثل wiznet می تونید استفاده کنید که با رابط SPI به ماژول وصل میشن و خروجی LAN دارند. کتابخانه های آردوینوش هم هست و به راحتی می تونید با توابع سطح بالای اون کار کنید. بعد باید برنامه رو جوری بنویسید که ترافیک رو بین وای فای و لن مدیریت بکنه. هم کمی سخت هست، هم کمی غیراصولی، اما از لحاظ عملی، مثل همین تکرارکننده وای فای شدنیه. مثلا شما میتونید یه برد رزبری پای که وای فای داره رو بردارید و با اون خیلی راحت تر این کار رو انجام بدید. سرعت بیشتری هم داره.
سلام وقت بخير
موقع استارت زدن داخل نرم افزار اين پيغام ميده مشكل چيه؟ COMFAIL
احتمالاً یا درایور CH340 را نصب ندارید، یا شماره پورت را اشتباه انتخاب کردهاید، یا ماژول شما به درستی به کامپیوتر متصل نشده و…
از طریق Device Manager این موضوع را بررسی کنید.
سلام وقت بخير
لينك فايل پروژه براي دانلود قرار نداديد
بيزحمت لينك در پاسخ قرار بديد ممنون
درود بر شما.
خیلی ممنون که اطلاع دادید، مطلب ویرایش شد. در قسمت گام اول، میتونید لینک دانلود رو ببینید.
https://sisoog.com/wp-content/uploads/2020/11/ESP8266Extend.7z
پروژه گیت هاب همینه ولی آپدیت شده و جدیدتره. من قبلاً این رو تست کردم و به دلیل سرعت پایین برای کاربرد خانگی یا کاری مناسب نیست. فکر کنم برای نرخ دیتا پایین مثل IoT در یک سوله بزرگ بد نباشه.
درود بر شما.
سپاسگزارم، حتی اگر همین پروژه هم باشه، همین که متن بازه خیلی بهتر هست.
بروز هم شده باشه که چه بهتر.
ممنون که تجربتون رو به اشتراک گذاشتید.
سلام.
برای یک پروژه IoT مربوط به کنترل سیستم سرمایشی یک ساختمان که سیگنال wifi به همه قسمت های اون نمیرسه به نظرتون میتونه ایده خوبی باشه؟
سلام، به نظر من اگر قابلیت اطمینان (reliability) براتون خیلی پراهمیت نیست این مورد گزینه خوبی است. چون گاهی احتمال قطعی داره.