ریموت وای فای با ESP8266 و بسکام در مد AP

ریموت کنترل WiFi با ماژول ESP8266 و موبایل اندروید Android (بدون نیاز به روتر و اینترنت)
1394/06/19 –> Last Update: 1395/05/23 (a bug fixed in bascom code)

در ادامه مقاله اینترنت اشیاء و راه اندازی ماژول WiFi وای فای ESP8266 به عنوان Client  و در مد کاری Station که قادر بود به یک سرور اینترنتی متصل شود و یک رله را کنترل نماید تصمیم گرفتیم مقاله دیگری برای مد کاری دیگر این ماژول یعنی مد Server یا AP (اکسس پوینت) بنویسیم.

ماژول WiFi وای فای ESP8266 در مد AP قادر است همانند یک سرور کوچک عمل کرده و ضمن اینکه می توان برای این اکسس پوینت (همانند مودم ADSL) نام SSID و Password در نظر گرفت می توان با AT Command خاصی ماژول را وادار به گوش دادن به پورت خاص نمود. شایان ذکر است که ماژول ESP8266 در مد AP معمولاً همیشه آی پی ثابت و فیکس 192.168.4.1 را گرفته و با تعریف یک پورت دلخواه مثلا پورت شماره 1394 می توان از ترکیب این آی پی و پورت یک سوکت مانند (192.168.4.1:1394) ایجاد کرد و با استفاده از نرم افزارهای مختلف تحت اندروید یا Windows همانند Telnet به این ماژول متصل شد و رشته های متنی را برای آن ارسال کرد. این رشته ها متقابلاً در خروجی پایه TX ماژول قابل دریافت بوده و می توان با کمک آن رله ای را فعال یا غیر فعال کرد.

از این ایده می توان برای ساخت ریموت کنترل WiFi وای فای بدون نیاز به اینترنت و روتر و مودم استفاده کرد. در این ایده با استفاده از یک موبایل یا تبلت یا لپ تاپ دارای WiFi براحتی میتوان نام ماژول را جستجو کرده و پس از وارد کردن رمز عبور به ماژول متصل شد. پس از متصل شدن به ماژول بسته به نوع دستگاه ما (اندروید، ویندوز، IOS و …) بایستی به نحوی به سوکت ماژول متصل شده و رشته دلخواه مثلا on یا Off را برای ماژول ارسال کنیم. برای این منظور ما در گوشی اندروید از نرم افزار رایگان تل نت Telnet استفاده کرده ایم که می توانید از انتهای همین صفحه فایل APK آن را دانلود نمایید. برای ویندوز فون هم مطمئناً این نرم افزار در دسترس خواهد بود و در بر روی تبلت و لپ تاپ ویندوز هم بصورت پیش فرض Telnet نصب می باشد.

برنامه ای که برای میکروکنترلر ATmega8 با کامپایلر BASCOM بسکام/بیسکام نوشته شده یک ریموت کنترل یک کانال وای فای WiFi با ماژول ESP8266 می باشد و قادر است در پاسخ به رشته های on و off رله خود را روشن و خاموش کرده و پیام Delivery برای دستگاه ارسال نماید. همچنین با ارسال رشته status وضعیت کنونی رله را ارسال می نماید. توجه داشته باشید که رشته ها کاملاً با حروف کوچک و بدون فاصله اضافه در ابتدا و انتها در Telnet تایپ شود.

آپدیت ۱ تیر ۹۵: فایل PCB ریموت تک کانال Wi-Fi با ماژول وای فای ESP8266EX طراحی شد.

همانطوریکه در شکل مقابل پیداست برد کامل راه اندازی ماژول ESP8266(EX) بصورت فشرده و همراه با LCD و رله طراحی و ساخته شده است. تغذیه این برد بین 9 تا 12 ولت مستقیم (500 میلی آمپر) می باشد و از رله 5 ولت استفاده می کند. این برد ترکیبی از قطعات DIP و SMD بوده و از فیلتر LC در ورودی تغذیه بهره می گیرد. برد مفید این کنترل از راه دور بیسیم به عوامل ریادی بستگی دارد از جمله قدرت وای فای گوشی و محیط عملکرد. در آزمایشی که با یک گوشی معمولی SAMSUNG Galaxy Gio (با قدرت Wi-Fi متوسط) انجام دادیم در محیط بسته (داخل ساختمان) تا دو طبقه جواب گرفتیم (دو سقف بین ماژول و موبایل) و برد آن دقیقا مانند ارتباط بین مودم و گوشی است. در محیط باز نیز بصورت دید مستقیم در حالی که ریموت و گوشی دقیقا در دید یکدیگر بودند تا فاصله 80 متری بخوبی جواب می داد و آنتن wi-fi گوشی روی سطح یک بود.

آپدیت: برنامه ی اندروید برای ریموت وای فای طراحی شد.

   

در آپدیت جدید یک برنامه ی اندروید برای کار راحت تر با ریموت وای فای طراحی شده است. این برنامه بصورت خودکار IP خودِ ماژول (DHCP) را تشخیص داده و یک سوکت متشکل از آی پی وپورت 1394 را بصورت خودکار باز میکند. (توجه: در ابتدا بایستی از تنظیمات Wi-Fi گوشی ماژول را پیدا کرده و به آن متصل شود سپس برنامه را باز کنید) پس از باز کردن برنامه با یک کلید گرافیکی شبیه به کلید لامپ اتاق مواجه می شوید که بوسیله ی آن می توانید رله را روشن و خاموش نمایید. کلید بصورت متحرک و گرافیکی بوده و حتی صدای ضربه ی روشن و خاموش کلید نیز ایجاد می شود و پس از روشن کردن کلید اگر رله واقعا وصل شود پس از یک ثانیه علامت لامپ نیز در کنار کلید روشن می شود که وضعیت واقعی رله را نمایش می دهد. به همین ترتیب پس از خاموش کردن کلید در صورتی که رله واقعا خاموش شود و پیغام Delivery را به برنامه ارسال نماید علامت لامپ در صفحه ی برنامه خاموش می شود.

برای دانلود این برنامه به انتهای همین صفحه مراجعه فرمایید و سورس اندروید استودیو را بارگیری کنید. با دریافت سورس می توانید به هر تعداد کلید دلخواه بر روی صفحه ی گوشی یا تبلت قرار داده و گرافیک برنامه را مطابق با میل خود عوض کنید.

آپدیت جدید (1395/05/23): برنامه ی اندروید جدید برای ریموت وای فای طراحی شد.

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

شماتيک:

راه اندازی:

پس از دانلود و پروگرام کردن فایل Hex در میکروکنترلر ATmega8 و تنظیم فیوز بیت اسیلاتور روی کریستال خارجی (111111) و اتصال تغذیه مشاهده خواهید کرد که عباراتی برای تنظیم اولیه ماژول بر روی LCD نوشته می شود. پس از حدود 10 ثانیه علامت آنتن در گوشه سمت راست LCD و عدد 1 در گوشه سمت چپ LCD نمایش داده می شود. این به معنی آماده بودن دستگاه برای اتصال است.

قبل از هر چیز WiFi گوشی را روشن کرده و وارد تنظیمات وای فای شوید. بایستی دستگاهی به نام AVR64.com را مشاهده کنید. دستگاه مذکور که همین ماژول ESP8266 می باشد را انتخاب کرده و برای اتصال، گزینه رمزنگاری WPA/WPA2 را انتخاب و رمز 12345678 را وارد کنید تا به ماژول متصل شوید. در صورت اتصال موفقیت آمیز علامت آنتن وای فای در گوشی شما روشن شده و سیگنال با قدرت بالا را نمایش می دهد (قدرت ماژول ESP8266 از مودم های خانگی به مراتب بیشتر است).

حال برنامه Telnet.apk را دانلود و بر روی گوشی یا تبلت اندرویدی خود نصب کنید. پس از نصب برنامه آیکن آن را در گوشی پیدا کرده و با لمس آن وارد محیط برنامه شوید. البته برای راحتی کار می توانید اپ های گرافیکی طراحی شده توسط AVR64 را نیز با دانلود سورس اندروید استودیو از انتهای صفحه دریافت و نصب کنید.

پس از ورود به برنامه Telnet پنجره زیر را خواهید دید. IP و Port را مطابق شکل زیر وارد کرده و کلید Connect را لمس کنید.

نمایش عبارت …Connecting در پنجره Telnet به معنای اتصال به ماژول می باشد. حال با نوشتن عبارت on در فیلد متنی پایین برنامه و لمس کلید GO، رله متصل به ماژول روشن خواهد شد و عبارت RELAY TURN ON از طرف ماژول برای ترمینال ارسال می شود. با نوشتن رشته off نیز رله خاموش شده و رشته RELAY TURN OFF برای موبایل ارسال می شود. همچنین می توانید با ارسال عبارت status وضعیت کنونی رله را ببینید، بدین ترتیب در صورت روشن بودن رله عبارت Relay is on با حروف کوچک مشاهده خواهد شد و در صورت خاموش بودن رله عبارت Relay is off را در صفحه ترمینال خواهید دید.


سورس کامل راه اندازی ماژول ESP8266 در مد Access Point (ریموت کنترل) به زبان بیسیک و با کامپایلر BASCOM-AVR (بسکام/بیسکام):
همراه با فایل برد مدار چاپی (با خروجی نرم افزار PCB ،Altium و PDF)

نسخه (2.0.21) 1395/05/23

 دانلود

سورس کامل اپلیکیشن موبایل ریموت کنترل وای فای به همراه فایل apk اپ های طراحی شده:
(زبان برنامه نویسی: جاوا Java – کامپایلر: اندروید استدیو Android Studio)
توجه: آموزش کامل اندروید استدیو را در این سایت ببینید: Apdroid.ir

 دانلود

بازدیدها: 1674