Disable beacon without connecting OR connecting to beacon

I am streaming accelerometer data from my Metawear C to my Android wearable. However, I only want to establish the connection when the wearable is within range of the Metawear. Otherwise the Metawear should be in Beacon mode to minimize power consumption. I'm able to set the Metawear board in beacon mode, then disconnect from the board. However, I'm then unable to reconnect to the board while its in beacon mode. I'm also unable to disable Beacon mode when it's not connected: I get a null pointer exception when attempting to get the IBeacon module. How should I approach this?

Comments

  • How are you attempting to connect to the board?  I don't have any problem reestablishing connection by calling "connect" with a saved MetaWearBoard object, however I did notice that the BLE scan removes iBeacon MetaWears when filtering on the MetaWear UUID on Android 5.1 and M.
  • I tried reconnecting to the Bluetooth device by its address, and that did not work, but I have not yet tried reconnecting to a saved MetaWearBoard. It's not ideal but it will do - I'll give it a try, thanks!
  • I'm able to connect to it that way. Thank you! I also noticed, interestingly enough, it takes 3 advertisement cycles before the connection is made, which means for an adPeriod of 10 seconds, which is sufficiently frequent for my application, it will take ~30 seconds before it actually establishes the connection. 
  • What phone and Android OS are you using? I am able to connect to an ibeacon metwear almost instantly with the API and with other apps such as the Nordic master control panel app.
  • Galaxy s6, android 6.0.1.
This discussion has been closed.