Thread组网一:Nordic nRF21540-DK烧写hex文件进行ping测试

一、概述

本文主要是记录下使用Nordic nRF21540-DK板测试hread组网的过程。

二、烧写hex文件

官方是有hex测试文件的,直接烧写即可。刚开始使用nRF Command Line Tools命令行的方式烧写,后来改成更为方便的Programmer。所以舍弃2.1节,直接看2.2即可。

2.1 nRF Command Line Tools

2.1.1 安装

进入官网下载nRF Command Line Tools(单击进入)。我的电脑系统信息如下:
在这里插入图片描述
所以我选择了安装nrf-command-line-tools-10.15.4-x64.exe,下载后安装:
在这里插入图片描述
之后还会提示安装jlink:
在这里插入图片描述
结果报错:
在这里插入图片描述
最后卸载了,安装的32位nrf-command-line-tools-10.15.4-x86.exe
安装完成后,桌面和开始目录下,都没有增加什么软件。要进入安装目录C:\Program Files (x86)\Nordic Semiconductor\nrf-command-line-tools\bin,添加到电脑的环境变量中:
在这里插入图片描述
进入shell下查看:
在这里插入图片描述
测试版本:

nrfjprog -v

在这里插入图片描述

2.1.2 下载程序

擦除

nrfjprog -e -f UNKNOWN

在这里插入图片描述
烧录
我把hex文件直接拷贝到了安装目录C:\Program Files (x86)\Nordic Semiconductor\nrf-command-line-tools\bin下,省了输入路径,输入文件前几个字母,直接tab补全即可:

nrfjprog --program .\zephyr.hex -f UNKNOWN   ;注意program前面有两个短横线

在这里插入图片描述
参考链接:

  1. Nordic nRF51/nRF52开发环境搭建:1.2节安装nRFx command line tools。
  2. Nordic蓝牙芯片固件擦写 – 玩转nrfjprog:参考命令。

2.2 Programmer

2.2.1 安装

