У меня есть две установки XBee Series 2 в режиме API 2. Одна настроена как контроллер, а другая настроена как конечный узел. Конечный узел подключен к Arduino и на данный момент просто принимает значение аналогового датчика и отправляет его.
На данный момент все работает, когда я запускаю XBees через X-ctu. В новой версии добавляю модуль контроллера (на USB проводнике). Затем я нажимаю среднюю кнопку на устройстве, которое ищет другие сетевые устройства. Затем я выбираю режим консоли. Как только я нажимаю кнопку подключения, я сразу же начинаю получать «Получить пакет». После просмотра деталей рамы все в порядке.
В тот момент, когда я пытаюсь использовать java-библиотеку xbee-api или библиотеку python-xbee, я начинаю сталкиваться с проблемами. Код, который я использую, полностью скопирован из примеров (они кажутся вполне разумными для работы). Вот пример кода Python (это COM3 в Windows и /dev/ttyUSB1. Обе ОС имеют одинаковую проблему.)
from xbee import XBee
import serial
s = serial.Serial('COM3', 9600)
xbee = XBee(s)
while True:
try:
response = xbee.wait_read_frame()
print(response)
except KeyboardInterrupt:
break
s.close()
Приложения зависают на xbee.wait_read_frame(). Java-код работает так же, когда я вызываю Xbee.open(), когда код в конечном итоге достигает строки «sendAtCommand (new AtCommand («AP»));» (или используя альтернативу sendSynchronous). Время ожидания метода истекает, и возникает исключение.
На данный момент я понятия не имею, куда идти дальше. Работает внутри XCTU, но не с любым API. Есть ли что-то еще, что мне нужно сделать до того, как wait_read_frame свяжет их вместе? (Я предполагаю, что не потому, что у них одинаковый идентификатор панорамы. На самом деле все настройки, кроме прошивки, одинаковы)
Спасибо за любую помощь!
xbee = XBee(s, escaped=True)
. Библиотека Java также может ожидатьATAP=1
, если вы специально не настроите ее как таковую. Если вы не должны использоватьATAP=2
, вы можете просто попробовать переключиться наATAP=1
, чтобы посмотреть, начнет ли работать ваш код. - person tomlogic   schedule 10.05.2014