آموزش راه اندازی ماژول زیگبی Xbee S2 با AVR

بازگشت به آموزشگاه

مقدمه

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


زیگبی Zigbee

زیگبی نام یک پروتکل ارتباطی بدون سیم ( Wireless ) می باشد که به عنوان یک استاندارد ارتباطی جهانی در شبکه های بین دو ماشین (M2M Network ) مطرح میشود که نیاز به ابعاد کوچک ، توان مصرفی پایین و قیمت تمام شده ارزان دارند. استاندارد زیگبی روی فرکانس های 2.4Ghz ، 900Mhz و 868Mhz تحت ویژگی های فیزیکی استاندارد IEEE 802.15.4 عمل می کند. تکنولوژی زیگبی نوع ارزان شده شبکه های بیسیم نظیر Bluetooth و WiFi می باشد که آن را قادر می سازد در انواع کاربردهای نظیر هوشمند سازی ساختمان ، سیستم های مدیریت ترافیک ، کنترل انواع وسایل صنعتی مورد استفاده قرار گیرد. اتحادیه زیگبی ( Zigbee Alliance ) شامل گروهی از افراد و شرکت های بوجود آورنده و توسعه دهنده استاندارد زیگبی می باشد. زیگبی در سال 1998 بوجود آمده و در سال 2003 تبدیل به یک استاندارد شد و در سال 2006 مجددا مورد بازبینی و اصلاح قرار گرفت. کلمه زیگبی به رقص گروهی زنبورهای عسل بعد از بازگشت به کندوی عسل اشاره می کند.


شبکه های زیگبی

هر شبکه‌ی زیگبی دارای تعدادی عنصر ارتباطی است. به هر یک از این عناصر ارتباطی که می‌توانند داده‌ها را ارسال یا دریافت کنند، گره (Node) گفته می‌شود. در شبکه‌ی زیگبی گره‌ها که هر کدام در واقع یک ماژول زیگبی هستند به سه نوع تقسیم می‌شوند که عبارتند از: پایان‌افزار (End Device)، مسیریاب (Router) و هماهنگ‌کننده (Coordinator). شکل زیر نحوه سیم بندی و ارتباط ماژول های مختلف زیگبی با یکدیگر در یک شبکه صنعتی را نشان می دهد.

هماهنگ‌کننده (Coordinator)

مهم‌ترین گره در هر شبکه‌ی زیگبی که وظیفه‌ی شکل دادن شبکه و مدیریت ارتباطات را بر عهده دارد هماهنگ‌کننده (Coordinator) نام دارد. در واقع بدون وجود هماهنگ‌کننده، شبکه‌ی زیگبی شکل نمی‌گیرد. باید توجه داشت که در هر شبکه‌ی زیگبی، یک و فقط یک عدد گره هماهنگ‌کننده (Coordinator) باید وجود داشته باشد. از گره Coordinator میتوان همه داده های گره ها را جمع آوری کرده و یا برای آن ها داده ارسال نمود. در صورتی که  coordinator به هر دلیلی در دسترس نباشد شبکه Down ( غیر فعال ) می شود. بنابراین گره Coordinator همیشه باید روشن باشد.

مسیریاب (Router)

مسیریاب‌ها دقیقاً همان کاری را می‌کنند که پایان‌افزارها انجام می‌دهند با این تفاوت که از مزیت توان مصرفی پایین بی‌بهره‌اند. علت استفاده از روتر این است که ارتباطات بی‌سیم محدودیت‌هایی دارند و یکی از مهم‌ترین این محدودیت‌ها بعد مسافت بین دو گره ارتباطی است. فرض کنید هر گره زیگبی حداکثر بتواند با گره‌های دیگر در فاصله‌ی 100 متری خود ارتباط برقرار کند. حال اگر بخواهیم گره‌هایمان اندازه‌گیری‌هایی در فواصل 1 کیلومتری انجام دهند باید از گره های مسیریاب استفاده نماییم. گره‌های مسیریاب علاوه بر این که قابلیت اندازه‌گیری دارند می‌توانند مانند تقویت کننده‌ی سیگنال عمل کنند. کافی‌ است در هر نقطه که می‌دانیم سیگنال زیگبی تضعیف خواهد شد (مثلاً در همان فواصل 100 متری) یک عدد گره مسیریاب قرار دهیم. این گره همیشه باید روشن باشد در غیر این صورت شبکه با اختلال عملکرد مواجه می شود.

پایان‌افزار (End Device)

پایان‌افزارها همواره در نقاطی قرار می‌گیرند که یا می‌خواهیم کمیتی را اندازه‌گیری کنیم و یا دستگاهی را کنترل کنیم. در مثال فوق باید در هر اتاق یک گره از نوع End Device قرار دهیم تا خروجی سنسور دما را دریافت کرده و به مرکز کنترل ارسال کند. ویژگی مهمی که پایان‌افزارها دارند این است که توان مصرفی خیلی پایینی دارند و می‌توان برای تغذیه‌ی آن‌ها از باتری به مدت طولانی استفاده کرد. این مزیت باعث می‌شود تا استفاده از شبکه‌ی زیگبی در مناطق دورافتاده برای پیاده‌سازی سیستم‌های پایش و اندازه‌گیری بسیار مقرون به صرفه باشد.


