Начальная точка для создания приложений OpenThread с использованием nRF52840 - PullRequest
1 голос
/ 12 мая 2019

Я новичок в платформах nRF52840 и OpenThread, и я ищу пример построения кода датчика с помощью USB-ключа Micro Dev Kit nRF52840 .

Мне удалось установитьRaspberry Pi в качестве пограничного маршрутизатора, чтобы создать и прошить ot-cli-ftd и настроить сеть OpenThread с NCP и двумя другими узлами.

Что я не сделалнайти на веб-сайтах OpenThread или nRF пример приложения, «дружественного к производителям», например, объединение OpenThread-CLI и некоторого пользовательского кода для чтения данных датчика через I2C или SPI и отправки данных через MQTT (или MQTT-SN).

Есть ли пример того, как создать такое приложение для ключа nRF52840?

Я понимаю, что должен быть осторожным, чтобы добавить поддержку USB и загрузчика в образы своих прошивок, чтобы избежать "обмана"ключи (у них нет интерфейса JLink, поэтому AFAIK единственный способ их прошить - через загрузчик DFU), поэтому я бы предпочел начать с рабочего примера.

1 Ответ

2 голосов
/ 14 мая 2019

Благодарим Вас за интерес к Nordic nRF52840 и OpenThread.

Как правило, в SDK nRF5 для Thread и Zigbee приведено множество примеров.Ключ nRF52840 также известен как PCA10059, SDK предоставляет примеры, работающие на нем.Я думаю, что Full Thread Device, интерфейс командной строки - хорошая отправная точка (examples / thread / cli / ftd / usb /).Есть много других примеров, даже с MQTT-SN.Они не поддерживают Dongle с загрузчиком, но имея информацию, которую я постараюсь передать ниже, вы сможете достичь такой конфигурации.

Вы правы, что в разметке памяти есть разница.

Ключ с 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 ** Вы можете найти подробную информацию в разделе макета памяти .Обратите внимание, что в мультипротокольных примерах используется Softdevice, тогда как только для потоков он не нужен, и используйте это пространство для приложения.

Существует способ разблокировать ключ, фактически даже два из них.Одним из них является кабель с разъемом иглы - TC2050-IDC-NL.Второй вариант - пайка 10-контактного разъема на задней стороне ключа и использование ленточного кабеля.Наличие любого из них позволяет вам подключить программатор и прошить MBR и загрузчик, которые доступны с SDK, упомянутым выше.

Для будущих вопросов, связанных с nRF, я настоятельно рекомендую Nordic Devzone , где вы можете получить помощь от инженеров, работающих с Nordic Semiconductor.

...