ممکن است برای شما هم اتفاق افتاده باشد که پروژه ای را در محلی نصب کرده باشید و ببینید که خوب کار نمی کند؟ و یا مثلا فردای نصب پروژه دچار مشکل شود؟ خب این اتفاق همیشه برای من رخ می دهد. یا مثلاً، قصد دارم ویژگی تازه ای را به کنترل کننده گلخانهام یا ایستگاه آب و هوایم اضافه کنم !، اما نمی خواهم برای تست و بازنگری چند روزی آن را به روی میز کارم منتقل کنم. در عوض دوست دارم از راه دور رفع اشکال یا اصلاح کد را انجام دهم. تصور کنید شب راحت در خانه نشسته اید و پروژه تان در جای دیگری مشغول به کار است و شما به سادگی پارامتر های آن را مشاهده و بررسی میکنید ! واقعا فوق العاده نیست ؟! اولین تلاشم برای دستیابی یه چنین امکانی استفاده از BeagleBone Black و یک دانگل Wifi بود بدین صورت که داده های دریافت شده از پورت سریال را به شبکه Wifi منتقل کنم. البته به جای BeagleBone Black میتوانید از برد های لینوکسی دیگر نظیر Raspberry Pi نیز استفاده کنید. در واقع من یک BeagleBone Black به قیمت 55 دلار و یک دانگل وای فای به قیمت 10 دلار را به یک ویجت FTDI از راه دور تبدیل کردم. اولین لحظه راه اندازی برای من مثل بهشت بود. چرا که از یک راه حل ارزان قیمت برای یک پروژه بزرگ استفاده کرده بودم و به خوبی کار می کرد. اما وقتی وسوسه شدم که این امکان را به دیگر پروژه هایم اضافه کنم دیگر یک BeagleBone Black کافی نبود و میخواستم کنترل بردهای بیشتری را از این طریق به دست بگیرم. اما پیش بینی خرید 3-4 تا BeagleBone Black دیگر، به نظر ارزان نمی آمد. در این زمان بود که ماژول وای فای esp8266 با قیمت 5 دلار چشمم را گرفت. ماژول esp8266 یک ماژول وای فای با یک پردازنده قابل برنامه ریزی و یک پورت سریال است و البته مهمتر از همه SDK (کیت توسعه نرم افزار) آن است که در دسترس برنامه نویس ها قرار گرفته است. وجود SDK این امکان را میدهد که برنامه دلخواه خودمان را روی پردازنده ماژول پروگرام کنیم بدون این که نیازی به پردازنده کناری باشد ، درست همانطور که با BeagleBone Black انجام دادم. ذهنم درگیر محاسبه شد: چه می توانم انجام دهم؟ هزینه یک سخت افزار کامل چقدر است؟ چقدر توان نیاز دارد؟ محدوده وای فای آن چقدر است؟ در آن لحظه با یکی از دوستانم درباره پروژه کوچکم که اسم آن را “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 که در مرورگر قابل بارگزاری است:
داشبرد اولیه ESP-LINK و نمایش پارامتر های سیستم
صفحه مربوط به تنظیمات Wifi
کنسول نمایش Uart در صفحه وب
تنظیمات مروبط به اتصال پایه ها
تنظیمات مربوط به هات اسپات esp-link
تنظیمات مربوط به MQTT و تعریف دستورات خاص
چطور و از کجا شروع کنیم :
برای شروع باید:
ماژول esp8266 را برای برنامه ریزی از طریق سریال آماده کنید
اگر نمیداند چطور eps8266 را برای پروگرام شدن آماده کنید ؛ اصلا جای نگرانی نیست ؛ قبلا در مقاله آموزش اتصال ربات تلگرام به آردوینو این موضوع رو آموزش دادیم.
سپس شما می توانید میکروکنترلر را با استفاده از پورت سریال متصل کنید و یک برنامه ای را آپلود بر روی آن پروگرام کنید:
یک میکروکنترلر (به عنوان مثال arduino) را به ماژول esp8266 خود متصل کنید.
از طریق پورت سریال قادر خواهید بود که پارامتر های دستگاه را مشاهده کنید.
ارتباط سریال:
برای اتصال 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
سیسوگ در قسمت بیستم و سوم آموزش میکروکنترلر STM8 به بررسی رابط سریال (SPI) پرداخت. در این از قسمت آموزش میکروکنترلر STM8 قصد دارد I2C را مورد بررسی قرار دهد. با سیسوگ همراه باشید. I2C یکی دیگر از روشهای ارتباطی محبوب در ارتبا...
سیسوگ در قسمت بیستم و دوم آموزش میکروکنترلر STM8 به بررسی رابط سریال (UART) پرداخت. در این از قسمت آموزش میکروکنترلر STM8 رابط کاربری سریال (SPI) را مورد بررسی قرار میدهد. با سیسوگ همراه باشید. ارتباط SPI : ارتباط SPI یک روش ...
سیسوگ در قسمت بیستم و یکم آموزش میکروکنترلر STM8 ارتباطات این میکروکنترلر با دنیای بیرون را به صورت اجمالی مورد بررسی قرار داد و قصد دارد در هر قسمت به یکی از رابط های ارتباطی بپردازد. در این از قسمت آموزش میکروکنترلر STM8 رابط ...
سیسوگ در قسمت بیستم آموزش میکروکنترلر STM8 راه اندازی PWM با تایمر 1 در میکروکنترلر STM8 را توضیح داد. در این قسمت آموزش میکروکنترلر STM8 قصد دارد ارتباطات میکروکنترلر STM8 با دنیای بیرون را به صورت اجمالی بررسی کند. با سیسوگ هم...
آموزش میکروکنترلر AVR – قسمت پنجم ; این سری آموزش ها که به جرات می توان آنها را کاملترین آموزشهای موجود دانست با صرف هزینه زیاد و با کیفیت و جزییات بالا توسط استاد ارجمند جناب آقای کینژاد تهیه شده است و به صورت رایگان در اختی...
آموزش میکروکنترلر STM32 ; سیسوگ در قسمت نهم از آموزش میکروکنترلر STM32 طریقه کار با وقفه رابط سریال را با استفاده و بدون استفاده از توابع کتابخانه hal آموزش داد. در این قسمت از آموزش میکروکنترلر STM32 قصد دارد وارد قسمت آموزش کا...
آموزش میکروکنترلر STM32; سیسوگ در قسمت هشتم از آموزش میکروکنترلر STM32 رابط سریال UART را به صورت یک مثال عملی آموزش داد. در این قسمت از آموزش میکروکنترلر STM32 قصد دارد طریقه کار با وقفه رابط سریال را با استفاده و بدون استفاده ا...
آموزش میکروکنترلر STM32 : سیسوگ در قسمت هفتم از آموزش میکروکنترلر STM32 تنظیمات نرمافزار CubeMX برای رابط سریال UART را آموزش داد. در این قسمت از آموزش میکروکنترلر STM32 قصد دارد آموزش ها را در قالب یک مثال عملی نشان دهد. با...
سلام دوستان. سیسوگ در مقاله ششم آموزش میکروکنترلر STM32 طریقه کار با تایمر واتچ داگ را آموزش داد و به معرفی وقفههای خطا پرداخت. در این قسمت از آموزش میکروکنترلر STM32 قصد داریم تنظیمات نرمافزار CubeMX برای رابط سریال UART را آم...
ERASynth محصول جدیدی است از شرکت ERA که با استفاده از معماری چند حلقهای PLL، میتواند فرکانسهای رادیویی را با دامنههای 250KHz تا 15GHz را با دقت یک هرتزی پوشش دهد.
مقولهی مهم عصر جدید، ارتباط است. مسئلهی چالش برانگیز هر ارتباطی، صجت آن است؛ اینکه به نحوی گیرندهی پیام مطمئن باشد منظور شما از پیام چیست و هیچگونه شکی در آن وجود نداشته باشد. در این مقاله به بررسی یکی از راههای خطایابی ارتباطها میپردازیم.
در قسمتهای قبلی آموزش اتصال ربات تلگرام به آردوینو، در خصوص نحوهی ساخت ربات به کمک Botfather و هم چنین برقراری ارتباط با سرورهای تلگرام برای جان بخشیدن به ربات توضیح دادیم و سورس آن را نیز منتشر کردیم. در این آموزش، نگاهی کاربرد...
ممنون از پیشنهادتون
واقعا کاربردی هست. حتما توی پروژه های بعد ازش استفاده میکنم.
خواهش میکنم دوست عزیز 🙂
بله واقعا کاربردی هستش ؛ مخصوصا برای پروژه هایی که دسترسی محدودی بهشون وجود داره
با گوگل ترنسلیت ترجمه کردید ؟؟ 😐 لینک اصلی مقاله رو میدید ؟؟
بله حق با شماست متن چندان که باید روان نیست ؛ به زودی اصلاح میکنیم متن را ؛ منابع رو می توانید در انتهای مطلب ببینید .
متشکر برای انتقاد شما 🙂
عالی دستتون درد نکنه
خواهش میکنیم 🙂