• Just to add, the advertising works well. I:

    • Opened the 'nRF Connect' app on the phone
    • Clicked 'Advertiser' and set the phone up to advertise with manufacturer data 0x0590 (Espruino's manufacturer data)
    • Opened Web IDE on the phone and connect to the Bangle
    • Ran NRF.requestDevice({ filters: [{ manufacturerData:{0x0590:{}} }] }).then(print); on the Bangle, and you see something like:

      BluetoothDevice: {
      "id": "80:58:f8:98:77:6d public",
      "rssi": -51,
      "data": new Uint8Array([7, 255, 144, 5, 222, 173, 190, 239]).buffer,
      "manufacturer": 1424,
      "manufacturerData": new Uint8Array([222, 173, 190, 239]).buffer
      }
      

    It might be hard to filter by device mac address as modern phones change their address to stop tracking, so using manufacturerdata works pretty well.

    I believe this is what you need to do it directly from an Android app: https://developer.android.com/reference/android/bluetooth/le/BluetoothLeAdvertiser

    Note: I have the Covid contact tracing enabled on my phone, and that stops nRF connect from advertising any data - so you'll either need to disable the app, or use a different phone to be able to use advertising correctly. Hopefully once the vaccine is widespread the contact tracing will be a thing of the past though.

About

Avatar for Gordon @Gordon started