تکنولوژی

پروتکل زیگبی ZigBee چیست؟ آموزش کامل تکنولوژی زیگبی

به طور کلی بسیاری از افراد دو اصطلاح XBee (ایکس بی) و ZigBee (زیگ بی) را اشتباه می گیرند و از آن ها به جای یکدیگر استفاده می کنند. اما در واقع اینطور نیست. زیگ بی یک پروتکل استاندارد برای شبکه های بی سیم است. در حالی که ایکس بی محصولی است که از پروتکل های ارتباطی بی سیم مختلفی از جمله زیگ بی، وای فای (ماژول وای فای)، 802.15.4، ماژول 868 مگاهرتز و… پشتیبانی می کند. در اینجا ما بیشتر بر روی ماژول RF Xbee / Xbee-PRO ZB تمرکز می کنیم که از سیستم عامل زیگ بی تشکیل شده است.

تکنولوژی یا پروتکل زیگ بی چیست؟

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

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

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

وقتی دو گره در شبکه سعی در انتقال همزمان دارند، وضعیتی به نام برخورد ایجاد می کنند. بنابراین، به طور کلی دسترسی چندگانه به حامل برای جلوگیری از برخورد (CSMA / CA) تکنیکی برای جلوگیری از برخورد است که شما می توانید با استفاده از این لینک اطلاعات بیشتری درباره CSMA کسب کنید. اساساً در گره ها، ارتباط به همان روشی است که انسان ها گفتگو می کنند. آن ها قبل از شروع به ارسال اطلاعات، به طور خلاصه بررسی می کنند که هیچ کس در حال صحبت نباشد.

برای یادگیری کامل آردوینو ، روی دوره آموزش آردوینو و برای یادگیری کامل الکترونیک، روی دوره آموزش الکترونیک کلیک کنید.

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

معماری زیگ بی:

چهار لایه اصلی در پشته ZigBee وجود دارد که عبارتند از: لایه فیزیکی، لایه دسترسی رسانه، لایه شبکه و لایه برنامه.

معماری پروتکل ارتباطی زیگ بی

  • لایه برنامه اشیاء: آدرس دهی مختلفی از جمله پروفایل ها، گروه ها و نقاط انتهایی را تعریف می کند. می توانید لایه های پشته زیگ بی را در شکل بالا مشاهده کنید.
  • لایه شبکه: این لایه قابلیت های مسیریابی را اضافه می کند که به بسته های داده RF اجازه می دهد تا از چندین دستگاه (“چند هاپ”) برای انتقال داده ها از مبدا به مقصد عبور کنند.
  • لایه MAC : انتقال داده های RF را بین دستگاه های مجاور مدیریت می کند (نقطه به نقطه). MAC شامل خدماتی مانند آزمایش مجدد انتقال و مدیریت تأیید و تکنیک های جلوگیری از برخورد است.
  • لایه فیزیکی: نحوه اتصال دستگاه ها برای ایجاد شبکه را مشخص می کند. این لایه توان خروجی، تعداد کانال ها و سرعت انتقال را تعریف می کند. بیشتر برنامه های زیگ بی با باند 2.4 گیگاهرتز ISM با سرعت داده 250 کیلوبیت بر ثانیه کار می کنند.
مطلب پیشنهادی:  کوادکوپتر چیست؟ معرفی کامل کواد کوپتر ها

بیشتر خانواده های ایکس بی دارای کنترل جریان، I / O ،A / D و شاخص های خطی هستند که آن ها را می توان با استفاده از دستورات مناسب پیاده سازی کرد. نمونه های آنالوگ به عنوان مقادیر 10 بیتی بازگردانده می شوند. در آنالوگ 0x0000 نشان دهنده 0 ولت و 0x3FF = 1.2 ولت است. (ورودی های آنالوگ روی ماژول نمی توانند بیش از 1.2 ولت بخوانند)

برای تبدیل مقدار A / D به میلی ولت، قسمت زیر را انجام دهید:

AD (mV) = (A/D reading * 1200mV) / 1023

انتقال داده در زیگ بی

شما می توانید یک شبکه را به عنوان ترکیبی از نرم افزار و سخت افزار فراخوانی کنید که توانایی ارسال داده از یک مکان به مکان دیگر را دارد.

سخت افزار وظیفه انتقال سیگنال ها از یک نقطه شبکه به نقطه دیگر را بر عهده دارد. این نرم افزار از مجموعه دستورالعمل هایی تشکیل شده است که وظایفی را که انتظار می رود امکان پذیر می سازد.

به طور کلی انتقال داده ها توسط بسته های زیگ بی به دو روش می تواند انجام شود: Unicast و Broadcast.

