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下载地址:https://www.segger.com/
Nordic的MESH SDK目前只支持在这款IDE下开发。
2.官方MESH SDK与标准库下载
SDK下载地址:https://www.nordicsemi.com/Software-and-tools/Software/nRF5-SDK-for-Mesh/Download#infotabs
官方库下载地址:https://www.nordicsemi.com/Products/Low-power-short-range-wireless/nRF52840/Compatible-downloads#infotabs
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的亮和灭。
原文链接:https://www.szrfstar.com/news/582-cn.html