هشبکه های کامپیوتری یکی از مهم ترین فناوری ها جهت ایجاد ارتباط بین دستگاه هاست. به کمک ایجاد ارتباط بین چندین کامپیوتر، می توان به انتقال و دریافت داده اقدام نمود. برای ایجاد ارتباط بین دو دستگاه، ساده ترین روش استفاده از پروتکل های ارتباطی سریال و یا موازی است. پروتکل های سریال نظیر UART، SPI، I2C، RS232، RS485 و…. نقش بسیار مهمی در برقراری ارتباط بین دو یا چند دستگاه دارند. اما زمانیکه تعداد دستگاه ها زیاد شود، نیاز به شبکه های پیشرفته تر، نیازی جدی خواهد بود. در طرف دیگر، در بسیاری از موارد می بایست از ارتباط بی سیم استفاده نمود؛ چراکه ارتباط بی سیم خود دارای محدودیت ها و معایبی است. با پیشرفت فناوری به طور خاص الکترونیک و مخابرات، ارتباطات بی سیم رنگ و جلوه ای تازه به صنایع و حتی زندگی روز مره بخشیده اند. به کمک فناوری بی سیم، می توان به سادگی و بدون نیاز به سیم کشی، ارتباط بین دو دستگاه را برقرار نمود. در این روش پیچیدگی شبکه کاهش یافته، سرعت انتقال اطلاعات بالاتر رفته و نگه داری شبکه بسیار ساده تر خواهد بود.
یکی از مهم ترین و پرکابردترین نوع فناوری انتقال داده بی سیم، فناوری وای فای است. این فناوری به قدری سریع رشد و توسعه یافت که امروزه بسیاری از دستگاه های دیجیتال از این فناوری جهت تبادل داده بهره می برند. خانه های هوشمند، ارتباط بین رایانه ها، سیستم های کنترل از راه دور و…. همگی از فناوری وای فای استفاده می کنند. این فناوری به دو مدل زیرساختی(Infrastructure) و ادهاک(adhoc) تقسیم بندی می گردد. در مدل زیر ساختی، ارتباط به صورت یک به چند بوده؛ حال آنکه در شبکه ادهاک ارتباط می تواند به صورت یک به یک باشد. شبکه زیر ساخت همان ارتباطی است که بین مودم های اینترنتی و تلفن های همراه، رایانه ها و …. صورت می گیرد. در این شبکه تمام دستگاه ها به یک نقطه دسترسی متصل شده و وارد شبکه می شوند. اما در مدل ادهاک، هر دستگاه خود می تواند همانند یک نقطه دسترسی عمل کند. در این سلسه آموزش به این شبکه و نحوه اجرای آن توسط ماژول ESP می پردازیم. در ادامه آموزش شبکه مش Mesh با مرجع تخصصی آردوینو به زبان فارسی ، دیجی اسپارک همراه باشید.
شبکه تعریف و کاربرد
پیش از آنکه به معرفی شبکه های زیر ساخت و ادهاک بپردازیم، این قسمت را به بررسی مفهوم شبکه های کامپیوتری خواهیم پرداخت. در اصل موضوع، مفهوم شبکه به معنای نحوه برقراری ارتباط بین دو یا چندین کامپیوتر است. برای یک مثال عینی، اعضای یک تیم فوتبال را در نظر بگیرید. در زمین فوتبال، علاوه بر نقش هر بازیکن، تمام آن ها نیاز به برقراری ارتباط با یکدیگر دارند. در مواقع بحرانی مانند خطا پشت محوطه، با برقراری ارتباط صحیح بین دروازه بان و خط دفاعی، ضربه مهاجم قابل دفع خواهد بود. یا به عنوان مثالی دیگر فرض کنید خط دفاعی پس از دفع حمله مهاجم، قصد انتقال توپ به خط حمله را دارد. در این حالت خط دفاع با پاسکاری آن را به خط هافبک می رساند. پس از این مرحله، هافبک نیز با پاسکاری مجدد، توپ را به خط حمله انتقال داده و در نهایت خط حمله توپ را به گل خواهد رساند.
در سیستم های کامپیوتری نیز مشابه این روند اجرا می شود. جهت انتقال پیام از یک کامپیوتر به کامپیوتر دیگر، می بایست پیام از میان کامپیوترهای مختلف گذشته تا به مقصد برسد. زمانیکه تعدادی کامپیوتر از طریق سیم یا بدون سیم به هم دیگر متصل شوند، تشکیل یک شبکه کامپیوتری می دهند. به عنوان مثال تصویر زیر از وب سایت ریسرچ گیت، نمایی از یک شبکه ساده کامپیوتری را نمایش می دهد.
برای ارتباط بین کامپیوترها یا همان اجرای شبکه های کامپیوتری، الگوریتم های مختلفی وجود دارد. هر کدام از این الگوریتم ها مزایا و معایب خود را دارند. در شبکه بی سیم، دو الگوریتم کلی زیر ساخت(infrastructure) و اد هاک(ad hoc) تشکیل شبکه های بی سیم را می دهند. حال که با مفهوم شبکه های کامپیوتری آشنا شدیم، قسمت بعدی را به این دو شبکه کلیدی، ادهاک و زیرساخت اختصاص می دهیم.
شبکه های زیر ساخت و اد هاک
همانطور که در مقدمه گفته شد، شبکه های بی سیم را به دو دسته کلی زیرساخت(Infrastructure) و ادهاک(ad hoc) می توان تقسیم بندی نمود. در شکه زیر ساخت، یک کامپیوتر مرکزی جهت ایجاد شبکه و سرویس دهی به دستگاه های متصل تعبیه شده است. این کامپیوتر مرکزی دقیقا همان مودم یا نقطه دسترسی ایجاد شده توسط تلفن همراه است. در این حالت کامپیوتر مرکزی(مودم) پس از احراز هویت هر دستگاه، با تخصیص آی پی، به دستگاه هویت دیجیتال بخشیده و مجوز ورود آن به شبکه را صادر می کند. در این حالت دستگاه می تواند به شبکه اینترنت متصل شده و یا با سایر دستگاه های حاضر در شبکه که به مودم متصل شده اند؛ به ارسال و دریافت داده بپردازد.
در مقابل این شبکه، شبکه ad hoc به گونه ای متفاوت اما خلاقانه عمل می کند. این شبکه منحصر به یک کامپیوتر مرکزی نیست؛ در این شبکه هر دستگاه می تواند همانند یک کامیپوتر مرکزی عمل کند. به عبارت دیگر، بر خلاف شبکه زیر ساخت که در آن جهت ارسال پیام بین دو دستگاه، این پیام حتما باید از کامپیوتر مرکزی بگذرد، پیام بین دو دستگاه از بین سایر دستگاه ها می گذرد. برای روشن تر شدن موضوع، به تصویر زیر دقت کنید. در این تصویر دستگاه قصد دارد تا پیامی را به دستگاه B ارسال کند.
فرض کنید در شبکه فوق، دستگاه A قصد ارسال پیامی به دستگاه E را دارد. در این حالت به صورت مستقیم این دستگاه می تواند پیام خود را ارسال کند. در این حالت بر خلاف شبکه زیرساخت (نقطه دسترسی) نیازی به ارسال پیام به کامپیوتر مرکزی جهت ارسال به گیرنده نیست. در کنار موضوعات بیان شده تا به اینجا، چنانچه قصد مقایسه بین دو شبکه را داشته باشیم، می توانیم این دو شبکه را در پارامترهای زیر قابل مقایسه بدانیم.
شرح | پارامتر | شبکه |
در صورت خرابی کامپیوتر مرکزی، تمام شبکه از کار می افتد. | پایداری | infrastructure |
پایین : به دلیل قرارگیری دستگاه های متصل در حالت کم مصرف | توان مصرفی | infrastructure |
در صرتیکه هر دستگاه خراب شود، پیام از طریق دستگاه های دیگر به مقصد می رسد. | پایداری | ad hoc |
بسیار بالا :
تمام دستگاه ها باید در حالت کاری خود جهت تبادل داده باشند. |
توان مصرفی | ad hoc |
پس از معرفی، بررسی و مقایسه مفاهیم شبکه های زیر ساخت و اد هاک، قسمت بعد را به تشریح شبکه مش اختصاص خواهیم داد.
تعریف شبکه مش Mesh
شبکه مش Mesh یکی از الگوریتم های اتصال کامپیوترها در شبکه مش به شمار می رود. البته غیر از شبکه مش Mesh، الگوی دیگری از شبکه تحت عنوان ستاره در ارتباطات ادهاک نقشی کلیدی را بازی می کند. در قسمت های قبل، به طور غیر مستقیم به شبکه مش اشاره نمودیم. در شبکه مش، تمام دستگاه های حاضر می توانند به عنوان روتر(کامپیوتر مرکزی یا همان مودم) عمل کنند. بدین ترتیب برای ارسال پیام از یک دستگاه به دستگاه دیگر، نیازی به عبور این پیام از کامپیوتر مرکزی نیست. بدین ترتیب در این شبکه با دو مزیت زیر رو به رو هستیم.
- تعداد دستگاه های حاضر در شبکه بسیار بالاست؛ چراکه محدودیت روتر مرکزی وجود ندارد.
- نگرانی از بابت برد وجود ندارد؛ چراکه در این شبکه کامپیوتر مرکزی وجود ندارد.
در رابطه با مورد شماره ۱، همانطور که اطلاع دارید روترها(مودم) دارای محدودیت جهت اتصال دستگاه ها هستند. در رابطه با مورد شماره ۲، هر روتر یا مودم بی سیم، دارای محدودیت برد است. از آنجاییکه در شبکه مش دستگاه ها نیازی به مودم مرکزی جهت اتصال ندارند؛ بنابراین بدون نگرانی از این بابت ارتباط دستگاه ها به صورت بی سیم و با اطمینان صورت خواهد گرفت؛ چراکه فرض کنید در شبکه زیر ساخت، دستگاهی با فاصله زیاد قصد ارسال پیامی به دستگاه دیگر دارد، در این حالت به دلیل فاصله، احتمال قطع ارتباط یا ضعف در ارسال وجود خواهد داشت.
بدین ترتیب در شبکه مش، هر دستگاه می تواند هم گره و یا هم روتر باشد. به عبارت دیگر، هر دستگاه در شبکه مش Mesh می تواند هم به عنوان نقطه دسترسی و هم به عنوان مد ایستگاهی فعال باشد. به عبارت دیگر، یک دستگاه در این شبکه می تواند به عنوان یک روتر به دیگر دستگاه ها آی پی تخصیص دهد و هم می تواند همانند یک تلفن همراه، با اتصال به دیگر روترها از آن ها آی پی دریافت کند! بدین ترتیب در این شبکه بی نهایت دستگاه می تواند حاضر باشد؛ بدون اینکه نگرانی از پوشش آنتن وجود داشته باشد. به تصویر زیر که توسط دانشگاه AMI تولید شده، دقت کنید.
در مجموعه آموزش های شبکه مش Mesh، رویکرد اجرای شبکه مش بر روی پردازنده های سری ESP و به خصوص ESP8266 با برد توسعه NODEMCU است. در قسمت بعدی با این موضوع بیشتر آشنا خواهیم شد.
لوازم مورد نیاز
جمع بندی
در مجموعه آموزش های اجرای شبکه مش بر روی پردازنده های ESP، قسمت اول را به شرح شبکه و مفاهیم پایه ای آن اختصاص دادیم. در ابتدا بحث را با تعریف مفهوم شبکه آغاز کردیم؛ سپس در ادامه شبکه های زیر ساخت و ادهاک را تحلیل نمودیم. در نهایت بحث را با بررسی شبکه مش به پایان رساندیم. شبکه مش، یک شبکه کاربردی و بی نهایت کلیدی در اجرای پروژه های بی سیم به شمار می رود. این شبکه از پوشش اتصال مناسب و عدم محدودیت دستگاه ها در اتصال برخوردار است. از طرف دیگر با توجه به ویژگی های ماژول های ESP، این شبکه نیز بر روی این ماژول ها قدرت اجرا دارد. در این آموزش مباحث پایه ای شبکه مش را از نظر گذارندیم تا در قسمت بعدی، مقدما شروع به کار با آن را در قسمت های بعد، داشته باشیم.
چنانچه مطالب ابن آموزش را گنگ یافتید، بدون هیچ نگرانی در انتهای همین پست، به صورت ثبت نظر سوالتان را مطرح کنید. من در سریعترین زمان ممکن پاسخ رفع مشکل شما را خواهم داد. تاکنون ده ها هزار نظر و پاسخ در دیجی اسپارک درج شده است؛ پس نظرات شما ارزشمند بوده و سوالات بی پاسخ نمی مانند.
با تشکر از مطلب زیبای شما منتظر ادامه مطلب خواهیم بود. بنظرم لازم است توضیح داده شود تکنولوِی استفاده شده برای Mesh Networking در Esp32 یک نوآوری است و یا بخشی از استاندارد ۸۰۲٫۱۱ می باشد. متشکرم.
سلام و متشکرم از لطف شما
از تاخیر در پاسحگویی عذرخواهی می کنم
بله
متشکرم از لطف شما
این مورد باید توضیح داده شود
با درود
به نظر شما بهتر نیست هر esp
به جای ارتباط با ۳ دستگاه دیگر
با ۲ دستگاه دیگر ارتباط داشته باشد
برا کمتر داغ شدن
و اینکه از عدد ماکسیموم ۴
در شبکه مش استفاده نکنیم
که در اینده نودها دیرتر خراب بشن؟؟؟؟
یا نه هیچربطی نداره چی یک نود به esp متصل باشد چی ۳ عدد نود دیگه
Cpu و رم داخلی esp در هر صورت یکسان کار میکند؟؟
ممنون از پشتیبانی تون
سلام و عذرخواهی بابت تاخیر در پاسخگویی
موردی ندارد. می توانید سه نود متصل کنید. هر ESP رم و سی پی یو یکسان داد.