انتقال Broadcasr:

به عبارت ساده Broadcast به معنای انتقال اطلاعات یا برنامه از طریق رادیو یا تلویزیون است. به عبارت دیگر Broadcast، انتقال داده به بسیاری از دستگاه های شبکه است. انتقال های پراکنده با پروتکل زیگ بی در کل شبکه به گونه ای توزیع می شوند که همه گره ها اطلاعات را دریافت می کنند. برای رسیدن به این هدف، هماهنگ کننده و همه روتر هایی که انتقال Broadcastرا دریافت می کنند، بسته را سه بار مجددا ارسال می کنند.

همچنین اگر در مورد این مطلب سوالی داشتید در انتهای صفحه در قسمت نظرات بپرسید

انتقال Broadcasr در زیگبی

انتقال Unicast:

انتقال Unicast در داده های مسیر زیگ بی از یک دستگاه مبدا به یک دستگاه مقصد می باشد. دستگاه مقصد می تواند در مجاورت دستگاه مبدا باشد، یا ممکن است چندین هاپ در بین راه داشته باشد. یک مثال در شکل زیر برای شناسایی قابلیت اطمینان پیوند دو جهته نشان داده شده است.

انتقال Unicast داده های زیگبی

اصول شبکه برای روتر ها و هماهنگ کننده ایکس بی

برای رسیدن به خانه دوستتان، شما به چه چیزی نیاز دارید؟ شما فقط به آدرس او احتیاج دارید. به همین ترتیب، برای ارسال داده ها از یک ماژول ایکس بی به دیگری، به آدرس منحصر به فرد آن نیاز دارید. درست مانند افراد، ایکس بی حتی چندین آدرس دارد، هر کدام نقش خاصی در شبکه دارند. دو نوع آدرس وجود دارد آدرس ثابت (آدرس 64 بیتی) و آدرس فعال (آدرس 16 بیتی).

آدرس ها:

آدرس 64 بیتی جهانی منحصر به فرد است. در داخل ماژول ایکس بی توسط سازنده تأیید شده است. هیچ رادیوی زیگ بی روی زمین دارای همان آدرس ثابت نیست، در پشت هر ماژول ایکس بی می توانید این آدرس را همانطور که در زیر نشان داده شده است مشاهده کنید، و قسمت بالای آدرس “0013A200” برای هر ماژول ایکس بی یکسان است.

اصول شبکه برای روتر ها و هماهنگ کننده ایکس بی

وقتی دستگاه به شبکه زیگ بی می پیوندد، یک آدرس 16 بیتی دریافت می کند که باید محلی باشد. آدرس 16 بیتی 0x0000 برای هماهنگ کننده اختصاص داده شده است. همه دستگاه های دیگر یک آدرس تولید شده را به طور تصادفی از روتر یا دستگاه هماهنگ کننده دریافت می کنند که اجازه عضویت را می دهد. آدرس 16 بیتی می تواند تغییر کند، وقتی دو دستگاه دارای آدرس 16 بیتی یکسان باشند یا دستگاهی از شبکه خارج شود و بعداً به آن بپیوندد (می تواند آدرس متفاوتی دریافت کند).

شناسه گره:

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

شبکه های شخصی:

شبکه توسعه یافته توسط این ماژول های ایکس بی شبکه های منطقه شخصی یا PAN نامیده می شوند. هر شبکه با یک شناسه PAN (PAN ID)منحصر به فرد تعریف می شود. این شناسه در بین همه دستگاه های یک شبکه مشترک است. زیگ بی از PAN ID شصت و چهار بیتی و 16 بیتی پشتیبانی می کند. هر دو آدرس PAN برای شناسایی منحصر به فرد یک شبکه استفاده می شود. دستگاه های موجود در همان شبکه زیگ بی باید شناسه های PAN شصت و چهار بیتی و 16 بیتی مشابه داشته باشند. اگر چندین شبکه زیگ بی در محدوده یکدیگر کار می کنند، هر یک باید شناسه PAN منحصر به فرد داشته باشند.

مطلب پیشنهادی:  آموزش کنترل سروو موتور با لانچ پد MSP430

شناسه 16 بیتی PAN برای آدرس دهی به لایه MAC در تمام انتقال داده های RF بین دستگاه های شبکه استفاده می شود. اما، با توجه به فضای آدرس دهی محدود PAN ID شانزده بیتی (65535 امکان)، ممکن است این امکان وجود داشته باشد که چندین شبکه زیگ (در محدوده یکدیگر) بتوانند PAN ID شانزده بیتی یکسان داشته باشند. برای حل این اختلافات، ZigBee Alliance یک شناسه PAN شصت و چهار بیتی ایجاد کرد. زیگ بی سه نوع دستگاه مختلف را تعریف می کند: هماهنگ کننده، روتر و دستگاه نهایی.

