ساخت مبدل سریال به وای فای توسط ESP8266

blog
۱۳۹۷-۰۹-۲۸
6 دقیقه

ممکن است برای شما هم اتفاق افتاده باشد که پروژه ای را در محلی نصب کرده باشید و ببینید که خوب کار نمی کند؟ و یا مثلا فردای نصب پروژه دچار مشکل شود؟ خب این اتفاق همیشه برای من رخ می دهد. یا مثلاً، قصد دارم ویژگی تازه ای را به کنترل کننده گلخانه‌ام یا ایستگاه آب و هوایم اضافه کنم !، اما نمی خواهم برای تست و بازنگری چند روزی آن را به روی میز کارم منتقل کنم. در عوض دوست دارم از راه دور رفع اشکال یا اصلاح کد را انجام دهم. تصور کنید شب راحت در خانه نشسته اید و پروژه تان در جای دیگری مشغول به کار است و شما به سادگی پارامتر های آن را مشاهده و بررسی می‌کنید ! واقعا فوق العاده نیست ؟!

اولین تلاشم  برای دستیابی یه چنین امکانی استفاده از BeagleBone Black و یک دانگل Wifi بود بدین صورت که داده های دریافت شده از پورت سریال را به شبکه Wifi منتقل کنم. البته به جای BeagleBone Black می‌توانید از برد های لینوکسی دیگر نظیر Raspberry Pi نیز استفاده کنید.

 

اتصال BeagleBone Black به wifi

 

در واقع من یک BeagleBone Black به قیمت 55 دلار و یک دانگل وای فای به قیمت 10 دلار را به یک ویجت FTDI از راه دور تبدیل کردم. اولین لحظه راه اندازی برای من مثل بهشت بود. چرا که از یک راه حل ارزان قیمت برای یک پروژه بزرگ استفاده کرده بودم و به خوبی کار می کرد. اما وقتی وسوسه شدم که این امکان را به دیگر پروژه هایم اضافه کنم دیگر یک BeagleBone Black کافی نبود و می‌خواستم کنترل بردهای بیشتری را از این طریق به دست بگیرم. اما پیش بینی خرید 3-4 تا  BeagleBone Black دیگر، به نظر ارزان نمی آمد.

در این زمان بود که ماژول وای فای esp8266 با قیمت 5 دلار چشمم را گرفت. ماژول esp8266  یک ماژول وای فای با یک پردازنده قابل برنامه ریزی و یک پورت سریال است و البته مهمتر از همه SDK (کیت توسعه نرم افزار) آن است که در دسترس برنامه نویس ها قرار گرفته است. وجود SDK این امکان را می‌دهد که برنامه دلخواه خودمان را روی پردازنده ماژول پروگرام کنیم بدون این که نیازی به پردازنده کناری باشد ، درست همانطور که با BeagleBone Black انجام دادم.  ذهنم درگیر محاسبه شد: چه می توانم انجام دهم؟ هزینه یک سخت افزار کامل چقدر است؟ چقدر توان نیاز دارد؟ محدوده وای فای آن چقدر است؟

esp8266

 

در آن لحظه با یکی از دوستانم درباره پروژه کوچکم که اسم آن را “esp-bridge” گذاشته بودم صحبت کردم و احساس کردم که به یک هفته زمان برای کدنویسی احتیاج دارم. در ادامه توضیحات تخصصی تری از این پروژه را بیان خواهم کرد:

 

مبدل سریال به وای فای با استفاده از ESP8266 :

