I have a working container and some code that I’ve tested else where for talking to a BLE device which I can’t get working on resin.
I have tracked this down to not running the bluetooth deamon with the --experimental flag in the host os (resin)
Is it possible to change the service to start with the experimental flag?
I’ve tried doing this manually but the base os’s files are all read only so I can’t change the service definition, any ideas?
We’ve got a project here https://github.com/resin-io-playground/rpi3-ble that is a deliberately bare-bones application around the bluez package. Could you give that a whirl, see if it works, and then tweak your application?
Hi @bryn, we’ve done some internal investigation and discussion on this and think that we can enable the --experimental flag on bluez which should solve your issue regardless of whether any of the other suggestions help. I’ve opened a Github issue about this if you want to subscribe for status updates (or even to submit a patch if you’re interested ).
So far I’ve managed to build a custom resin host os image, which I think has the experimental flag in it and I have it attached to my application.
I’ll give this a whirl and give you some patches for the builder that I’ve had to make to get it to work with gcc-7, latest ubuntu and latest docker.
This should make things easy to give a patch for the host os build.
My changes to the recipes had no affect on the bluetooth service script, so I’m not sure where to change things as there’s a lot in the build scripts.
On another note I have tried running the bluetoothd on the host manually with the experimental options turned on and my application code works with that.