2016-11-01 2 views
0

У меня вопрос о соединениях с голубыми точками. Я установил соединение Bluetooth с моим устройством (Arduino Nano с экраном bluetooth) и по какой-либо причине это соединение может потерпеть неудачу. Все в порядке, это bluetooth, и это происходит, например, когда устройство выходит за пределы допустимого диапазона. Но когда это возможно, я хочу, чтобы соединение восстановилось. У меня с этой проблемой возникают проблемы; код для подключения просто не будет работать. Что, похоже, работает, это перезагрузка устройства (просто перезагрузка приложения недостаточно). После перезагрузки Pi соединения оживают и пинают снова.Подсоединение Bluetooth

Так что, похоже, что-то застряло, что исправлено после перезагрузки, но я хотел бы знать, как исправить это, не перезагружая компьютер. Кто угодно?

Обновление информация о другом. Я использую библиотеку Firmata для подключения и управления Arduino's. У меня есть контроль над обеими сторонами, хотя мне менее удобно менять код firmata.

+0

«** код для подключения просто больше не будет работать **« какая информация об ошибке? Вы пробовали снова и снова пара? –

+0

Я не пробовал, так как это должно работать без человеческого взаимодействия. Я не уверен, действительно ли это возможно для пары/отказа от кода, но, с другой стороны, это было бы странно, если это необходимо, не так ли? – Jasper

ответ

0

Чтобы ответить на ваш вопрос, я предполагаю, что у вас есть контроль над любым из ваших устройств. Управление означает, что вы можете изменить код, чтобы устройство могло попытаться снова подключиться.

Выпуск

Теперь, в вашем случае, когда устройство выходит из диапазона, соединение обрывается, но когда они приходят в диапазоне ни один из устройства по своей сути попытка подключения к другому устройству. Если у вас нет написанного кода, который пытается переподключиться к последнему подключенному устройству, ни одно из устройств не попытается подключиться, даже если они находятся в зоне действия. Когда вы перезагружаете устройство, ваше устройство aurdino может пытаться подключиться ко всем/последним подключенным устройствам, из-за которых происходит пересоединение.

Решение

Чтобы решить проблему, вы можете добавить кусок кода предпочтительно aurdino стороны, чтобы попытаться сохранить переподключения к последнему подключенному устройству на регулярные промежутки времени, скажем, 5 секунд.

Ограничение

Однако, это больше похоже на опрос, где вы точно не знаете, если устройство находится фактически в диапазоне. В bluetooth это невозможно узнать, попало ли устройство в диапазон до тех пор, пока мы не сканируем устройство. Только проблема, с которой вам приходится сталкиваться с этим решением, потребует больше энергии, так как она будет пытаться повторно подключаться через Bluetooth через регулярный промежуток времени, даже если устройство отсутствует.

Надеюсь, это поможет.

С уважением

+0

У меня есть контроль над устройствами, да. Я использую firmata для удаленного подключения и управления Arduinos. Я не думаю, что эти устройства пересоединяются, логики повторного подключения/повторного подключения в Firmata не существует, насколько я знаю. – Jasper

+0

Firmata - это протокол связи между хостом и arduino, конечно, нет логики повтора/повторного подключения в Firmata, и вы не должны разрабатывать такие. Как говорит akasonlyaks, напишите логические коды повторного соединения, которые проходят через регулярный промежуток времени на стороне Arduino. – Jackie

+0

Я понимаю, но на стороне Arduino единственное, что загружается, - это код firmata.Соединение Bluetooth так же просто, как проводка в TX/RX и запуск Serial, это в значительной степени это. Поэтому я не уверен, как мне включить логику повтора. – Jasper

Смежные вопросы