使用Nordic nRF52840 Dongle跑通mesh的第一个例程
nRF52840 Dongle最早由Nordic 公司在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的亮和灭。