فرمویر esp-link  هر میکروکنترلری را با استفاده از یک ماژول ESP8266 به اینترنت متصل می کند. تعدادی از ویژگی‌های آن عبارتند از:

  • ارتباط ترنسپرت بین وای فای و سریال؛ جهت عیب‌یابی و مشاهده عملکرد میکروکنترلر.
  • امکان پروگرام میکروکنترلرهای AVR یا برد آردوینو و میکروکنترلر LPC800 از طریق وای فای.
  • پیاده سازی پروتکل STK500 جهت برنامه ریزی مستقیم AVR از طریق رابط ISP (تنها کافی است که فایل Hex را آپلود کنید 🙂 )
  • ارسال درخواست های دریافتی از میکروکنترلر بر روی اینترنت جهت درج در سرویس های مختلف
  • سرویس دهنده MQTT از طریق اتصال میکروکنترلر به اینترنت.

فریمور شامل یک سرور HTTP کوچک است که بر اساس eshtttpd  پیاده سازی شده است و یک رابط کاربری ساده را ارائه می دهد.

 

هدف Esp-link چیست؟

هدف از پروژه esp-link ایجاد یک ارتباط وای فای پیشرفته است. Esp-link فرض می کند که یک پردازنده اصلی وجود دارد ( به عنوان “میکروکنترلر متصل شده” ) و نقش esp-link برقراری ارتباط از طریق وای فای با میکروکنترلر ها است.  بدین معنا که esp-link نه تنها اتصال سوکت های TCP / UDP را از طریق میکروکنترلر برقرار می‌کند، بلکه عمدتاً قابلیت های بیشتری برای تخلیه میکروکنترلر دارد که حافظه و فلش این قابلیت ها را ندارند.

با استفاده از ESP-Link ، می توانید میکروکنترلر دستگاه خود را پروگرام و برنامه ریزی کنید آن هم از طریق اینترنت .

سه حوزه اصلی از قابلیت های esp-link عبارتند از:

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

کاربردهای  Esp-link:

ساده ترین کاربرد esp-link به عنوان یک  ارتباط سریال به وای فای است. شما می توانید میکروکنترلر متصل شده را از طریق وای فای پروگرام کنید و می توانید خروجی سریال میکروکنترلر را با اتصال به پورت 23 یا با استفاده از صفحه وب esp-link مشاهده کنید.

 

سطح بعدی استفاده از اتصال خروجی esp-link در برنامه میکروکنترلر است. به عنوان مثال، میکروکنترلر می تواند درخواست های REST را به سرویس هایی مانند thingspeak.com ارسال کند تا به صورت نموداری و جدول قابل مشاهده باشند. میکروکنترلر همچنین می تواند از درخواست های REST برای بازیابی اطلاعات پیکربندی استفاده کند.

گزینه دیگر، اضافه کردن برنامه به esp-link برای سفارشی کردن آن و قرار دادن تمام کد های ارتباطی در esp-link است و تنها قرائت سنسور در میکروکنترلر انجام می شود. در این حالت میکروکنترلر دستورات تعریف شده را به esp-link ارسال می کند و esp-link آن را با استفاده از بستر ارتباطی نظیر اینترنت و MQTT به سرور منتقل می کند.

 

چشم انداز:

تصاویری از محیط ESP-Link که در مرورگر قابل بارگزاری است:

 

مبدل سریال به وای فای توسط ESP8266

داشبرد اولیه ESP-LINK و نمایش پارامتر های سیستم

مبدل سریال به وای فای توسط ESP8266

صفحه مربوط به تنظیمات Wifi

مبدل سریال به وای فای توسط ESP8266

کنسول نمایش Uart در صفحه وب

 

مبدل سریال به وای فای توسط ESP8266

تنظیمات مروبط به اتصال پایه ها

 

مبدل سریال به وای فای توسط ESP8266

تنظیمات مربوط به هات اسپات esp-link

 

 

مبدل سریال به وای فای توسط ESP8266

تنظیمات مربوط به MQTT و تعریف دستورات خاص

چطور و از کجا شروع کنیم :

برای شروع باید:

  1. ماژول esp8266 را برای برنامه ریزی از طریق سریال آماده کنید
  2. آخرین نسخه esp-link release را دانلود کنید
  3. فریمور را بر روی esp8266 پروگرام کنید.
  4. پیکربندی وای فای در esp-link برای شبکه محلی
