Publishing for Bluetooth Asia 2018 developer session: mesh session. This repo is for GenericOnOff client side firmware.
EULA
PLEASE READ MESH_DEMO_TUTORIAL_EULA.TXT BEFORE START DEVELOPMENT.
Overview
This sample demonstrates Bluetooth Mesh functionality on micro:bit. It doesn't need provisioning because all the credential material (DevKey, NetKey, AppKey, Key Index, IVI and Unicast address) is pre-configured. This sample work as a GenericOnOff client:
- Pressing Button A on micro:bit will send GenericOnOffSet access message with on or off state alternatively and specific group address;
- Pressing Button B on micro:bit will switch the group address from 0xC000 to 0xC003 and back to 0xC000 again like round robin;
Requirements
micro:bit board
Building and Running
0. Download source code, it's zip file, the link is on this page, Download repository
.
1. Following below link to set the development environment up on your Windows computer. http://docs.zephyrproject.org/getting_started/installation_win.html . Please make sure git checkout this commit, commit: 88dfd399f480b1593a8e13f5a68d512921a55502 , the detail is here, https://github.com/zephyrproject-rtos/zephyr/commit/88dfd399f480b1593a8e13f5a68d512921a55502
2. copy zip file into ./zephyr/sample/
in the Zephyr tree.
3. unzip the file by "Extract Here".
3. access into the extracted folder and rename prj_bbc_microbit.txt
to prj_bbc_microbit.conf
4. if adopting Windows Command Prompt, use it to access into the unzip folder and type following commands on the console:
mkdir build & cd build
cmake -GNinja -DBOARD=bbc_microbit ..
ninja
if adopting MSYS2, use it to access into the unzip folder and type following commands on the console:
mkdir build & cd build
cmake -GNinja -DBOARD=bbc_microbit ..
ninja
5. connect micro:bit with your computer by USB cable, the board will be enumerated as a massive storage device;
6. drag the hex file (which is in ./zephyr/sample/[unzip folder]/build/zephyr/zephyr.hex
) into
Microbit massive storage device to flash the firmware;
7. micro:bit is ready to work as a GenericOnOff client.
prj_bbc_microbit.txt@16:64e0ae95d4f1, 2018-05-28 (annotated)
- Committer:
- krenbluetoothsig
- Date:
- Mon May 28 13:15:31 2018 +0000
- Revision:
- 16:64e0ae95d4f1
- Parent:
- 15:ebdbdd25ac60
1. update for code publish testing.
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
krenbluetoothsig | 2:d62a2f9a0874 | 1 | #CONFIG_INIT_STACKS=y |
krenbluetoothsig | 2:d62a2f9a0874 | 2 | CONFIG_MAIN_STACK_SIZE=512 |
krenbluetoothsig | 2:d62a2f9a0874 | 3 | #CONFIG_SYSTEM_WORKQUEUE_STACK_SIZE=1280 |
krenbluetoothsig | 2:d62a2f9a0874 | 4 | CONFIG_SYSTEM_WORKQUEUE_STACK_SIZE=2048 |
krenbluetoothsig | 2:d62a2f9a0874 | 5 | CONFIG_SYS_CLOCK_TICKS_PER_SEC=250 |
krenbluetoothsig | 2:d62a2f9a0874 | 6 | CONFIG_GPIO=y |
krenbluetoothsig | 15:ebdbdd25ac60 | 7 | CONFIG_DISPLAY=y |
krenbluetoothsig | 2:d62a2f9a0874 | 8 | CONFIG_MICROBIT_DISPLAY=y |
krenbluetoothsig | 2:d62a2f9a0874 | 9 | CONFIG_PWM=y |
krenbluetoothsig | 2:d62a2f9a0874 | 10 | CONFIG_PWM_NRF5_SW=y |
krenbluetoothsig | 2:d62a2f9a0874 | 11 | |
krenbluetoothsig | 2:d62a2f9a0874 | 12 | CONFIG_BT=y |
krenbluetoothsig | 2:d62a2f9a0874 | 13 | CONFIG_BT_RX_STACK_SIZE=1280 |
krenbluetoothsig | 2:d62a2f9a0874 | 14 | CONFIG_BT_CTLR_DUP_FILTER_LEN=0 |
krenbluetoothsig | 2:d62a2f9a0874 | 15 | CONFIG_BT_OBSERVER=y |
krenbluetoothsig | 2:d62a2f9a0874 | 16 | CONFIG_BT_BROADCASTER=y |
krenbluetoothsig | 2:d62a2f9a0874 | 17 | |
krenbluetoothsig | 2:d62a2f9a0874 | 18 | CONFIG_BT_MESH=y |
krenbluetoothsig | 2:d62a2f9a0874 | 19 | CONFIG_BT_MESH_RELAY=y |
krenbluetoothsig | 2:d62a2f9a0874 | 20 | CONFIG_BT_MESH_RX_SDU_MAX=36 |
krenbluetoothsig | 2:d62a2f9a0874 | 21 | CONFIG_BT_MESH_SUBNET_COUNT=1 |
krenbluetoothsig | 2:d62a2f9a0874 | 22 | CONFIG_BT_MESH_APP_KEY_COUNT=2 |
krenbluetoothsig | 2:d62a2f9a0874 | 23 | CONFIG_BT_MESH_MODEL_GROUP_COUNT=2 |
krenbluetoothsig | 2:d62a2f9a0874 | 24 | CONFIG_BT_MESH_ADV_BUF_COUNT=10 |
krenbluetoothsig | 2:d62a2f9a0874 | 25 | CONFIG_BT_MESH_PB_ADV=n |
krenbluetoothsig | 2:d62a2f9a0874 | 26 | CONFIG_BT_MESH_CFG_CLI=y |
krenbluetoothsig | 2:d62a2f9a0874 | 27 | |
krenbluetoothsig | 7:6512e150f5f6 | 28 | CONFIG_BT_SETTINGS=y |
krenbluetoothsig | 7:6512e150f5f6 | 29 | CONFIG_FLASH=y |
krenbluetoothsig | 7:6512e150f5f6 | 30 | CONFIG_FLASH_PAGE_LAYOUT=y |
krenbluetoothsig | 7:6512e150f5f6 | 31 | CONFIG_FLASH_MAP=y |
krenbluetoothsig | 7:6512e150f5f6 | 32 | CONFIG_FCB=y |
krenbluetoothsig | 7:6512e150f5f6 | 33 | CONFIG_SETTINGS=y |
krenbluetoothsig | 7:6512e150f5f6 | 34 | CONFIG_SETTINGS_FCB=y |
krenbluetoothsig | 7:6512e150f5f6 | 35 | CONFIG_BT_MESH_RPL_STORE_TIMEOUT=600 |
krenbluetoothsig | 7:6512e150f5f6 | 36 | |
krenbluetoothsig | 7:6512e150f5f6 | 37 | #CONFIG_BT_DEBUG_LOG=y |
krenbluetoothsig | 7:6512e150f5f6 | 38 | #CONFIG_BT_MESH_DEBUG=y |
krenbluetoothsig | 7:6512e150f5f6 | 39 | #CONFIG_BT_MESH_DEBUG_SETTINGS=y |
krenbluetoothsig | 2:d62a2f9a0874 | 40 | #CONFIG_BT_MESH_DEBUG_NET=y |
krenbluetoothsig | 7:6512e150f5f6 | 41 | #CONFIG_BT_MESH_DEBUG_MODEL=y |
krenbluetoothsig | 2:d62a2f9a0874 | 42 | #CONFIG_BT_MESH_DEBUG_TRANS=y |
krenbluetoothsig | 2:d62a2f9a0874 | 43 | #CONFIG_BT_MESH_SELF_TEST=y |
krenbluetoothsig | 2:d62a2f9a0874 | 44 | #CONFIG_BT_MESH_IV_UPDATE_TEST=y |
krenbluetoothsig | 2:d62a2f9a0874 | 45 | #CONFIG_BT_MESH_DEBUG_PROV=y |
krenbluetoothsig | 2:d62a2f9a0874 | 46 | #CONFIG_BT_MESH_DEBUG_BEACON=y |
krenbluetoothsig | 2:d62a2f9a0874 | 47 | #CONFIG_BT_MESH_DEBUG_CRYPTO=y |
krenbluetoothsig | 2:d62a2f9a0874 | 48 | #CONFIG_BT_MESH_DEBUG_ADV=y |
krenbluetoothsig | 2:d62a2f9a0874 | 49 | #CONFIG_BT_MESH_DEBUG_ACCESS=y |