برای راه اندازی شبکه، در هر شبکه ای همیشه به یک هماهنگ کننده نیاز است. بنابراین، هرگز نمی تواند غیرفعال باشد. همچنین وظیفه انتخاب کانال و شناسه PAN (هم 64 بیتی و هم 16 بیتی) برای راه اندازی شبکه را دارد. این می تواند به روتر ها و دستگاه های نهایی اجازه دهد به شبکه بپیوندند. همچنین می تواند در مسیریابی داده ها در یک شبکه کمک کند.

چندین روتر در یک شبکه می تواند وجود داشته باشد. یک روتر می تواند از روتر های دیگر یا EP ها (نقاط پایانی) سیگنال دریافت کند. همچنین هرگز نمی تواند غیرفعال باشد. قبل از انتقال، دریافت یا مسیریابی داده ها، باید به یک زیگ بی PAN بپیوندد. پس از پیوستن، می تواند به روتر ها و دستگاه های نهایی اجازه دهد به شبکه بپیوندند. می تواند به مسیریابی داده ها کمک کند. همچنین می تواند بسته های داده RF را برای غیر فعال سازی دستگاه های نهایی بافر کند.

همچنین می تواند چندین نقطه پایانی نیز داشته باشد. برای صرفه جویی در مصرف انرژی می تواند در حالت غیرفعال قرار گیرد. قبل از انتقال یا دریافت داده باید به یک زیگ بی PAN بپیوندد و حتی نمی تواند اجازه دهد دستگاه ها به شبکه بپیوندند. برای انتقال یا دریافت اطلاعات به دستگاه های اصلی وابسته است.

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

توپولوژی شبکه های مختلف در زیگ بی

توپولوژی شبکه به روشی در طراحی شبکه اشاره دارد. در اینجا، توپولوژی نمایشی هندسی از رابطه تمام پیوند ها و دستگاه های پیوند دهنده (هماهنگ کننده، روتر و دستگاه های نهایی) با یکدیگر است.

در اینجا ما چهار توپولوژی اساسی مش، ستاره ای، پیوندی و درختی داریم.

توپولوژی شبکه های مختلف در زیگ بی

در توپولوژی مش، هر گره به گره دیگری متصل است و دستگاه نهایی را تشکیل می دهد.زیرا دستگاه های نهایی نمی توانند مستقیماً ارتباط برقرار کنند. برای فعال کردن ارتباط ساده بین دو رادیو ZB، باید یکی را با سیستم عامل هماهنگ کننده، و دیگری را با سیستم عامل روتر یا نقطه پایانی پیکربندی کنید. مزیت اصلی شبکه مش این است که اگر یکی از پیوند ها غیرقابل استفاده شود، کل سیستم را از کار نمی اندازد.

در یک توپولوژی ستاره ای، هر دستگاه دارای یک اتصال نقطه به نقطه به یک کنترل کننده مرکزی (هماهنگ کننده) است. همه دستگاه ها به طور مستقیم با یکدیگر ارتباط ندارند. برخلاف توپولوژی مش، در توپولوژی ستاره ای یک دستگاه نمی تواند چیزی را مستقیماً به دستگاه دیگری ارسال کند. هماهنگ کننده یا هاب برای تبادل وجود دارد: اگر یک دستگاه بخواهد داده ای را به دستگاه دیگر بفرستد، داده را به هماهنگ کننده می فرستد، که بیشتر داده ها را به دستگاه مقصد می فرستد.

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

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

مطلب پیشنهادی:  فرایند آزمایش EMC و الزامات مربوط به انطباق EMC

سیستم عامل ایکس بی

ماژول برنامه پذیر ایکس بی به یک پردازنده قابل برنامه ریزی با مقیاس آزاد مجهز شده است. این پردازنده برنامه به همراه یک لودر بوت ارائه می شود. سیستم عامل ایکس بی ZV براساس پشته Embernet 3.x.x ZigBee-PRO است، می توان ماژول های XBee-Znet 2.5 را به این قابلیت ارتقا داد. می توانید سیستم عامل را با استفاده از دستور ATVR بررسی کنید که بعداً به آن خواهیم پرداخت.

شماره های نسخه ایکس بی دارای 4 رقم قابل توجه خواهند بود. شماره نسخه را نیز می توان با استفاده از دستور ATVR مشاهده کرد. پاسخ 3 یا 4 عدد را در بر میگیرد. همه اعداد بر مبنای هگزا دسیمال هستند و می توانند از 0 تا 0xF باشد. یک نسخه به عنوان “ABCD” گزارش شده است. ارقام ABC شماره نسخه اصلی است و رقمD نسخه تجدیدنظر از نسخه اصلی است.