ماژول Xbee S2

سری دوم از ماژول های با پروتکل زیگبی ، Xbee S2 می باشد که ساخت شرکت Digi است. این ماژول همانند یک میکروکنترلر است که از پروتکل زیگبی استفاده می کند. ویژگی های این ماژول به شرح زیر می باشد:

  • ولتاژ عملکرد : 2.1 تا 3.3 ولت
  • جریان عملکرد : 40 میلی آمپر ( در ولتاژ 3.3 )
  • حداکثر نرخ ارسال/دریافت دیتا : 250kbps
  • سرعت عملیاتی : 35kbps
  • دمای عملیاتی : -40 تا +85
  • فرکانس عملکرد : 2.4Ghz
  • توان خروجی : 2mW(+3dBm)
  • حداکثر رنج ارسال : 40 متر در فضای بسته ( indoor ) و 120متر در فضای آزاد ( outdoor )
  • حداکثر ولتاژ آنالوگ ورودی : 1.2
  • تعداد پایه های دیجیتال ( Digital I/O ) : 11
  • تعداد پایه های ورودی آنالوگ : 4
  • دارای آنتن
  • دارای گواهی نامه FCC
  • دارای 6 کانال مبدل ADC با دقت 10 بیت
  • دارای 8 پایه ورودی/خروجی دیجیتال
  • دارای قابلیت رمزنگاری 128 بیتی
  • دارای دو حالت دستوری : AT Command و API

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


پایه های ماژول Xbee S2


اتصال ماژول Xbee S2 به کامپیوتر

برای اتصال ماژول به کامپیوتر از مبدل USB به سریال FT232 استفاده می کنیم. برای اتصال ماژول و مبدل ابتدا پایه های VCC و GND را متصل می کنیم و سپس پایه های Rx و Tx را به صورت ضربدری به یکدیگر متصل می کنیم. شکل زیر نحوه اتصال را نشان می دهد. همچنین مشخصات این ارتباط در حالت پیش فرض به صورت زیر است :

  • Baud Rate: 9600
  • Data Bits: 8
  • Parity: None
  • Stop Bits: 1


آموزش انجام تنظیمات Xbee s2 در نرم افزار XCTU

نرم افزار XCTU یک نرم افزار چند منظوره برای ارتباط با ماژول های شرکت دیجی ( Digi RF modules ) می باشد. با استفاده از این نرم افزار میتوان به ماژول های زیگبی این شرکت از جمله Xbee S2 به وسیله کامپیوتر ارتباط برقرار کرده و علاوه بر انجام تنظیمات آن با ماژول ارتباط سریال برقرار کرد و آن را تست نمود.

بعد از دانلود رایگان نرم افزار از سایت شرکت سازنده ( Digi.com ) آن را نصب می کنیم. بعد از بازکردن نرم افزار ابتدا باید ماژول را توسط مبدل USB به سریال FT232 به صورت توضیح داده شده به کامپیوتر وصل کرده باشیم سپس درون نرم افزار XCTU با زدن گزینه Add Device ماژول Xbee خود را اضافه می کنیم.

در مرحله بعدی باید COM پورتی که به عنوان ماژول USB به سریال FT232 شناسایی شده است را انتخاب و روی گزینه Finish کلیک کنیم.

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

– تشریح آیکون های بالای نرم افزار :

گزینه Read : خواندن همه تنظیمات از ماژول

گزینه Write : نوشتن همه تنظیمات بر روی ماژول

گزینه Default : بازگشت همه تنظیمات به حالت اولیه

گزینه Update : بروز رسانی firmware ماژول ( اجرای بروز رسانی توصیه نمی شود )

گزینه Profile : گرفتن فایل خروجی از همه تنظیمات یا وارد کردن تنظیمات از فایل های خروجی قبلی

– تشریح تنظیمات شبکه :

PAN ID : مخفف Personal Area Netword id عددی بین 0 و 0xFFFF می باشد که مشخص کننده شبکه ای از ماژول ها می باشد. هر شبکه متشکل از تعدادی ماژول است که PAN ID یکسانی دارند. شکل زیر این موضوع را نشان می دهد. در صورتی که PAN ID برابر 0 باشد ماژول می تواند به یک Coordinator با هر آدرس مقصد ( Destination Address ) دلخواهی متصل شود و در صورتی که 0xFFFF باشد دیتا برای همه شبکه ها Broadcast می شود.

Serial Number : هر ماژول یک سریال منحصر به فرد 64 بیتی یا همان آدرس MAC دارد. این آدرس به دو بخش 16 بیتی به نام SH(Serial High) و SL(Serial Low) تقسیم می شود.

