اینترنت اشیا IOT برد ESP8266 برد Nodemcu برد ویموس Wemos

راه اندازی و کار با ماژول ESP8266، بخش هشتم: شناخت و راه اندازی MDNS

نوشته شده توسط معین صابری

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

 


MDSN تعریف و کاربرد


در این قسمت به بررسی مقهوم MDNS پرداخته و سپس آموزش را در پی می گیریم. پیش از بررسی مفهوم MDNS، می بایست به تعریف و تشریح مفهوم DNS بپردازیم. عبارت DNS که مخفف Domain Name Service است، یک پروسه کلی در شبکه اینترنت جهت تبدیل آدرس آی پی به نام دامنه است. در این روش، آدرس آی پی هر سرور اینترنتی، به نام دامنه آن نگاشت می شود.

MDSN تعریف و کاربرد در برد ESP8266 - دیجی اسپارک

 

بنابراین در سرویس DNS، آدرس آی پی به نام تبدیل می شود. به عنوان مثال، یکی از آی پی آدرس های گوگل برابر با ۱۴۲٫۲۵۰٫۱۸۵٫۴۶ است. طبعا به خاطر سپاری این آدرس مشکل خواهد بود. سرویس DNS  با تبدیل آدرس آی پی سرویس گوگل به google.com، به خاطر سپاری آن را ممکن کرده و همواره آدرسی ثابت برای سرویس گوگل فراهم می کند. دقیقا مشابه همین سرویس، سرویس MDNS را خواهیم داشت. این عبارت که مخفف MulticastDNS است، سرویس DNS را در شبکه محلی (LOCAL) اجرا می کند. در این سرویس دستگاه های حاضر در شبکه یک آدرس به صورت نام، همانند google.com دریافت می کنند. ماژول های ESP نیز از این سرویس پشتیبانی کامل می نمایند. در این سروش شما با قرار دادن ماژول در حالت سرور و تعریف آدرس، می توانید آدرس سرور همانند سایت ها تعریف کنید. بدین ترتیب با تغییر آی پی ماژول، آدرس سرور ثابت خواهد ماند. از آنجاییکه شبکه به صورت محلی اداره می شود،  بنابراین پسوند آدرس ها .local خواهد بود. به عنوان مثال می توانیم سروری با آدرس esp8266.local بسازیم. در ادامه به شرح این موضوع و نحوه ایجاد آدرس دامنه برای سرورها می پردازیم.

 


اجرای MDNS در ماژول ESP8266


در این قسمت به دستورات و توابع مورد نیاز جهت اجرای MDNS می پردازیم، سپس در قسمت بعدی طی یک برنامه، به سرور فرمان ارسال خواهیم نمود. برای این مورد ابتدا می بایست از کتابخانه MDNS به صورت زیر استفاده کنیم.

در ادامه به کمک تابع زیر، نام سرور MDNS را فعال می کنیم. در این تابع ورودی نام سرور است. دقت کنید که نام سرور بدون پسوند باشد. پسوند کلیه نام های دامنه در این سیستم، به صورت .local تعیین خواهد شد.

 

در تابع فوق نام آدرس ورودی را esp8266 تعیین کرده ایم. در ادامه به کمک تابع زیر می بایست مشخصات سرور خود را تعیین کنید. در تابع زیر ورودی اول پروتکل ارتباطی، ووردی دوم سرشاخه پروتکل ارتباطی یعنی tcp یا udp و ورودی سوم شماره پورت را تعیین می کند.

در تابع فوق ما ورودی اول را به صورت http، ورودی دوم از نوع tcp و ورودی سوم را از نوع پورت ۸۰ تعیین کرده ایم. در قمت بعدی این موارد را طی یک برنامه کامل مشاهده خواهیم نمود.

 


اجرای یک نمونه برنامه


پس از معرفی اجزا و قسمت های مختلف سرویس MDNS، نوبت به اجرای یک نمونه برنامه می رسد. در این برنامه مطابق قسمت های قبلی، یک سرور تعریف می کنیم. در این سرور پایه GPIO4 به عنوان خروجی تعریف شده که با ارسال مقدار ۱، LED متصل به پایه روشن و با ارسال ۰، LED خاموش خواهد شد.

 

جهت دسترسی به این بخش، اشتراک اسپارکر پلاس تهیه کنید.

 

پس از آپلود و اجرای برنامه، نوبت به تست آن می رسد. در اینجا ما از مرورگر رایانه خود استفاده می کنیم. توجه داشته باشید هر ماژول ESP و رایانه نیز باید به یک مودم متصل باشند. در حقیقت در پشت صحنه، پروتکل لایه انتقال(Transparent) نیز در حال اجراست. بنابراین در مروگر خود آدرس http://esp8266.local/?data=1 وارد کنید. در این سناریو به کمک متد get و با ارسال عدد ۱ که در متغیر data قرار می گیرد، فرمان جهت روشن نمودن لامپ ارسال می شود. سرور پس از دریافت فرمان، پیغامی مبنی بر دریافت موفقیت آمیز پیام را در صفحه مرورگر ظاهر می نماید.

آموزش راه اندازی ESP8266 بخش هشتم MDNS - دیجی اسپارک

 

در ادامه، زمانیکه داده ها توسط سرور دریافت شوند، وضعیت و روال کار در سریال مانیتور مطابق تصویر زیر به نمایش در می آید.

گزارش وضعیت سریال مانیتور ESP8266 - دیجی اسپارک

 


لوازم مورد نیاز


مبدل سریال به USB

ماژول ESP8266-12E

ماژول مبدل SMD به DIP

 


جمع بندی


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

 

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

 

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

معین صابری

کارشناسی ارشد رشته معماری سیستم های کامپیوتری

مالي که ز تو کس نستاند، علم است
حرزي که تو را به حق رساند، علم است
جز علم طلب مکن تو اندر عالم
چيزي که تو را ز غم رهاند، علم است
(شیخ بهایی)

تبادل نظر و رفع عیب با ثبت دیدگاه