iNavFlight / inav-configurator

GNU General Public License v3.0
590 stars 318 forks source link

Missing feature: BLE support #1001

Closed marianomd closed 1 year ago

marianomd commented 4 years ago

BLE doesn't have RFCOMM support, so it would be very useful to configure iNav through HC-08 or HM-10 modules or directly on FCs like SpeedyBee F4/F7, Racerstar MELO F4, Diatone Mamba F722S, and other FCs that have CC2541 chip.

Chrome has support for BLE: https://googlechrome.github.io/samples/web-bluetooth/ I managed to discover the device with one example from that page.

I guess we could take the implementation details from a project like this: https://github.com/monteslu/ble-serial

It seems it should be straightforward. I will investigate further.

tonyyng commented 4 years ago

I would find this very useful. I found it mentioned in this issue, but it doesn't appear it went anywhere at that point.

elepete commented 4 years ago

Another thought on BLE (HM-10 / HM-11 like modules). As rfcomm is not supported there is a way to get a "pts" device linked to serial communcation of the BLE module. Please see this link: https://github.com/Jakeler/ble-serial This is an easy way to get a "serial" for BLE in Linux (e.g. as /dev/pts/2). I have tested that under Debian Buster, works fine and stable. Only issue is that you cannot open any device that is not dialout or a full tty. Terminal programs perform just fine on a 'pts' and communicate well via BLE to the MSP serial port on the FC. Issue is that INAV_Configurator is not accepting or really creating an error opening such 'pts' device instead of a 'tty'. If the configurator could be changed that would be another way of having BLE serial support.

If all that works I would add a BLE to my copter, and have a logic switch to enable it in disarmed state only. In that way the USB cable is only needed in super rare cases + phone is always a good option to do changes if needed.

BLE support in Configurator would indeed be a real plus.

elepete commented 4 years ago

Under Linux it works with the ble-serial. A thanks to Jakeler who created the ble-serial and looked behind things: https://github.com/Jakeler/ble-serial/issues/6#issuecomment-653365093

michaelvanderhoek commented 3 years ago

ANy updates on this topic?

MrD-RC commented 1 year ago

Fixed with https://github.com/iNavFlight/inav-configurator/issues/1436