Чтение данных XBee с помощью Python невозможно

Я выбрал следующую настройку для чтения данных датчика с помощью Arduino и XBee-соединения:

  • Элемент списка Датчик TMP36 подключен к Arduino Uno
  • Элемент списка Sparkfun XBee-shield с XBee S2C монтируется на Arduino (маршрутизатор, API-режим). Arduino подключен к COM3.
  • Элемент списка COM4 подключен к Sparkfun XBee-Explorer (USB-соединение). На эксплорере подключен еще один XBee S2C. Этот 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-диоды маршрутизатора и координатора мигают независимо от программного обеспечения (XCTU или Python), которое я использую. Для меня не ясно, что происходит, и я был бы рад получить помощь в решении проблемы. Спасибо большое за вашу поддержку. С уважением Даниэль


person Daniel    schedule 13.04.2017    source источник


Ответы (1)


У меня была такая же проблема, переход с API=2 на API=1 решил мою проблему

person Pratik Kumar    schedule 13.07.2017