使用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下載地址: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
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的亮和滅。