This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Implementing an iOS based MESH provisioner using Advertisement bearer?

Hello, as the title suggest, I want to implement an iPad/iPhone mesh provisioner, and this is my general idea:

  • Build an App which sends and receives customized advertising packets, in accordance with the BLE Mesh specs and with reference to nordicsemi's provisioner example.

Now this is easier said than done, but first thing first, I need to get some confusion out of the way, so here are a few questions that I hope I can find answers, you are free to contribute even if you don't know for 100% sure:

  1. Based on my doing the homework (reading tech docs and the example codes), all mesh date sent over the air using advertising packets are still... advertising packets, they are not so heavily customized to the point that a lot of overhead for advertising packets has been changed, is this judgement correct? (This above question is the most important one, because iOS APIs may not support a high level of customization in advertising packets)

  2. If 1 is true, does that mean there should be little or no pitfalls in transmitting customized advertisement packets using high level APIs? Because after all, I'm just sending advertisement packets with customized payload. This one may be very difficult to answer but please feel free to share your expert opinion or an educated guess.

  3. It appears that provisioning is done in the

    nrf_mesh_process()

function, (I could be mistaken), instead of a seperate process. Does that mean I must go great lengths and extract the provisioning part of nrf_mesh_process() and translate it to the iOS platform? Or the "extraction" isn't going to be that difficult as provisioning steps are just callbacks etc. specifically designed for provisioning function, relatively isolated from the rest of the code?

4 Considering 3, are there any existing example codes/github projects out there which I can reference? Because coding all the provisioning steps alone can be quite daunting a task (again, I could be wrong). I've searched for it but there is nothing directly related to this application.

Any suggestions?

Parents
  • Hi Mitch,

    Q1: Yes, the BLE Mesh sends the mesh packets within a Bluetooth Low Energy advertising PDU, see section 3.3.1 Advertising Bearer in the Mesh Profile Specification v1.0.0, found here.

    Q2: As far as I know the iOS APIs does not allow you to modify the advertisement packet as defined in the Mesh specification.

    Q3: Porting the provisioner example from the Bluetooth Mesh SDK to iOS will violate the 4th clause of the Nordic License.

    My advise would be to wait until we add support for the GATT Bearer and the Proxy protocol that will allow you interact with the mesh using a Android or iOS device.

    Best regards

    Bjørn

Reply
  • Hi Mitch,

    Q1: Yes, the BLE Mesh sends the mesh packets within a Bluetooth Low Energy advertising PDU, see section 3.3.1 Advertising Bearer in the Mesh Profile Specification v1.0.0, found here.

    Q2: As far as I know the iOS APIs does not allow you to modify the advertisement packet as defined in the Mesh specification.

    Q3: Porting the provisioner example from the Bluetooth Mesh SDK to iOS will violate the 4th clause of the Nordic License.

    My advise would be to wait until we add support for the GATT Bearer and the Proxy protocol that will allow you interact with the mesh using a Android or iOS device.

    Best regards

    Bjørn

Children
  • Hello Bjørn Spockeli, thank you for your reply!

    However, I'm not getting you 100% on point #2, are you saying it's pretty impossible for me to use high level (or low level for that matter) iOS APIs to turn ordinary advertising packets into BLE Mesh compatible ones? That's a really bad news :(

    Oh and:

    My advise would be to wait until we add support for the GATT Bearer and the Proxy protocol that will allow you interact with the mesh using a Android or iOS device.

    When will be that happening? I really hope it could be done in one or two months...

  • Yes, my understanding is that you wont be able to implement the Mesh ADV bearer with the current iOS version. I am afraid that I cannot give you any date for when this feature will be added. Any roadmap/release schedule information will be communicated by our Sales reps. Thus, my advice would be to contact your local Nordic Regional Sales Manager regarding this. If you do not have the contact info for your RSm, then please let me know and I will provide it to you.

Related