- ข้อกำหนดฮาร์ดแวร์
- การกำหนดค่าโมดูล XBee โดยใช้ XCTU
- การเขียนโปรแกรมและทดสอบการสื่อสาร XBee โดยใช้ Arduino
ในบทช่วยสอนก่อนหน้านี้เราได้เรียนรู้เกี่ยวกับโปรโตคอล ZigBee และสถาปัตยกรรมและยังได้เรียนรู้เกี่ยวกับการสื่อสารไร้สายระหว่างโมดูล Xbee สองโมดูล ตอนนี้ในบทช่วยสอนนี้เราจะ เชื่อมต่อโมดูล XBee กับบอร์ด Arduino Uno XBee ที่เชื่อมต่อกับบอร์ด Arduino จะทำหน้าที่เป็นตัวรับสัญญาณและจะสื่อสารแบบไร้สายกับโมดูล XBee อื่น ๆ ซึ่งเชื่อมต่อกับแล็ปท็อปโดยใช้บอร์ด Explorer มาสำรวจเพิ่มเติมสำหรับการสื่อสารไร้สาย Arduino โดยใช้ XBee
ข้อกำหนดฮาร์ดแวร์
- 1 x Arduino Uno
- 2 x XBee Pro S2C โมดูล (สามารถใช้รุ่นอื่นได้)
- 1 x Xbee explorer board (อุปกรณ์เสริม)
- 1 x Xbee Breakout board (อุปกรณ์เสริม)
- สาย USB
- ไฟ LED
การกำหนดค่าโมดูล XBee โดยใช้ XCTU
ดังที่เราได้เรียนรู้ในบทช่วยสอนก่อนหน้านี้ว่าโมดูล XBee สามารถทำหน้าที่เป็นผู้ประสานงานเราเตอร์หรืออุปกรณ์ปลายทางได้ แต่จำเป็นต้องกำหนดค่าให้ทำงานในโหมดที่ต้องการ ดังนั้นก่อนที่จะใช้โมดูล XBee กับ Arduinoเราต้องกำหนดค่าโมดูลเหล่านี้โดยใช้ซอฟต์แวร์ XCTU
ในการเชื่อมต่อโมดูล XBee กับแล็ปท็อปจะใช้ตัวแปลง USB เป็นอนุกรมหรือบอร์ดสำรวจที่ออกแบบมาโดยเฉพาะ เพียงต่อโมดูล XBee เข้ากับบอร์ด Explorer แล้วเสียบเข้ากับแล็ปท็อปโดยใช้สาย USB
หากคุณไม่มีตัวแปลงหรือบอร์ด explorer บอร์ดArduino สามารถใช้เป็นอุปกรณ์ USB กับอนุกรมซึ่งสามารถสื่อสารกับ XBee และแล็ปท็อปได้อย่างง่ายดาย เพียงอัปโหลดร่างเปล่าในบอร์ด Arduino และตอนนี้ก็สามารถทำงานเหมือนตัวแปลง USB เป็น Serial
การเชื่อมต่อสำหรับการเชื่อมต่อโมดูล ZigBee กับ Arduinoจะแสดงในแผนภาพวงจร
การเชื่อมต่อ:
- Tx (pin2) ของ XBee -> Tx ของบอร์ด Arduino
- Rx (pin3) ของ Xbee -> Rx ของบอร์ด Arduino
- Gnd (pin10) ของ Xbee -> GND ของบอร์ด Arduino
- Vcc (Pin1) ของ Xbee -> 3.3v ของบอร์ด Arduino
ที่นี่ในการกวดวิชานี้เป็นคณะกรรมการ Explorer ถูกใช้ในการกำหนดค่าโมดูล
ดาวน์โหลดซอฟต์แวร์ XCTU จากลิงค์นี้และติดตั้ง หลังจากดาวน์โหลดและติดตั้งซอฟต์แวร์ XCTU แล้วให้เปิดและตรวจสอบว่าโมดูล XBee ของคุณเชื่อมต่ออย่างถูกต้อง ตรวจสอบพอร์ต COM ของบอร์ด Arduino ในตัวจัดการอุปกรณ์
ขั้นตอนที่ 1: -ตอนนี้คลิกที่ปุ่มค้นหา ซึ่งจะแสดงอุปกรณ์ RF ทั้งหมดที่เชื่อมต่อกับแล็ปท็อปของคุณ ในกรณีของเราจะแสดงโมดูล XBee เพียงโมดูลเดียว
ขั้นตอนที่ 2: - เลือกพอร์ตอนุกรมของบอร์ด Explorer / บอร์ด Arduino แล้วคลิกที่ถัดไป
ขั้นตอนที่ 3: - ในหน้าต่างถัดไปให้ตั้งค่าพารามิเตอร์พอร์ต USB ดังที่แสดงด้านล่างและคลิกที่ Finish
ขั้นตอนที่ 4: - เลือกอุปกรณ์ค้นพบและคลิกที่ Add เลือกอุปกรณ์ กระบวนการนี้จะเพิ่มโมดูล XBee ของคุณไปยังแดชบอร์ด XCTU
ขั้นตอนที่ 5: - ตอนนี้คุณสามารถกำหนดค่าโมดูล XBee ของคุณได้ในหน้าต่างนี้ ใช้คำสั่ง AT หรือใส่ข้อมูลด้วยตนเอง ขณะที่คุณสามารถดูมีR แสดงบนแผงด้านซ้ายซึ่งหมายความว่า Xbee อยู่ในโหมดเราเตอร์ เราต้องทำให้เป็น Coordinator สำหรับส่วนเครื่องส่ง
ขั้นแรกอัปเดตเฟิร์มแวร์โดยคลิกที่อัปเดตเฟิร์มแวร์
ขั้นตอนที่ 6: - เลือกตระกูลผลิตภัณฑ์ของอุปกรณ์ของคุณซึ่งมีอยู่ด้านหลังของโมดูล XBee เลือกชุดและฟังก์ชั่นรุ่นเฟิร์มเป็นไฮไลต์ด้านล่างและคลิกที่ปรับปรุง
ขั้นตอนที่ 7: - ตอนนี้คุณต้องให้ข้อมูล ID, MY และ DL เพื่อทำการเชื่อมต่อกับ XBee อื่น ๆ ID ยังคงเหมือนเดิมสำหรับทั้งสองโมดูล เฉพาะการแลกเปลี่ยนข้อมูล MY และ DL เช่นMY สำหรับเครื่องรับ XBee กลายเป็น DL ของเครื่องส่ง XBee (ผู้ประสานงาน) และ DL สำหรับเครื่องรับ XBee กลายเป็น MY ของเครื่องส่ง XBee กำหนดให้ CE เป็นผู้ประสานงานจากนั้นกดปุ่มเขียน ดังแสดงด้านล่าง.
ATDL |
ATMY |
||
ผู้ประสานงาน XBee 1 |
|||
XBee 2 end อุปกรณ์ |
ขั้นตอนที่ 8: - หลังจากเขียนข้อมูลข้างต้นไปยังส่วนเครื่องส่งสัญญาณแล้วให้เสียบออกจากบอร์ดสำรวจและเสียบเข้ากับโมดูล XBee ตัวที่สอง ทำซ้ำขั้นตอนเดียวกันกับข้างต้นการเปลี่ยนแปลงเท่านั้นคือ DL, MY และ CE เนื่องจากเราจะทำให้ XBee เครื่องที่สองเป็นอุปกรณ์ End ดังนั้นในเมนูแบบเลื่อนลง CE ให้เลือกอุปกรณ์สิ้นสุดและกดปุ่มเขียน
ขั้นตอนที่ 9: - ตอนนี้โมดูล XBee ของเราพร้อมที่จะเชื่อมต่อกับบอร์ด Arduino แล้ว เราจะเชื่อมต่อ XBee ส่งแล็ปท็อปและรับ XBee กับคณะกรรมการ จากนั้นให้คำสั่งกับส่วนรับโดยใช้แล็ปท็อป
แผนภาพวงจรสำหรับส่วนรับ:
การเชื่อมต่อ:
- Tx (pin2) ของ XBee -> Rx ของบอร์ด Arduino
- Rx (pin3) ของ Xbee -> Tx ของบอร์ด Arduino
- Gnd (pin10) ของ Xbee -> GND ของบอร์ด Arduino
- Vcc (Pin1) ของ Xbee -> 3.3v ของบอร์ด Arduino
หากคุณใช้บอร์ด Arduino เพื่อเชื่อมต่อเครื่องส่งสัญญาณ ZigBee กับแล็ปท็อปการเชื่อมต่อจะเหมือนกับการเขียนโปรแกรม ZigBee
การเขียนโปรแกรมและทดสอบการสื่อสาร XBee โดยใช้ Arduino
ตอนนี้เราจะเขียนรหัสสำหรับตัวรับ Arduino เพื่อเปิดไฟ LED ทุกครั้งที่ส่วนรับสัญญาณได้รับ 'a' และกะพริบ LED ทุกครั้งที่ได้รับ 'b'สำหรับตัวอักษรอื่น ๆ LED จะยังคงดับอยู่
รหัสเป็นเรื่องง่ายและเข้าใจได้ง่าย เราจะตรวจสอบอักขระที่เข้ามาโดยใช้ฟังก์ชัน Serial.available ()และเก็บอักขระนี้ไว้ในตัวแปรโดยใช้Serial.read (); ฟังก์ชันและจับคู่กับ 'a' และ 'b' หากการจับคู่ถูกต้องให้ดำเนินการตามที่ระบุไว้ในเงื่อนไข รหัสที่สมบูรณ์สำหรับส่วนผู้รับจะได้รับในตอนท้าย อัปโหลดรหัสในส่วนตัวรับ Arduino ถอดสาย Tx และ Rx ของ XBee ก่อนอัปโหลด
ตอนนี้เราทุกคนพร้อมที่จะทดสอบเครื่องส่งและเครื่องรับของเรา ในการให้คำสั่งกับส่วนเครื่องส่งสัญญาณเราจะใช้คอนโซลเทอร์มินัลของ XCTU คลิกที่ไอคอนคอนโซลใกล้ตัวเลือกการตั้งค่า จากนั้นคลิกที่ปุ่มเปิดเพื่อเชื่อมต่อ XBee กับแล็ปท็อป
ป้อน 'a' ในบันทึกของคอนโซล คุณจะเห็นว่า LED จะเปิดเป็นเวลา 2 วินาทีและหลังจากนั้นให้ป้อน 'b' เพื่อทำให้ไฟ LED กะพริบเป็นเวลา 5 ครั้ง
คุณยังสามารถเชื่อมต่อเครื่องส่ง XBee กับบอร์ด Arduino ได้เพียงแค่เปลี่ยนรหัสตัวรับเล็กน้อย แทนที่ฟังก์ชัน Serial.read () ให้ใช้ฟังก์ชัน Serial.println () เพื่อส่งอักขระ
ตรวจสอบวิดีโอสาธิตที่ระบุด้านล่าง
นี้การติดตั้ง XBee-Arduinoสามารถนำมาใช้เพื่อให้การใช้งานไร้สายที่มีประโยชน์มากมายเช่นระบบบ้านอัตโนมัติ, แชทห้องพัก ฯลฯ