Destination Address : آدرس MAC ماژول مقصد را مشخص می کند ( در حالت Zigbee Router )

JV : در صورتی که در شبکه Router وجود داشته باشد با فعال کردن پارامتر JV میتوان به Coordinator متصل شد.


تغییر حالت عملکرد ماژول Xbee

در ماژول های Xbee S2 دو حالت عملکرد وجود دارد : AT و API

در حالت AT ماژول قادر است دستورات به صورت AT Command دریافت نماید و آن ها را برای یک ماژول دیگر ارسال نماید. در حالت API ماژول قادر است برای ماژول های دیگر دستور صادر نماید و یا از آن ها مستقیما دیتا دریافت نماید. حالت های عملکرد ارتباط مستقیمی با نقش ( Role ) هر ماژول در شبکه دارد. شکل زیر را در نظر بگیرید که یک شبکه زیگبی را نشان می دهد.

برای ارسال دستور روشن/خاموش کردن یک پایه دیجیتال از یک ماژول دیگر در چنین شبکه ای باید در حالت API باشیم اما برای ارسال دیتا به یک ماژول کافی است هر دو در حالت AT باشند یا فرستنده در حالت AT و گیرنده در حالت API باشد. بنابراین در شبکه های زیگبی معمولا گره های End Device و Router به صورت AT و گره Coordinator به صورت API پیکره بندی می گردد.


پروژه هوشمندسازی ساختمان با ماژول Xbee

در این پروژه می خواهیم یک یا چند اتاق را به صورت هوشمند و از راه دور کنترل نماییم. فرض می کنیم در هر اتاق یک گره سنسور و یک گره حسگر وجود دارد و یک گره اصلی نیز برای همه اتاق ها به صورت مشترک وجود دارد. گره مرکزی وظیفه دریافت و نمایش دما از گره سنسورها را دارد. همچنین گره مرکزی هیترها را کنترل می کند. ارتباط این گره ها و همچنین آدرس Mac آن ها را با یکدیگر در شکل زیر مشاهده می کنید :

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

برای هوشمند سازی بیشتر پروژه میتوان از یک ماژول GSM ( نظیر Sim900 یا sim800 ) برای کنترل اتاق ها توسط SMS استفاده نمود. برای مثال :

“Status” : وضعیت کلی سیستم نظیر دما و رله ها را برای کاربر میفرستد

“Room1=xx” : برای تنظیم دمای اتاق شماره 1

“Room2=xx” : برای تنظیم دمای اتاق شماره 2


پیاده سازی نهایی پروژه توسط الکترو ولت :


نام پروژه : هوشمند سازی ساختمان با ماژول های زیگبی

ویژگی های پروژه :

– دارای 2 گره سنسور و 2 گره رله و یک گره مرکزی

– دارای ماژول Xbee S2 در هر گره

– دارای سنسور دما LM35 و رله گرم کننده

– دارای میکروکنترلر آردینو Mega2560 روی گره مرکزی

– دارای LCD کاراکتری روی گره های سنسور و گره مرکزی

– دارای ماژول Sim900 (یا sim800 ) برای ارسال/دریافت sms

محتویات پروژه :

1- گزارش کامل پروژه در قالب PDF

2- سورس پروژه شامل :

  • فایل پروژه کدویژن مربوط به گره سنسور به زبان C
  • فایل پروژه آردوینو با پسوند ino مربوط به گره مرکزی
  • تنظیمات پارامترهای Xbee S2 مربوط به همه گره ها در Xctu

3- دیتاشیت های مورد نیاز

لینک خرید آنلاین این پروژه


در صورتی که این مطلب مورد پسندتان واقع شد لایک و اشتراک گذاری فراموش نشود

دیدگاه (5)

  • بابک گودرزی پاسخ

    سلام ممنون از آموزش های خوبتون عالی بود

    1397-12-24 در 10:15
    • ادمین الکترو ولت پاسخ

      سلام دوست عزیز ممنون از همراهی و حسن نظرتون

      1398-01-07 در 12:40
  • MOHAMMAD MAHDI NAZERI پاسخ

    سلام ببخشید من میخوام با یه بادریتی یک دیتا 30 بایتی رو ارسال کنم وقتی داخل ترمینال نرم افزار تست میگیرم packetloss دارم به نظرتون چه تنظیماتی رو انجام بدم تا دیتا از دست رفتع کم شود؟

    1398-11-28 در 19:02
    • ادمین الکترو ولت پاسخ

      سلام دوست عزیز مهمترین علت از دست رفتن دیتا تنظیم نبودن باودریت و یا دقیق نبودن آن است

      1398-12-01 در 20:19
  • مهشید رضاوندی پاسخ

    سلام من هر کاری میکنم xbee با ft23rl رو نمیتونم به لپتاپ وصل کنم… با چند لپتاپ امتحان کردم… درایورش رو هم نصب کردم. میشه کمکم کنید ؟

    1401-02-18 در 01:12

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

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

بازگشت به آموزشگاه