#xbee
#xbee
Вопрос:
Мы используем USB-накопители XU-A11 X-STICK 2,4 ГГц ДЛЯ ПОДКЛЮЧЕНИЯ К XBEE и USB-адаптеры XU3-A11 XBEE3. И библиотека xbee-java версии 1.3.0
Мы создали тест, в котором мы отправляем одни и те же данные каждые 100 мс. Мы видим, что мы получаем исключение TransmitException примерно раз в минуту. Подробная информация об исключении: «Возникла проблема с передачей пакета API XBee. > Ошибка: подтверждение не получено (0x01) »
Есть ли способ избежать получения этого исключения?
Фрагмент кода:
while (true) {
localDevice.sendData(xBee64BitAddress, data);
Thread.sleep(100);
}
Конфигурация:
serialPort = /dev/ttyUSB0
baudRate = 9600
dataBits = 8
stopBits = 1
serialParityConfiguration = NONE
Ответ №1:
Обратите внимание, что вы отправляете 10 пакетов в секунду со скоростью 9600 бод, поэтому ваши данные (с накладными расходами) должны составлять 96 байт или меньше (9600 бит / сек — это около 960 байт / сек). Для начала попробуйте увеличить скорость передачи данных.
Возможно, полностью избежать исключения не удастся. Что делать, если другое устройство отключено или перезагружается? Напишите обработчик исключений для регистрации ошибки, а затем обработайте эту ошибку соответствующим образом. Возможно, допустима одна ошибка в секунду, но если есть последовательность из более чем 4 ошибок, вы хотите что-то с этим сделать.
Комментарии:
1. Если мы установим тайм-аут на 5 секунд, мы также получим то же исключение.
2. Как ваше качество сигнала? Какое расстояние между модулями? Если у ваших модулей есть антенные разъемы, помните ли вы о подключении антенн?
3. Между модулями около 1 метра.
4. Получает ли удаленное устройство данные? Как насчет антенн — это модули с чип-антенной или разъем, к которому предполагается подключить антенну? Если модули расположены близко друг к другу, они могут работать без антенны, но, вероятно, будут отбрасывать пакеты. Если вы можете подключиться к компьютеру, на котором работает XCTU, вы можете запустить тест диапазона и измерить качество сигнала. digi.com/resources/documentation/Digidocs/90001456-13/concepts /…
5. На данный момент у нас нет времени для проведения надлежащих тестов, как только мы получим время, я сообщу вам, каковы результаты. Мы не используем антенны.