در این آموزش ما ماژول XBee را به برد Raspberry Pi متصل خواهیم کرد که به عنوان یک گیرنده عمل می کند و باعث می شود از طریق ارتباط بی سیم با یک ماژول XBee دیگر که به طور سری با لپ تاپ متصل است ارتباط برقرار کند.
قطعات مورد نیاز برای این آموزش
۱ عدد Raspberry Pi با سیستم عامل Raspbian نصب شده است
۲ عدد ماژول XBee Pro S2C (هر مدل دیگری قابل استفاده است)
۱ عدد برد XBee explorer (اختیاری)
۱ عدد برد Xbee Breakout (اختیاری)
کابل USB
LED ها
پیکربندی ماژول های XBee با استفاده از XCTU
ماژول XBee می تواند به عنوان هماهنگ کننده ، روتر یا End دیوایس عمل کند اما برای کار در حالت دلخواه نیاز به پیکربندی دارد. بنابراین، قبل از استفاده از ماژول های XBee با Raspberry Pi، باید این ماژول ها را با استفاده از نرم افزار XCTU پیکربندی کنیم.
برای اتصال ماژول XBee به لپ تاپ، از مبدل USB به سریال یا برد اکسپلورر طراحی شده مخصوص استفاده می شود. فقط ماژول XBee را به برد Explorer متصل کرده و با استفاده از کابل USB آن را به لپ تاپ متصل کنید.
اگر هیچ برد مبدلی ندارید، از یک برد Arduino می توان به عنوان دستگاه USB به سریال استفاده کرد که به راحتی می تواند با XBee و لپ تاپ ارتباط برقرار کند. فقط برنامه را در آردوینو بارگذاری کنید و سپس می تواند مانند مبدل USB به سریال رفتار کند.
پیکربندی ماژول های XBee:
در اینجا در این آموزش، از صفحه Explorer برای پیکربندی ماژول های XBee استفاده شده است.
نرم افزار XCTU را از این لینک بارگیری و نصب کنید. پس از بارگیری و نصب نرم افزار XCTU ، آن را باز کرده و از اتصال صحیح ماژول XBee خود اطمینان حاصل کنید. پورت COM برد Arduino را در مدیر دستگاه بررسی کنید.
۱. بر روی دکمه جستجو کلیک کنید. با این کار تمام دستگاه های RF متصل به لپ تاپ به شما نشان داده می شود. در این مورد فقط یک ماژول XBee را نشان می دهد.
۲. پورت Serial board Explorer / Arduino board را انتخاب کرده و بر روی Next کلیک کنید.
۳. در پنجره بعدی، پارامترهای پورت USB را مطابق شکل زیر تنظیم کرده و بر روی Finish کلیک کنید.
۴. دستگاه پیدا شده را انتخاب کرده و بر روی گزینه Add device کلیک کنید. این فرآیند ماژول XBee شما را به داشبورد XCTU اضافه می کند.
۵. اکنون، می توانید ماژول XBee خود را در این پنجره پیکربندی کنید. می توانید از دستورات AT استفاده کنید یا داده ها را به صورت دستی قرار دهید. همانطور که مشاهده می کنید، در پنل سمت چپ R نشان داده شده است که به معنی XBee در حالت روتر است. ما باید آن را برای قسمت فرستنده هماهنگ کنیم.
ابتدا با کلیک بر روی Update Firmware نرم افزار را به روز کنید.
ATDL | ATMY | ATID | |
XBee 1 coordinator | ۱۲۳۴ | ۵۶۷۸ | ۲۲۴۴ |
XBee 2 end device | ۵۶۷۸ | ۱۲۳۴ | ۲۲۴۴ |
۸- پس از رایت داده های بالا در قسمت فرستنده، آنها را از برد Explorer جدا کنید و ماژول XBee دوم را در آن متصل کنید. همان روند بالا را تکرار کنید فقط تغییرات DL ، MY و CE است. همانطور که XBee دوم را به عنوان End دیوایس تنظیم خواهیم کرد، بنابراین در منوی کشویی CE قسمت End دیوایس را انتخاب کنید و دکمه رایت را بزنید.
۹. ماژول های XBee ما آماده ارتباط با Raspberry Pi هستند. فرستنده XBee را با Raspberry Pi به لپ تاپ و گیرنده XBee متصل خواهیم کرد. سپس با استفاده از لپ تاپ به قسمت گیرنده دستور دهید.
شماتیک مدار برای قسمت گیرنده
اتصالات:
Tx (پین ۲) XBee -> Tx پین رزبری پای
Rx (pin3) از XBee -> Rx پین Raspberry Pi
Gnd (pin10) XBee -> GND پین Raspberry Pi
Vcc (Pin1) XBee -> 3.3v پین Raspberry Pi
Led به GPIO 23 متصل است
راه اندازی ارتباط سریال
اکنون، Raspberry Pi را برای ارتباط سریال راه اندازی می کنیم. به طور پیش فرض، درگاه سریال سخت افزار Pi غیرفعال شده است. بنابراین، ما باید آن را قبل از شروع اتصال فعال کنیم.
۱. در ترمینال، دستور raspi-config را اجرا کنید.
۲. به گزینه ۵ گزینه های Interfacing رفته و enter را بزنید. اکنون گزینه Serial را انتخاب کرده و آن را فعال کرده و سپس ذخیره کنید.
از ترمینال خارج شوید و همه چیز برای تنظیم ارتباط بین Raspberry Pi و XBee آماده است. GPIO14 و ۱۵ به ترتیب به عنوان Tx و Rx عمل می کنند و این موارد در پورت / dev / ttyS0 برد موجود است.
یک اسکریپت پایتون می نویسیم برای هر زمانی که “a” را از طرف فرستنده XBee دریافت کردیم LED روشن شود .
برنامه نویسی Raspberry Pi برای ارتباطات XBee
در پایان برنامه کامل پایتون برای رابط کاربری XBee با Raspberry Pi آورده شده است.
ابتدا باید کتابخانه های time ، سریال و RPi.GPIO را با استفاده از import وارد کنیم.
import time import serial import RPi.GPIO as GPIO …
ویژگی های اتصال سریال را بنویسید، پورت ، Baudrate و Parities را به صورت زیر تعریف کنید.
ser = serial.Serial( port='/dev/ttyS0', baudrate = 9600, parity=serial.PARITY_NONE, stopbits=serial.STOPBITS_ONE, bytesize=serial.EIGHTBITS, timeout=1 )
#ser.write(str.encode('Write counter: %d \n'%(counter))) #time.sleep(1) #counter += 1
x=ser.readline().strip() print(x) if x == 'a': GPIO.output(23,GPIO.HIGH) time.sleep(3) .. ..
آزمایش ارتباط بی سیم XBee با استفاده از Raspberry Pi
برای دادن فرمان به قسمت فرستنده ، از ترمینال کنسول XCTU استفاده خواهیم کرد. روی نماد کنسول نزدیک گزینه تنظیمات کلیک کنید. سپس بر روی دکمه Open کلیک کنید تا XBee به لپ تاپ متصل شود.
‘a’ را در گزارش کنسول وارد کنید. خواهید دید که LED به مدت ۳ ثانیه روشن می شود و سپس خاموش می شود.
برنامه کامل
Code
#!/usr/bin/env python import time import serial import RPi.GPIO as GPIO GPIO.setmode(GPIO.BCM) GPIO.setwarnings(False) GPIO.setup(23,GPIO.OUT) ser = serial.Serial( port='/dev/ttyS0', baudrate = 9600, parity=serial.PARITY_NONE, stopbits=serial.STOPBITS_ONE, bytesize=serial.EIGHTBITS, timeout=1 ) counter=0 while 1: #ser.write(str.encode('Write counter: %d \n'%(counter))) #time.sleep(1) #counter += 1 x=ser.readline().strip() print(x) if x == 'a': GPIO.output(23,GPIO.HIGH) time.sleep(3) else: GPIO.output(23,GPIO.LOW)
مطالب پیشنهادی برای شما
- معرفی Webmin برای کار با Raspberry Pi
- ۱۰ مورد مهم از مشکلات راه اندازی Raspberry Pi و راه حل آنها
- اتصال سنسور هال با رزبری پای
- نکات بهبود امنیت Raspberry Pi
- نصب صفحه کلید لمسی مجازی روی Raspberry Pi
- سنسور ژیروسکوپ MPU6050 و Raspberry Pi
- تفاوت بین روتر و فایروال - مهر ۱۰, ۱۴۰۳
- مسیریابی استاتیک در ویندوز - مهر ۸, ۱۴۰۳
- پروتکل SNMP - شهریور ۱۵, ۱۴۰۳
سلام من میخوام ماژول zigbee رو رجیستر کنم توی xctu.
به مشکل خوردم. میشه کمکم کنید ؟
درود
لطفا جزییات خطا را ارسال کنید