进入官网下载nRF connect(单击进入

在这里插入图片描述
安装后如下图,继续点击安装Programmer:
在这里插入图片描述

2.2.2 下载程序

open进入Programmer:
在这里插入图片描述
先选择设备:
在这里插入图片描述
加载hex文件:
在这里插入图片描述
下载:
在这里插入图片描述
参考链接:

  1. Nordic nRF51/nRF52开发环境搭建:2. 推荐安装项。

三、测试程序已运行

下载完程序,如何确认程序正常运行呢?需要使用putty通过串口方式连接nRF21540-DK板。
首先安装一个putty(点击进入官网):
在这里插入图片描述
下载后无需安装,直接运行。通过串口连接开发板,速率选为115200:
在这里插入图片描述
连接后显示如下信息,则说明程序已经运行(当然,这个应该和下载的程序有关):
在这里插入图片描述
参考链接:

  1. PuTTY的下载安装和基本使用方法教程

四、Thread组网ping测试

测试需要在putty终端输入命令行,官方网站有启动方法:点击进入。滑到中间部分可以到:
在这里插入图片描述
channel panid networkkey 这三个参数一样,就可以入同一个网络。

//不带参数,为查询指令
ot channel
ot panid 
ot networkkey

//带参数,为设置指令
ot channel 11 
ot panid 0xabcd
ot networkkey 00112233445566778899aabbccddeeff

所以在两个板子的putty终端分别输入:
在这里插入图片描述
重复输入比较麻烦,可以把指令单独存放在记事本,每次复制指令后,在终端鼠标右键一下,就完成粘贴了。设置完成后,需要启用 Thread 网络:

ot ifconfig up
ot thread start

仍然是在两个板子的putty终端分别输入:
在这里插入图片描述
现在两个板子应该是在同一网络了,使用ping指令进行测试。相关指令如下:

  1. 获取当前 Thread 网络的 IP 地址:
    ot ipaddr
    
  2. 使用ping指令进行测试:
    ot ping fdde:ad00:beef:0:a3dd:2a74:67c9:43e4 
    

ping指令结果如下:
在这里插入图片描述
压力测试1000次指令如下:

ot ping fdde:ad00:beef:0:a3dd:2a74:67c9:43e4 100 1000 1 1

想要了解ping指令各参数的含义:点击进入,可以看到参数定义和解释:
在这里插入图片描述

五、ping失败

一版程序测试过程中,发现ping失败了:
在这里插入图片描述
和FAE沟通,查询两个都是leader。怀疑是设置的参数没有生效,需要ot factoryreset指令进行reset,然后重新设置参数。不过查看参数是生效的,reset后重新设置仍然是两个leader:
在这里插入图片描述
查看之前ping通的程序,应该是一个leader,其他是child状态:
在这里插入图片描述
最终更新了一版本程序。

六、总结

用到的指令如下:

//查询指令
ot channel
ot panid 
ot networkkey

//设置指令
ot channel 11 
ot panid 0xabcd
ot networkkey 00112233445566778899aabbccddeeff

//开启网络
ot ifconfig up
ot thread start
ot state
ot ipaddr

ot dataset active //重设一下,然后ot dataset commit active,存储参数
ot factoryreset	//reset,之后重新设置panid,channel,networkkey
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: nRF52840-DK开发板是一款由Nordic Semiconductor推出的功能强大的开发板,适用于无线应用的开发和原型设计。该开发板基于nRF52840芯片,具有蓝牙5、蓝牙Mesh、Thread、Zigbee等多种无线通信协议的支持,是开发智能穿戴设备、物联网设备以及传感器网络等应用的理想选择。 nRF52840-DK开发板具有丰富的硬件接口,包括USB、UART、SPI、I2C、GPIO等,使得开发者可以方便地连接、控制各种外部设备。同时,开发板上还集成了按钮、LED指示灯、天线等常用的外设,便于用户进行基础的应用开发和调试。 nRF52840-DK开发板不仅提供了开发所需的硬件资源,还配备了丰富的软件开发工具和库函数。开发者可以使用Nordic Semiconductor提供的nRF5 SDK进行应用开发,还可以通过Keil、IAR和GCC等常用的集成开发环境进行编程。 除此之外,nRF52840-DK开发板还支持在线固件更新(OTA),提供了方便快捷的开发和调试环境。开发者可以使用Segger J-link等调试工具进行调试和烧录。 总之,nRF52840-DK开发板是一款强大而灵活的开发工具,适用于广泛的无线应用开发。无论是初学者还是有经验的开发者,都能够利用该开发板快速构建各种创新的无线应用,并实现功能丰富、稳定的产品。 ### 回答2: nrf52840-dk是一款常用的开发板,广泛用于物联网(IoT)和蓝牙应用的开发。以下是关于该开发板的一些重要信息: 1. 芯片:nrf52840是Nordic Semiconductor公司推出的一款高性能低功耗蓝牙LE SoC(System-on-a-Chip)芯片。这款芯片集成了一个Arm Cortex-M4F处理器和2.4GHz无线收发器,可支持蓝牙5.0和其他无线通信协议。 2. 开发板:nrf52840-dk是基于nrf52840芯片的开发板,具有丰富的外围设备和接口,方便开发者进行软件编程和硬件原型设计。该开发板包含了带有按钮、指示灯和天线的nRF52840 SoC模块,以及一系列GPIO引脚、USB接口、电源管理电路等。 3. 软件开发工具:使用nrf52840-dk进行开发时,可以使用Nordic Semiconductor提供的nRF5软件开发工具套件。这个工具套件包含了一系列用于编写和调试nRF52840软件的开发工具、库文件和示例代码。开发者可以使用该工具套件进行代码编辑、编译、下载和调试等操作。 4. 功能和应用:nrf52840-dk开发板支持蓝牙LE和其他无线通信协议,可以广泛应用于物联网设备、可穿戴设备、智能家居、健康监测、无线传感器网络等领域的开发。开发者可以利用该开发板进行传感器数据采集、通信协议开发和物联网应用的原型验证。 总之,nrf52840-dk开发板是一款功能强大、易于使用的开发工具,适用于物联网和蓝牙应用的开发。它提供了丰富的外围设备和接口,配合Nordic Semiconductor的软件开发工具套件,开发者可以快速进行硬件原型设计和软件编程。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值