See https://mynewt.apache.org/latest/network
NimBLE is usually built as a part of Apache Mynewt OS, but ports for other RTOS-es are also available.
- Build the sample application
cd porting/examples/linux_blemesh_shell
make
- Run the sample application
First insert a USB Bluetooth dongle. These are typically BLE 4.0 capable.
Verify the dongle is connected with hciconfig:
$ hciconfig
hci0: Type: BR/EDR Bus: USB
BD Address: 00:1B:DC:06:62:5E ACL MTU: 310:10 SCO MTU: 64:8
DOWN
RX bytes:5470 acl:0 sco:0 events:40 errors:0
TX bytes:5537 acl:176 sco:0 commands:139 errors:1
Then run the application built in step one. The application is configured in sysconfig.h to use hci0.
cd porting/examples/linux_blemesh_shell
sudo ./nimble-linux-blemesh-shell
- Run shell commands
This example reads input form console, then execute all commands supported by nimble/host/mesh/src/shell.c
some example commands:
mesh>help
mesh>provision 0 1 0
mesh>provision-adv c70512201872a85c9046a3e67ef1c55e 0 2 0