Я выбрал следующую настройку для чтения данных датчика с помощью 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), которое я использую. Для меня не ясно, что происходит, и я был бы рад получить помощь в решении проблемы. Спасибо большое за вашу поддержку. С уважением Даниэль