nrf52840 dongle最早由 公司在2018年推出,nordic公司宣称nrf52840 dongle是一种小型,低成本的usb dongle。官方提供了mesh sdk供开发人员使用。本文梳理了nordic nrf52840 dongle作为mesh节点开发流程,主要介绍了开发环境、环境搭建、代码修改、固件下载部分。
一、开发环境
软件准备:使用segger公司的ide进行开发。sdk使用nordic官方的sdk。
硬件准备:nordic nrf52840 dongle。这里我选用rfstar的rf-dg-40a。
二、环境搭建:
1.开发工具下载
segger ide下载地址:
nordic的mesh sdk目前只支持在这款ide下开发。
2.官方mesh sdk与标准库下载
sdk下载地址:
官方库下载地址:
3.ide安装
安装路径可以根据个人习惯安装(安装不能带有中文路径),其他配置就保持默认参数。
4.打开mesh sdk工程(我们使用light_switch工程做演示)
5.mesh工程环境配置,选择tools,点击options设置库环境。
6.在“global macros”处把路径修改成下载的官方库路径。
7.工程配置完成,按f7编译就可以编译成功。
三、代码修改
nordic的mesh sdk 的组网需要下载三款不同的程序,这里演示的是light_switch的server和client,还有examples目录下的provisioner工程。
server工程是mesh的light灯的demo,client工程是switch开关的demo。provisioner工程是控制周围mesh设备组网的demo。
1.sdk_config.h修改(三个工程均有这两个文件,都需要修改)。
原代码:
修改后:
2.pca10056.h修改。
原代码:
修改之后:
3.server 工程simple_hal.c修改。
原部分代码:
修改之后:
4.client 工程main.c修改后:
5.provisioner工程 main.c修改后:
四、程序下载:
1.依次烧写server工程、provisioner工程和client工程的程序。使用segger烧写,segger 使用j-link下载程序,接好线之后首先点击connect j-link连接j-link。
2.然后点击erase all擦除。最后点击download下载程序。
3.三者都上电之后,按provisioner的button1开始mesh自组网。
4.组网成功后,按client的button可以控制server的led1的亮和灭。