اگر نمیداند چطور eps8266 را برای پروگرام شدن آماده کنید ؛ اصلا جای نگرانی نیست ؛ قبلا در مقاله آموزش اتصال ربات تلگرام به آردوینو این موضوع رو آموزش دادیم.

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

  1. یک میکروکنترلر (به عنوان مثال arduino) را به ماژول esp8266 خود متصل کنید.
  2. از طریق پورت سریال قادر خواهید بود که پارامتر های دستگاه را مشاهده کنید.

 

ارتباط سریال:

برای اتصال  esp-link به میکروکنترلر از پورت 23 استفاده کنید. به عنوان مثال، در linux شما می توانید از “nc esp-hostname 23” یا در ویندوز از “telnet esp-hostname 23”  استفاده کنید.

 

تایم اوت در پورت 23 و 2323 حدود 5 دقیقه است. زمان 5 دقیقه در SDK Espressif یک استاندارد است و esp-link آن را تغییر نمی دهد. به این دلیل که با توجه به محدودیت های حافظه تنها چند اتصال می تواند باز باشد (4 تا در هر پورت) به همین دلیل گاهی اتصالات ارتباطشان را از دست می دهند. به عنوان مثال، به دلیل قطع وای فای. که این به راحتی می تواند باعث عدم اتصال به esp-link شود.

توجه داشته باشید که چند کاربر به صورت همزمان می توانند به پورت 23 و 2323  متصل شوند. Esp-link کارکتر های دریافتی تمامی کاربر ها را به پورت سریال ارسال می کند و کاراکتر های ورودی را از پورت سریال به تمام کاربرها ارسال می کند. پس با احتیاط استفاده کنید.

 

منبع 1

منبع 2

 

 

اطلاعات
9
0
لینک و اشتراک
profile

electronic girl

متخصص الکترونیک

دوستدار الکترونیک

مقالات بیشتر
slide

پالت | بازار خرید و فروش قطعات الکترونیک

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

آیسی | موتور جستجوی قطعات الکترونیک

سامانه آی سی سیسوگ (Isee) قابلیتی جدید و کاربردی از سیسوگ است. در این سامانه سعی شده است که جستجو، انتخاب و خرید مناسب تر قطعات برای کاربران تسهیل شود. وقتی شما در این سامانه، قطعه الکترونیکی را جستجو می‌کنید؛ آی سی به سرعت نتایج جستجوی شما در اکثر فروشگاه‌های آنلاین در حوزه قطعات الکترونیک را نمایش می‌دهد. جستجو در آیسی
family

فروشگاه سیسوگ

فروشگاه سیسوگ مجموعه ای متمرکز بر تکنولوژی های مبتنی بر IOT و ماژول های M2M نظیر GSM، GPS، LTE، NB-IOT، WiFi، BT و ... جایی که با تعامل فنی و سازنده، بهترین راهکارها انتخاب می شوند. برو به فروشگاه سیسوگ
family

سیسوگ فروم | محلی برای پاسخ پرسش‌های شما

دغدغه همیشگی فعالان تخصصی هر حوزه وجود بستری برای گفتگو و پرسش و پاسخ است. سیسوگ فروم یک انجمن آنلاین است که بصورت تخصصی امکان بحث، گفتگو و پرسش و پاسخ در حوزه الکترونیک را فراهم می‌کند. پرسش در سیسوگ فرم
become a writer

نویسنده شو !

سیسوگ با افتخار فضایی برای اشتراک گذاری دانش شماست. برای ما مقاله بنویسید.

ارسال مقاله
become a writer

نویسنده شو !

سیسوگ با افتخار فضایی برای اشتراک گذاری دانش شماست. برای ما مقاله بنویسید.

ارسال مقاله
خانواده سیسوگ

پالت | بازار خرید و فروش قطعات الکترونیک

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

آیسی | موتور جستجوی قطعات الکترونیک

سامانه آی سی سیسوگ (Isee) قابلیتی جدید و کاربردی از سیسوگ است. در این سامانه سعی شده است که جستجو، انتخاب و خرید مناسب تر قطعات برای کاربران تسهیل شود. وقتی شما در این سامانه، قطعه الکترونیکی را جستجو می‌کنید؛ آی سی به سرعت نتایج جستجوی شما در اکثر فروشگاه‌های آنلاین در حوزه قطعات الکترونیک را نمایش می‌دهد.
family

فروشگاه سیسوگ

فروشگاه سیسوگ مجموعه ای متمرکز بر تکنولوژی های مبتنی بر IOT و ماژول های M2M نظیر GSM، GPS، LTE، NB-IOT، WiFi، BT و ... جایی که با تعامل فنی و سازنده، بهترین راهکارها انتخاب می شوند.
family

سیسوگ فروم | محلی برای پاسخ پرسش‌های شما

دغدغه همیشگی فعالان تخصصی هر حوزه وجود بستری برای گفتگو و پرسش و پاسخ است. سیسوگ فروم یک انجمن آنلاین است که بصورت تخصصی امکان بحث، گفتگو و پرسش و پاسخ در حوزه الکترونیک را فراهم می‌کند.
family

دیدگاه ها

profile
S-AmirAli گفت :
۱۴۰۲-۰۵-۱۷ ۰۰:۵۴

سلام وقت بخیر
لینک دانلود کار نمیکنه، و نمیتونم فایل اصلی داخل گیت هاب رو کامپایل کنم.
اگه امکانش هست لینک دانلود قرار بدید، برای esp01 و esp8266

profile
AMIR گفت :
۱۴۰۲-۰۴-۱۸ ۰۹:۰۵

فریمور را بر روی esp8266 پروگرام کنید.

این قسمت رو چطور باید انجام داد؟!
فایل هایی ک از گیتهاب دانلود کردیمو چجوری کامپایل کنیم تا خروجی بده بهمون
یا چطور توی برنامه خود اردوینو استفاده کنیمش

profile
Zeus ‌ گفت :
۱۴۰۲-۰۷-۰۷ ۱۲:۵۹

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

profile
محمد گفت :
۱۳۹۷-۰۹-۲۸ ۱۷:۲۶

ممنون از پیشنهادتون
واقعا کاربردی هست. حتما توی پروژه های بعد ازش استفاده میکنم.

profile
زئوس Zeus گفت :
۱۳۹۷-۰۹-۲۹ ۱۲:۴۱

خواهش میکنم دوست عزیز 🙂
بله واقعا کاربردی هستش ؛ مخصوصا برای پروژه هایی که دسترسی محدودی بهشون وجود داره

profile
امید گفت :
۱۳۹۷-۰۹-۲۸ ۱۶:۵۲

با گوگل ترنسلیت ترجمه کردید ؟؟ 😐 لینک اصلی مقاله رو میدید ؟؟

profile
زئوس Zeus گفت :
۱۳۹۷-۰۹-۲۸ ۱۷:۵۱

بله حق با شماست متن چندان که باید روان نیست ؛ به زودی اصلاح میکنیم متن را ؛ منابع رو می توانید در انتهای مطلب ببینید .
متشکر برای انتقاد شما 🙂

profile
امید گفت :
۱۳۹۷-۰۹-۲۹ ۱۳:۲۷

عالی دستتون درد نکنه

profile
زئوس Zeus گفت :
۱۳۹۷-۰۹-۲۹ ۱۳:۴۳

خواهش میکنیم 🙂

become a writer

نویسنده شو !

سیسوگ با افتخار فضایی برای اشتراک گذاری دانش شماست. برای ما مقاله بنویسید.

ارسال مقاله
become a writer

نویسنده شو !

سیسوگ با افتخار فضایی برای اشتراک گذاری دانش شماست. برای ما مقاله بنویسید.

ارسال مقاله