Zephyr应用笔记:FOTA(上):https://blog.csdn.net/u010018991/article/details/80327432 中已经完成的设备端的蓝牙Demo,这一篇文章写如何 Building a BLE controller。
测试前请做好心理准备,不是特别容易,每个环节可能都出现各种问题,请百度/google。
两块开发板(两块nrf52_pca10040):
一块通过hci_uart连接PC;
一块设备跑server;
step1:
浏览四篇readme:
https://github.com/zephyrproject-rtos/zephyr/tree/master/ext/lib/mgmt/mcumgr
https://github.com/apache/mynewt-mcumgr-cli/blob/master/README.md
https://github.com/zephyrproject-rtos/zephyr/tree/master/samples/subsys/mgmt/mcumgr/smp_svr
https://devzone.nordicsemi.com/b/blog/posts/nrf5x-support-within-the-zephyr-project-rtos(这篇文章尤其重要)
step2:
安装各种环境:
安装go,参考:https://blog.csdn.net/u010018991/article/details/80327245
安装minicom,请百度;
安装bluez,参考:https://devzone.nordicsemi.com/b/blog/posts/nrf5x-support-within-the-zephyr-project-rtos 和
https://devzone.nordicsemi.com/f/nordic-q-a/25936/zephyr-hci-uart-on-pca10040-with-linux-controller
安装mcumgr,参考:https://github.com/apache/mynewt-mcumgr-cli/blob/master/README.md,按照文章介绍编译完mcumgr之后,会编译生成mcumgr文件;
安装以上文件是可能会出现各种错误,基本上就是软件依赖,比如我的就需要安装json
step3:
参考:https://github.com/zephyrproject-rtos/zephyr/tree/master/samples/subsys/mgmt/mcumgr/smp_svr 开始测试
cd <mcumgr>
执行:sudo ./mcumgr --conntype ble --connstring ctlr_name=hci0,peer_name='Zephyr' echo hello
顺利的话会打印如下信息: