ไม่สามารถอ่านข้อมูล XBee ด้วย Python ได้

ฉันได้เลือกการตั้งค่าต่อไปนี้เพื่ออ่านข้อมูลเซ็นเซอร์โดย Arduino และการเชื่อมต่อ XBee:

  • รายการเซ็นเซอร์ TMP36 เชื่อมต่อกับ Arduino Uno
  • รายการ Sparkfun XBee-shield ที่มี XBee S2C ติดตั้งอยู่บน Arduino (เราเตอร์, โหมด API) Arduino เชื่อมต่อกับ COM3
  • รายการ itemCOM4 เชื่อมต่อกับ Sparkfun XBee-Explorer (การเชื่อมต่อ USB) มี XBee S2C อีกเครื่องเชื่อมต่อกับ explorer XBee นี้เป็นผู้ประสานงาน (โหมด API)

ฉันได้เขียนโค้ดสำหรับอ่านข้อมูลจาก Xbee-Explorer ที่ COM4:

#! /usr/bin/python
# Import and init an XBee device
from xbee import XBee, ZigBee
import serial
ser = serial.Serial('COM4', 9600)
xbee = XBee(ser)
while True:
try: 
enter response =  xbee.wait_read_frame()
    print response
except KeyboardInterrupt:
    break
ser.close()

ในขณะนี้ ไม่สามารถรับข้อมูลใดๆ ที่ Xbee ได้รับด้วยโค้ด Python ได้ แม้ว่า XCTU จะสามารถอ่านข้อมูลได้ก็ตาม

ในรายละเอียด: หากฉันส่งข้อมูลเซ็นเซอร์ (การอ่านเซ็นเซอร์และส่งไปยัง Xbee นั้นดำเนินการโดยซอฟต์แวร์ Arduino) จากเราเตอร์ไปยังผู้ประสานงาน ฉันจะสามารถอ่านเฟรมข้อมูลโดย XCTU และผลลัพธ์ก็สมเหตุสมผล หากฉันใช้โค้ด Python ด้านบน ฉันจะไม่ได้รับเฟรมข้อมูลใด ๆ แม้ว่า RSSI-diodes ของเราเตอร์และผู้ประสานงานจะกะพริบแยกจากซอฟต์แวร์ (XCTU หรือ Python) ที่ฉันใช้ สำหรับฉันยังไม่ชัดเจนว่าเกิดอะไรขึ้น และฉันยินดีที่จะขอความช่วยเหลือในการแก้ปัญหา ขอบคุณมากสำหรับการสนับสนุนของคุณ. ขอแสดงความนับถือแดเนียล


person Daniel    schedule 13.04.2017    source แหล่งที่มา


คำตอบ (1)


ฉันมีปัญหาเดียวกัน การเปลี่ยนจาก API=2 เป็น API=1 ช่วยแก้ปัญหาของฉันได้

person Pratik Kumar    schedule 13.07.2017