دستورات API و دستورات AT برای سیستم عامل Znet 2.5 و ZB تقریباً یکسان است.

در ارتباطات از راه دور، دستور کلی Hayes یک زبان دستوری خاص توسعه یافته برای مودم Hayes Smartاست که در 1981 آن ها مجموعه ای از کلمات کوتاه برای کنترل ارتباط مودم و تنظیم یک مودم در آن روز ها بودند.

ایکس بی همچنین در حالت دستور (فرمان) کار می کند و دستوراتAT را تنظیم می کند که مخفف ATTENTION است، این دستورات را می توان از طریق ترمینال های ایکس بی به ایکس بی ارسال کرد.

رادیوهای ایکس بی پیکربندی شده با AT دارای دو حالت ارتباطی هستند:

شفاف: رادیو اطلاعات دریافتی خود را به فقط آدرس رادیویی که در آن پیکربندی شده است منتقل می کند. داده ارسالی از طریق پورت سریال همانطور که هست توسط ایکس بی دریافت می شود.

فرمان: این حالت برای مکالمه با رادیو و پیکربندی برخی از حالت های از پیش تنظیم شده استفاده می شود، ما در حالی که در این حالت ها هستیم با ماژول ها ارتباط برقرار می کنیم و پیکربندی را تغییر می دهیم.

بدون فشار دادن دکمه های دیگر می توانید +++ را تایپ کرده و یک ثانیه صبر کنید، پیام OK باید به عنوان تصویر ترمینال ظاهر شود. با تأیید، ایکس بی به ما می گوید که او را در حالت فرمان قرار دارد و آماده دریافت پیام های پیکربندی است.

اگر بیش از 10 ثانیه بدون فشار دادن یک دکمه صبر کنید، ایکس بی به حالت شفاف بر می گردد. سپس باید +++ را دوباره تایپ کنید تا به حالت فرمان برگردید.

دستورات AT ایکس بی

AT : این دستور آزمایشی است که بررسی می کند آیا ماژول به OK پاسخ می دهد یا همان جواب را تایید می کند.

ATDH: آدرس مقصد بالا است. برای پیکربندی 32 بیت بالای آدرس مقصد 64 بیتی است.
DL و DH ترکیبی، آدرس مقصد 64 بیتی را به شما می دهد.

ATDL: آدرس مقصد پایین است. برای پیکربندی 32 بیت پایین آدرس مقصد 64 بیتی است.

ATID: این دستور شناسه PAN را تغییر می دهد (PersThe ID چهار بایتی هگزادسیمال است و می تواند از 0000 تا FFFF باشد).

ATWR: نوشتن.مقادیر پارامتر را در حافظه غیر متغییر بنویسید تا تغییرات پارامتر از طریق ریست های بعدی ادامه یابد.

توجه: پس از صدور WR، هیچ کاراکتر اضافی نباید پس از دریافت پاسخ “تأیید” به ماژول ارسال شود.

ATRE (بازیابی پیش فرض ها): تنظیمات کارخانه را به ماژول بازیابی می کند، در صورت عدم پاسخگویی ماژول بسیار مفید است.

برای پیکربندی ماژول خود با استفاده از دستور AT پس از ورود به حالت فرمان (یعنی فشار دادن +++) باید (AT (XY را به عنوان مثال ATID 1001 تایپ کنید.(این مقدار می تواند از 0 تا FFFF باشد، دستورات ایکس بی همیشه از مقادیر هگزا دسیمال استفاده می کنند)، اینتر را بزنید اگر پاسخ ok بود سپس می توانید به سرعت در ترمینال ATID تایپ کنید تا ببینید آیا این مقدار تغییر کرده است یا خیر.

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

میخواهید برنامه نویسی STM32 را یاد بگیرید؟

دوره آموزش STM32

میخواهید الکترونیک را یاد بگیرید؟

دوره آموزش الکترونیک
دوره آموزش آردوینو

میخواهید آردوینو را به صورت پروژه محور یاد بگیرید؟ برای مشاهده توضیحات روی دوره مورد نظر کلیک کنید

برای دریافت مطالب جدید در کانال تلگرام یا پیج اینستاگرام آیرنکس عضو شوید.

محمد رحیمی

محمد رحیمی

محمد رحیمی هستم. سعی میکنم در آیرنکس مطالب مفید را قرار دهم. (در خصوص سوال در مورد این مطلب از قسمت نظرات همین مطلب اقدام کنید) سعی میکنم تمام نظرات را پاسخ دهم.

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

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *