|
Проекты GitHub SourceForge |
BtMesh /
E104-BT5023UКонтроллер сети Bluetooth Mesh на базе USB адаптера E104-BT5032UМотивацияВыяснилось, что стандартный USB Bluetooth адаптер очень плохо подходит для управления Bluetooth Mesh: связь с узлами медленная и неустойчивая. Постоянно теряются пакеты, как на прием, так и на передачу. Процесс provisioning'a очень трудно довести до конца: только 5-10% попыток подключить новое устройство заканчивалось успехом. В то же время, аппаратные выключатели на базе nRF52 прекрасно работали со светильниками: одно нажатие на клавишу - одно включение. Четко и без задержек. Поэтому, мне пришла в голову идея, взять USB донгл с чипом nRF52 на борту, и используя Mesh SDK, сделать специализированный контроллер специально для управления сетью BT Mesh. Естественно, нужно еще и написать для него драйвер в Bluez. В качестве пилотного проекта был приобретен Bluetooth сниффер E104-BT5032U на базе чипа nRF52832. Это, относительно, дешевый чип из семейства nRF52, у которого нет USB контроллера, поэтому, к компьютеру он подключается через RS232-USB конвертер. Меня это никак не смутило, тем более, что за базовый транспорт я и так собирался использовать последовательный интерфейс. Скорость модуляции BLE5: 2Mbps, но максимальную скорость, которую UART чипа может развивать - 1Mbps. Мне показалось, что этого мало, но начал работать с тем, что есть. Дальнейшее изучение темы показало, что даже эта скорость избыточна: контроллер BT Mesh не может выдавать в сеть такие скорости из-за ограничения рейта в передаче пакетов. Тем не менее, для начала разработки этого донгла было вполне достаточно, поэтому работа закипела. Что я хотел сделать и что получилось... Найденные проблемы
На данный момент, Mesh Controller на базе этого адаптера признан бесперспективным. Несмотря на то, что благодаря подтверждению пакетов, драйвер может обнаруживать потери при передаче, было принято решение перейти на плату PCA10059, которая содержит чип NRF52840 и имеет USB интерфейс. Данный же контроллер, будет резервным и используется для отладки модуля Home Assistant BLE Mesh. |