ارتباط بین دو کامپیوتر با ماژول ایکس بی XBee

محتویات
در آموزش قبلی ما در مورد پروتکل زیگ بی، معماری آن و همچنین در مورد ماژول های ایکس بی و دستورات AT یاد گرفته ایم. در این آموزش ما دو ماژول ایکس بی را برای دو کامپیوتر رابط قرار می دهیم و با استفاده از ماژول های ایکس بی ارتباط بی سیم کامپیوتر ها را برقرار می کنیم. در پایان، ما می توانیم مانند یک برنامه گفتگو از یک کامپیوتر به کامپیوتر دیگر متن ارسال کنیم.
پیشنهاد میکنم ابتدا مقاله پروتکل زیگ بی را بخوانید.
شناسایی ماژول XBee متصل شده در کامپیوتر
شما می توانید ماژول رادیویی ایکس بی خود را در Linux و Mac OSX تشخیص دهید، با باز کردن یک ترمینال، شما می توانید چند دستور را تایپ کنید تا ببینید آیا این ماژول توسط کامپیوتر شما شناخته شده است یا خیر. علاوه بر این، در صورتی که به بیش از یک ماژول متصل هستید، باید کمی بیشتر مراقب باشید. پس از باز کردن ترمینال، باید از خطوط فرمان زیر استفاده کنید تا ببینید آیا دستگاه شما به درستی توسط سیستم تشخیص داده می شود یا خیر.
در Linux و MAC، باید تایپ کنید:
dmesg | tail
شما می توانید چیزی مانند FTDI USB serial مبدل دستگاه را ببینید که اکنون به cp210x متصل است یا که در این حالت به “ttyUSB0” متصل است.
ls/dev/tty (کاربران mac باید Is/dev/tt را وارد کنند*)
همانطور که در تصویر بالا نشان داده شده است / dev / ttyUSB0 را مشاهده خواهید کرد، اطمینان حاصل کنید که دستگاه های USB دیگر را در این حالت USB1،2 یا x متصل نکرده باشید. این راهنما هنگام برقراری ارتباط ایکس بی با پایتون بسیار مفید خواهد بود.
برای ویندوز در قسمت Control Panel-> device manager-> به دنبال پورت Com در دستگاه ها بگردید که در زیر نشان داده شده است در صورتی که از putty یا پایتون استفاده می کنید. به همین ترتیب اکنون می توانید از XCTU برای همین مورد استفاده کنید.
اتصال ماژول ایکس بی به کامپیوتر برای ارتباط
برنامه های متنوعی برای ارتباط با ایکس بی برای سیستم عامل های مختلف در دسترس هستند، برای سادگی ما از CoolTerm استفاده خواهیم کرد زیرا با ویندوز و مک سازگار می باشد، نرم افزار رایگان است و برای همه سیستم عامل ها مانند لینوکس، ویندوز و مک وجود دارد.
برای کاربران MAC:
ابتدا CoolTerm را از اینجا دانلود کنید.
پوشه CoolTermMac را از پوشه دانلود ها به پوشه برنامه های کاربردی بکشید، نماد CoolTerm به طور خودکار در Launchpad ظاهر می شود.
اکنون با کلیک روی نماد آن، CoolTerm را باز کرده و سپس به منوی اتصال -> Opitons بروید. پس از کلیک کردن بر روی گزینه ها، پنجره جدیدی باز می شود، پس از دریافت پورت COM با استفاده از دکمه “ReScan Serial Ports”، پورت ها را اسکن کنید:
- baud rate as 9600
- Databits 8
- Parity None
- Stop bits 1
برای دیدن آنچه که در ترمینال به درستی می نویسید، باید Local Echo را فعال کنید. برای اینکار بر روی ترمینال همانطور که در تصویر نشان داده شده است کلیک کنید و روی Local Echo بزنید و سپس بر روی OK کلیک کنید.
همانطور که در تصویر زیر نشان داده شده است، پس از کلیک بر روی دکمه اتصال کلیک کنید
- +++ را تایپ کنید (enter را فشار ندهید) در صورت تأیید و ظاهر شدن پاسخ، ادامه دهید. در غیر این صورت، برای 10 ثانیه صبر کنید و دستور +++ را برای دستور renter تایپ کنید
- ATSH را تایپ کنید و اینتر را بزنید و می توانید همانطور که در زیر نشان داده شده است آدرس 32 بیتی آدرس بالاتر را که به آدرس ایستایی اختصاص داده شده توسط digi ببینید.
اکنون می توانید دستورات دیگر را تایپ کنید تا پارامتر ها را مشاهده کنید.
اگر در اتصال ایکس بی با کامپیوتر خود مشکلی دارید:
- تنظیماتی مانند تنظیمات baud rate را بررسی کنید. ماژول خود را دوباره متصل کرده و بررسی کنید که آیا به درستی وصل شده است.
- سعی کنید سیستم عامل را به روز رسانی کنید که اگر ممکن است به دلیل انجام برخی تنظیمات قبلی کار نکند این را حل کند.
- اگر حالت استراحت است تنظیمات را ریست کنید.
برای لینوکس:
کاربر لینوکس می تواند putty را با استفاده از ترمینال در لینوکس نصب کند (نسخه های debian):
sudo apt-get install putty
برای توزیع دیگر، فایل منبع را دانلود کنید و با استفاده از ترمینال به دایرکتوری بروید و دستورات زیر را تایپ کنید:
sudo make sudo install
1. اکنون putty را باز کرده و بر روی دکمه Serial radio کلیک کنید و متن را در باکس متن “/ dev / ttyusb0” وارد کنید همانطور که در تصویر زیر نشان داده شده است. buad rate را روی 9600 را تنظیم کنید.
2. پس از آن، روی ترمینال تغییر تنظیمات کلیک کنید همانطور که در تنظیمات بالا نشان داده شده است، تغییر دهید:
Implicit LF in every CR
گزینه Local echo را به Force on تغییر دهید. سپس بر روی Open کلیک کنید.
3. سپس در ترمینال “+++” (بدون فشار دادن enter) تایپ کنید. پس از تأیید می توانید سایر دستورات AT را مانند تصویر زیر تایپ کنید.
برای ویندوز:
کاربران ویندوز می توانند به سادگی فایل zip CoolTerm را دانلود کنند، آن را استخراج کرده و سپس بر روی coolterm.exe کلیک کنند.
برقراری ارتباط دو ماژول ایکس بی
ما اکنون آماده برقراری ارتباط دو کامپیوتر با استفاده از دو گیرنده ایکس بی هستیم. ایده این است که اطلاعات متنی را با مقادیر ASCII از یک کامپیوتر ارسال کرده و با کامپیوتر دیگر دریافت کنید. ما از مودم کنسول XCTU استفاده خواهیم کرد.
ما به دو ماژول ایکس بی از خانواده XB24-ZB، دو برد آداپتور ایکس بی و دو کامپیوتر با ترمینال های ارتباطی سریال نیاز داریم.
اما قبل از ادامه کار باید ماژول ایکس بی خود را پیکربندی کرده و ماژول های رادیویی ایکس بی را اضافه کنیم. اکنون مراحل برقراری ارتباط با ایکس بی دیگر را دنبال کنید:
مرحله 1: ابتدا به ما اجازه دهید سیستم عامل را برای هماهنگ کننده خود به روز کنیم، فقط حالت پیکربندی را باز کنید، سپس منوی پیکربندی سیستم عامل را با کلیک بر روی تصویر مانند تصویر زیر به روز کنید:
مرحله 2: پس از یادداشت کردن آدرس در پشت ماژول رادیویی یعنی “0013A200 – Higher XXXXXXXX-Lower (آدرس رادیو شما)”، ما باید با استفاده از دستوراتی که در جدول زیر گفته شده است پیکربندی کنیم.
عملکرد | دستور | پارامتر |
PAN ID | ATID | 1001 (هر آدرس از 0 تا FFFE انجام می شود) |
آدرس مقصد | ATDH | 0013A200 |
آدرس مقصد | ATDL | (به آدرس پایین ماژول روتر ایکس بی خود مراجعه کنید) |
نوشتن تابع | ATWR | NA |
مرحله 3: اکنون به حالت کنسول بروید و بر روی دکمه Add Packet کلیک کنید همانطور که در زیر نشان داده شده است، در تصویر شما دستورات را در قالب ASCII به عنوان ATID اضافه خواهید کرد، پس از اضافه کردن دستورات به ویرایشگر hex بروید و در اینجا 0D را اضافه کنید و برای هر دستور به جز “+++”، همین روش را تکرار کنید
ترتیب دستوراتی که باید اضافه شود در زیر نشان داده شده است:
مرحله 4: همانطور که در زیر نشان داده شده است، بسته ها را اضافه کنید و دنباله ای ایجاد کنید، این در وقت شما صرفه جویی می کند، زیرا می توانید با ذخیره این بسته ها برای استفاده بعدی، دوباره استفاده کنید.
پس از اضافه کردن بسته ها به ترتیب، همانطور که در زیر نشان داده شده، فاصله انتقال را بر روی 1000ms تنظیم کنید
مرحله 5: اتصال سریال را با ماژول رادیویی ایکس بی در کنسول باز کنید اکنون بر روی دکمه پایین کنسول “Start sequence” کلیک کنید، ممکن است جلسه کنسول شما مانند تصویر زیر نشان داده شود.
توجه: همچنین می توانید از Putty و CoolTerm استفاده کنید اما XCTU در زمان صرفه جویی بیشتری می کند و برای کاربر بدون دردسر است.
جلسه کنسول برای هماهنگ کننده:
+++OK ATID 1000 OK ATDH 0013A200 OK ATDL 40ADFB32 OK ATID 1000 ATDH 13A200 ATDL 40ADFB32 ATWR OK
پیکربندی روتر XBee:
به همین ترتیب شما باید روتر خود را با استفاده از پارامتر های زیر پیکربندی کنید که در جدول زیر ذکر شده است:
عملکرد | دستور | پارامتر |
PAN ID | ATID | 1001 (هر آدرس از 0 تا FFFE انجام می شود) |
آدرس مقصد بالا | ATDH | 0013A200 |
آدرس مقصد پایین | ATDL | (به آدرس مقصد پایین ماژول ایکس بی هماهنگ کننده مراجعه کنید) |
نوشتن تابع | ATWR | NA |
جلسه کنسول روتر به صورت زیر خواهد بود:
Router +++OK ATID 1000 OK ATDH 0013A200 OK ATDL 40A78409 OK ATID 1000 ATDH 13A200 ATDL 40A78409 ATWR OK
ارسال متن از یک کامپیوتر به دیگری با ایکس بی
اکنون زمان انجام برخی اقدامات است، CoolTerm / Putty یا حتی XCTU را در دو کامپیوتر بارگیری کنید، ایکس بی خود را با صفحه آداپتور به آن ها وصل کنید، در اینجا ما همانطور که در زیر نشان داده شده است از CoolTerm استفاده می کنیم. اکنون اتصال سریال را باز کرده و ماژول ایکس بی خود را وصل کنید همانطور که در ابتدای این آموزش آموختید.
در هر یک از کنسول ها هر کاراکتری که بنویسید، همان کاراکتر ظاهر شده در پنجره کنسول دیگر را نیز مشاهده خواهید کرد. در اینجا یک ماژول ایکس بی به عنوان فرستنده و دیگری به عنوان گیرنده کار می کند.
بنابراین با در نظر گرفتن آموزش قبلی ما در زمینه آشنایی با زیگ بی، تاکنون اصول معماری ایکس بی و شبکه سازی را با در نظر گرفتن اکوسیستم ایکس بی پوشش داده ایم، همچنین دانش دستورات AT و استفاده از ترمینال ها را کسب کرده ایم.
در این آموزش ما آموختیم که چگونه می توان یک ماژول XBee را برای ارتباط بین دو کامپیوتر استفاده کرد. اکنون می توانیم با استفاده از رادیوهای ایکس بی با دوستان خود در جا های مختلف ارتباط برقرار کنیم !!! مبحث بعدی مبتنی بر کاربرد آردونیو و ایکس بی خواهد بود.