1

我是 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 引导加载程序),所以我更愿意从一些工作示例开始。

4

1 回答 1

3

感谢您对 Nordic nRF52840 和 OpenThread 的关注。

通常, nRF5 SDK for Thread 和 Zigbee中提供了很多示例。nRF52840 Dongle 也称为 PCA10059,SDK 提供了在其上运行的示例。我认为全线程设备,命令行界面是一个很好的起点(examples/thread/cli/ftd/usb/)。还有很多其他的例子,即使是 MQTT-SN。他们不支持带有引导加载程序的加密狗,但如果有我将尝试在下面传递的信息,您将能够实现这样的配置。

您是对的,内存布局有所不同。

带有 MBR 和引导加载程序的加密狗 - 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 和引导加载程序的开发套件 - 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
}

您可以在内存布局部分找到详细信息。请注意,Multiprotocol 示例使用 Softdevice,而 Thread-only 不需要它并将该空间用于应用程序。

有一种方法可以解开加密狗,实际上甚至是其中的两个。一种是带针式连接器的电缆——TC2050-IDC-NL。第二种选择是在加密狗背面焊接一个 10 针连接器并使用带状电缆。拥有它们中的任何一个,您都可以连接编程器并刷新 MBR 和引导加载程序,这些都与上述 SDK 一起提供。

对于未来与 nRF 相关的问题,我强烈推荐Nordic Devzone,您可以在其中获得与 Nordic Semiconductor 合作的工程师的帮助。

于 2019-05-14T12:29:17.543 回答