Re: [Bluetooth mesh]unprovisioned device (micro:bit) can't be discovered


Kai Ren
 

Hi Johan,
I’d be curious to hear if you can still fit a Mesh + PB-GATT build onto the micro:bit, since I suspect Zephyr’s RAM footprint may have gone up slightly during the past year.
I had done it, the micro:bit can be:
1. provisioned by nRF Mesh and meshctl through PB-GATT
2. don't support provisioningdata persistent storage;
3. model configuration, just two models here: Configuration Server and Generic OnOff Server. Micro:bit can be configured through PB-GATT.
4. don't support Proxy.
5. basing on Zephyr v1.12 release.

I tried to put it basing on v1.14-rc1, but I think it's impossible.


Best Regards,
Kai

-----Original Message-----
From: Hedberg, Johan <johan.hedberg@intel.com>
Sent: Tuesday, March 12, 2019 10:54 PM
To: Kai Ren <kren@bluetooth.com>
Cc: devel@lists.zephyrproject.org
Subject: Re: [Zephyr-devel] [Bluetooth mesh]unprovisioned device (micro:bit) can't be discovered

Hi Kai,

On 12 Mar 2019, at 16.29, Kai Ren <kren@bluetooth.com> wrote:
This is the commit I used: 3aa8443ab41202f978258810961dbc5a74ad2727

I tried to build ./samples/Bluetooth/mesh/ product in Zephyr master
following this guide and target device is
micro:bit,https://docs.zephyrproject.org/latest/samples/bluetooth/mesh
/README.html I can compile source code (the compiler is
gcc-arm-2018q4) and flash firmware into micro:bit.
But after board reset, I found that I can’t use iOS app, nRF Mesh, to
discover it. However, following this
guide,https://docs.zephyrproject.org/latest/samples/bluetooth/mesh/REA
DME.html

“This sample demonstrates Bluetooth Mesh functionality. It has several standard Mesh models, and supports provisioning over both the Advertising and the GATT Provisioning Bearers (i.e. PB-ADV and PB-GATT). The application also needs a functioning serial console, since that’s used for the Out-of-Band provisioning procedure.”

Then, I took a look on prj_bbc_microbit.conf in folder./samples/Bluetooth/mesh/, I found that it haven’t defined below:

CONFIG_BT_PERIPHERAL=y
CONFIG_BT_MESH_GATT_PROXY=y
CONFIG_BT_MESH_PB_GATT=y
CONFIG_BT_MESH_PB_ADV=n

Without these pre-define, how does micro:bit support PB-ADV and PB-GATT?
It doesn’t. It seems like a possible oversight with this configuration file. There’s a second one for this sample app called microbit_gatt.conf which does have PB_GATT=y. Note that the micro:bit with its 16k of RAM was always quite tricky when it came to fitting both the mesh and the provisioning protocols on it. That’s why we’ve done self-provisioning e.g. with samples/bluetooth/mesh_demo since it doesn’t require any provisioning bearer to be compiled in. I’d be curious to hear if you can still fit a Mesh + PB-GATT build onto the micro:bit, since I suspect Zephyr’s RAM footprint may have gone up slightly during the past year.

Johan

Join devel@lists.zephyrproject.org to automatically receive all group messages.