我是nRF52840和OpenThread平台的新手,我正在寻找使用nRF52840 Micro Dev Kit USB Dongle构建传感器应用程序的示例代码。
我设法将Raspberry Pi设置为边界路由器,构建并刷新ot-cli-ftd,并与NCP和其他两个节点一起建立OpenThread网络。
我在OpenThread或nRF网站上找不到的是“制造商友好型”示例应用程序,例如结合了OpenThread-CLI和一些自定义代码,用于通过I2C或SPI读取传感器数据并通过MQTT(或MQTT-SN)发送数据。
是否有示例如何为nRF52840加密狗构建这样的应用程序?
我了解我必须小心在固件映像中添加USB和引导加载程序支持,以免使加密狗“变砖”(它们没有JLink接口,因此AFAIK唯一闪烁它们的方法是通过DFU引导加载程序),所以我宁愿从一些可行的例子开始。
答案 0 :(得分:1)
感谢您对Nordic nRF52840和OpenThread的关注。
通常,nRF5 SDK for Thread and Zigbee中提供了许多示例。 nRF52840加密狗也称为PCA10059,SDK提供了在其上运行的示例。我认为全线程设备命令行界面是一个很好的起点(examples / thread / cli / ftd / usb /)。 即使使用MQTT-SN,也有很多其他示例。 他们不支持带有引导程序的加密狗,但是掌握了一些我将在下面传递的信息,您将能够实现这种配置。
您是对的,内存布局有所不同。
具有MBR和Bootloader的适配器-PCA10059变体:thread_cli_ftd_usb_gcc_nrf52.ld
MEMORY
{
FLASH (rx) : ORIGIN = 0x1000, LENGTH = 0xdb000
RAM (rwx) : ORIGIN = 0x20000008, LENGTH = 0x3fff8
ot_flash_data (r) : ORIGIN = 0xdc000, LENGTH = 0x4000
}
不带MBR和Bootloader的开发套件-PCA10056变体:thread_cli_ftd_usb_gcc_nrf52.ld:
MEMORY
{
FLASH (rx) : ORIGIN = 0x0, LENGTH = 0xfc000
RAM (rwx) : ORIGIN = 0x20000000, LENGTH = 0x40000
ot_flash_data (r) : ORIGIN = 0xfc000, LENGTH = 0x4000
}
您可以在Memory layout section中找到详细信息。 请注意,“多协议”示例使用“软设备”,而“仅线程”则不需要它,并为应用程序使用该空间。
有一种方法可以解开加密狗,实际上是其中的两个。 一种是带有针形连接器的电缆-TC2050-IDC-NL。 第二种选择是在加密狗的背面焊接10针连接器,并使用带状电缆。 拥有它们中的任何一个都可以使您连接编程器并刷新上述SDK可用的MBR和Bootloader。
对于以后与nRF相关的问题,我强烈推荐Nordic Devzone,在这里您可以从与Nordic Semiconductor合作的工程师那里获得帮助。