Developer

last person joined: yesterday 

Expand all | Collapse all

BLE advertisement forwarding - for everyone?

This thread has been viewed 39 times
  • 1.  BLE advertisement forwarding - for everyone?

    Posted May 12, 2021 09:10 AM
    BLE Data Forwarding
    For specific partners, a mechanism has been added called BLE data
    forwarding. This mechanism is in addition to the periodic reporting
    mentioned above. In addition, BLE data forwarding only works when
    using the ATW endpoint and does not work with ATH. The current device
    class filters that support the BLE data forwarding are "Ability
    Smart Sensors", "MySphera", and "sBeacon" only!​

    I was hoping to receive data from a custom beacon format that is none of the above.  To do this, I'd need to have other data forwarded, specifically advertisement packets that aren't necessarily in one of the above formats.  Is this possible, without being one of these "specific partners" ?  I'm not sure if the above means I would have to sign some kind of special agreement, or does it mean that I would have to have Aruba modify their software to incorporate my custom advertisement protocol (in addition to iBeacon, sBeacon, etc).  (What is an sBeacon, anyway?  I tried searching and couldn't find it - is it a secure beacon?  is it a proprietary format?)

    I am perfectly fine with getting the advertisement data as just raw bytes or hex.

    Without this, I'm not sure how I would know that a device was present, even if I knew its MAC address.  I intend to have my own advertisement format, then use GATT to connect back to the device as necessary, but this is for a sensor application so some (occasional and small) data will be sent via the advertisement channel.


    ------------------------------
    Christopher Piggott
    ------------------------------


  • 2.  RE: BLE advertisement forwarding - for everyone?

    Posted May 12, 2021 09:26 AM
    I do get a lot of messages that come through as CellEvent="update" but they have no Beacon data in them.  The only information in these messages is a MAC address, an RSSI, and deviceType="unclassified."  I kind of suspect that these are unknown advertisements, but there's no raw message data.  In the Telemetry message (the outer envelope of northbound websocket messages), the field BleData[] is always nil.  In my transport profile, deviceclassfilter is set to "ibeacon" and "all" (which is probably redundant).





    ------------------------------
    Christopher Piggott
    ------------------------------



  • 3.  RE: BLE advertisement forwarding - for everyone?

    Posted May 13, 2021 01:37 PM
    I want to add to this just how pleased I am with it.  I wrote a websocket server based on the documentation and the proto files.  It's written in go, and I wrote it weeks before I had any hardware.  When I ran it the first time against an actual controller, it just worked.  That's pretty rare.

    When the AP receives a known beacon format it interprets it for me, which is great.  I get these as 'update' messages.

    When the APreceives an unknown advertisement, it reports it to me as an 'update' but with no information beyond the seen MAC address and its RSSI.  That's enough to estimate a location, but what I was really hoping to do was to use a custom beacon format.  To do that, I really need the controller to forward me the raw contents of the advertisement.  From the spec I thought I'd get that in BleData[] but it doesn't seem to be the case.  From documentation, it looked like the way to enable that is to set a deviceClassFilter of "all" in the transport profile.  Some older documentation suggested you configure this through a ble_relay configuration that isn't there any more (you get a warning saying to use transportProfile instead).  So my only remaining problem is how do I get the raw advertisement data.


    ------------------------------
    Christopher Piggott
    ------------------------------



  • 4.  RE: BLE advertisement forwarding - for everyone?

    Posted May 14, 2021 04:05 AM
    Hi Christopher,

    Thanks for the great feedback. Great to hear that it works smoothly for you.

    What you are looking for is called BLE data forwarding. 
    https://iot-utilities.arubademo.de/docs/aruba/aruba_iot_configuration_guide.html#ble-data-forwarding

    Starting with ArubaOS/Aruba Instant 8.8 you can enable BLE data forwarding for all "known" BLE vendors/device classes except the device class "all" or "unclassified". 
    https://iot-utilities.arubademo.de/docs/aruba/aruba_iot_configuration_guide.html#supported-iot-vendordevice-class-list

    There is a trick to get custom BLE advertisement formats being forwarded as BLE data with 8.8. As long as your BLE beacon/sensor is advertising at least one of the know BLE vendors including iBeacon or Eddystone. The Aruba AP will also forward custom BLE advertisements form the same BLE device. That means, if your BLE device is able to send multiple advertisements e.g. iBeacon + your customer advertisement format you will get both being forward as BLE data.

    Let me know if this helps and you can continue with your development.

    Regards,

    Jens

    ------------------------------
    Jens Fluegel
    ------------------------------



  • 5.  RE: BLE advertisement forwarding - for everyone?

    Posted May 15, 2021 09:39 AM

    There is a trick to get custom BLE advertisement formats being forwarded as BLE data with 8.8

    I will try that today.  That is actually kind of perfect.  I can use a standard beacon just as an announcement, but put the signature in a separate advertisement.  That way it will be detectable as a normal device with no special software required, but anything capable of interpreting the second message will be able to do so.  Thank you.

    Is this capability new in 8.8 or would 8.6 support it as well?



    ------------------------------
    Christopher Piggott
    ------------------------------



  • 6.  RE: BLE advertisement forwarding - for everyone?

    Posted May 15, 2021 02:31 PM
    This capability is new with 8.8. Before 8.8 only selected BLE vendors has been supported, not including iBeacon or Eddystone. This has been changed with 8.8.
    FYI enabling the new per-frame filter, also added with 8.8, disables this behaviour again.

    ------------------------------
    Jens Fluegel
    ------------------------------



  • 7.  RE: BLE advertisement forwarding - for everyone?

    Posted Jun 01, 2021 10:17 AM
    I haven't upgraded to 8.8 to try this (yet) but will very soon.  The reason I haven't is that my organization is just considering upgrading to 8.6 so I'm staging my development to track with them for now.  My plan for my lab is to have a few APs on 8.8 and a few on 8.6 (just haven't gotten there yet).

    In light of that, question related to Eddystone Secure Beacons.  I assume with 8.8 that the secure beacons would be reported as BLE data as long as there's at least one standard beacon format to go along with it; but is Secure TLM considered a 'supported' format?  I imagine it probably isn't because to decode them the access points would need to know the Identity Key of each beacon, as well as keep track of the time.  For 8.8+ if it just passes the raw bleData along that's probably good enough.

    I imagine 8.6 and earlier would probably simply ignore these types of advertisements.  But what gives me pause is that a TLM beacon is still eddystone frame type 0x20 (just with a different version field - encrypted 0x01 vs unencrypted 0x00).

    Of course, I could just try it :-)  I just have not gotten to that part yet.






    ------------------------------
    Christopher Piggott
    ------------------------------