• Уважаемые посетители сайта esp8266.ru!
    Мы отказались от размещения рекламы на страницах форума для большего комфорта пользователей.
    Вы можете оказать посильную поддержку администрации форума. Данные средства пойдут на оплату услуг облачных провайдеров для сайта esp8266.ru
  • Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

nRF52840 MDK USB Dongle

pvvx

Активный участник сообщества
A small and [inline]low-cost[/inline]* nRF52840 Micro Development Kit in USB Dongle Form Factor
nRF52840 MDK USB Dongle

* от 900 рупь на али. :)
Поставляется в большой коробке в которой малая фирменная коробка... Матрешка.
Приложена гребенка штырьков если кто захочет их припаять...
Печать на модуле хуже любых современных китайских демо-плат:
nRF52840-MDK_USB_Dongle_sm.jpg
После втыкания в USB ничего хорошего от модуля не получите. Представляется как:
USBh.gif USBh1.gif
Далее, чтобы помигать светодиодом, вам потребуется скачать и установить несколько гигабайт ПО по фиксированным каталогам в своей хате на диск С.
Сначала необходимо установить 'choco' в PowerShell (всё от админа).
Далее следуйте указаниям в программе NrfConnect скачав и установив 'nrfconnect-setup'...
Через недельку, когда установите всё и зарегистрируете входящее проприетарное ПО можно будет продолжить....
А пока задача стоит простая - не писать в Flash, а считать всю Flash (FullFlash) из модуля по USB, не прибегая к таким сложностям как SEGGER...
 

pvvx

Активный участник сообщества
Arduino устанавливается проще и быстрее.
Bootloader (DFU) -> adafruit/Adafruit_nRF52_Bootloader (там и cfg для данной платы - src\boards\mdk_nrf52840_dongle )
А так-же у https://www.adafruit.com/ Arduino жирнее примерами... Но вот Рос. служба по надзору в сфере информационных технологий считает, что Adafruit детям пользоваться низя. И получить от туда информацию - низя.
По этому установка в Arduino ссылок на него работать не будет: https://www.adafruit.com/package_adafruit_index.json
Это ещё работает: https://adafruit.github.io/arduino-board-index/package_adafruit_index.json
Завтра закроют всё :p Оставят только Telegramm...
 

sharikov

Active member
А так-же у https://www.adafruit.com/ Arduino жирнее примерами... Но вот Рос. служба по надзору в сфере информационных технологий считает, что Adafruit детям пользоваться низя. И получить от туда информацию - низя.
В данном случае блокирует не роскомзапрет. Это Adafruit защищается фильтрами cloudfare от набегов из скрепной державы. Дальше будет повсеместно ну и роскомзапрет подключится так что заблокируют с двух сторон. Останется один лишь телеграм.
 

pvvx

Активный участник сообщества
В данном случае блокирует не роскомзапрет.
Cloudflare — Википедия
В России Роскомнадзор часто блокирует IP-адреса Cloudflare, из-за того, что за их прокси находятся запрещённые в России ресурсы,[99] и предупреждает об этом других владельцев сайтов.[100]
 

nikolz

Well-known member
Arduino устанавливается проще и быстрее.
Bootloader (DFU) -> adafruit/Adafruit_nRF52_Bootloader (там и cfg для данной платы - src\boards\mdk_nrf52840_dongle )
А так-же у https://www.adafruit.com/ Arduino жирнее примерами... Но вот Рос. служба по надзору в сфере информационных технологий считает, что Adafruit детям пользоваться низя. И получить от туда информацию - низя.
По этому установка в Arduino ссылок на него работать не будет: https://www.adafruit.com/package_adafruit_index.json
Это ещё работает: https://adafruit.github.io/arduino-board-index/package_adafruit_index.json
Завтра закроют всё :p Оставят только Telegramm...
это наверное в питере блокируют , там много детей
а у нас в провинции никогда не блокировали.
-------------------------------------------------------------
"будете на Колымемилости просим"
 

pvvx

Активный участник сообщества
это наверное в питере блокируют , там много детей
а у нас в провинции никогда не блокировали.
А что у вас там 'дети' смогут-то сделать? :)
Да и бабла (жалко) не хватило всё заблокировать...
 

pvvx

Активный участник сообщества
Кто подскажет где в Arduino хоть один пример управления питанием для BLE устройств?

И тут Arduino - ArduinoBLE - ни слова про это.

Это же основная их фича. Или ардуинщики этого не осознают?

Видимо основа, ESP32 не годится для этого и опять наблюдаем его пагубное влияние… :mad:
 

pvvx

Активный участник сообщества
Arduino и MDK USB Dongle.

Более всего подходит версия от Adafruit Feather nRF52840 Express.

Для работы Arduino необходимо в модуль записать специальный загрузчик.
Готовый откомпилированный mdk_nrf52840_dongle_bootloader-*.hex или .bin файл берем тут
adafruit/Adafruit_nRF52_Bootloader

Для записи в чип bootloader-а я взял свой мини J-link и сделал так:
upload_2020-1-9_1-25-44.png

Запустил JFlash.exe от SEGGER и прошил hex файл. Не беспокойтесь – у вас так не выйдет.
flprog.gif

Далее запускаем Arduino и вписываем https://adafruit.github.io/arduino-board-index/package_adafruit_index.json, грузим Adafruit nRF52 варианты плат. Полная инструкция на adafruit/Adafruit_nRF52_Arduino.

Втыкаем MDK USB Dongle в USB и выставляем в Arduino:
ArdunoSet.gif
Берем, пусть пример EddyStone и пробуем запустить. Всё Ok.
ArdunoTest.gif

PS: Описание плат безусловно не совпадают по ножкам, но это дело исправимое…
Главное не пишите в модуль ни какой другой загрузчик и глупых программ.
Чипы nRF52840 привередливые и получите камень.
Т.е. без инструкции не восстановите.
И J-Link, и nrfjprog.exe –recover и прочее ПО и JTAG вам не помогут. Только знающие. Но пока оставим это в секрете :p
 

nikolz

Well-known member
Патч и т.д. для Arduino Adafruit к MDK USB Dongle притворяющийся 'Adafruit Feather nRF52840 Express'.
Arduino_MDK_USB_Dongle.zip
Какие где названия ног и т.д. смотрим в variant.cpp и variant.h. Что не нравится - меняете сами.
даю подсказку
программировать NRF52xxx очень просто с помощью OPENOCD и ST-Link.
Нет надобности в Ваших спец костылях.
в итоге все замечательно входит и выходит.
upload_2020-1-12_15-41-3.png
 

pvvx

Активный участник сообщества
даю подсказку
программировать NRF52xxx очень просто с помощью OPENOCD и ST-Link.
Нет надобности в Ваших спец костылях.
в итоге все замечательно входит и выходит.
Посмотреть вложение 8597
Миллионы мух считают что программаторы SEGGER лучше ST-LINK. Просто немного (от 2-х раз) быстрее в самом дешевом исполнении и openodc требует отключение ST программ (отладчики в разных средах не находят ST-LINK).
Остальное - на вкус и цвет.

Ждем инструкции как установить OPENOCD для ST-LINK.
Это нужно с указанным в теме модулем однократно, для зашивки нового загрузчика по USB, который не требует более никакого софта для загрузки - открывается диск и туда кидаете...
 

pvvx

Активный участник сообщества
Имеющийся на модуле загрузчик в принципе работоспособен, но подглючивает (старая бажная версия) с ПО от Nordic nRF Connect и прочими. Не советую, т.к. запросто получите кирпич.
Т.е. в nRF Connect он отображается, кнопка активности записи файла активна, далее ..... и ничего, кроме убитого бута и поиска правильного программатора...
Да и это ПО не требуется для Arduino, а размеры колоссальные - Гего-байты.
 

pvvx

Активный участник сообщества
Основное предназначение nRF Connect - работа с dev-board-ами от Nordic. В практике не пригодится.
 

pvvx

Активный участник сообщества
J-Link hw версий от 9.3 ужасно работает с COM портом.
Имеет несколько глюков:
1. При установке baud rate более 230400 - зависает и отключается от USB. Требует передергивание USB шнура.
2. Максимальный RX блок 320 байт. Более - режет до 320..349 байт. Проверяется замыканием TX-RX и пробой передачи и приема посылки более 320 байт...
Т.е. лучше не работать с VCOM в J-Link, а использовать нормальный USB-COM-TTL...
 

Kabron

Member
Не трогая загрузчика заливаю тот же пример.
Безупречно. В сниффере наблюдаю передачу данных с хендшейками.
Но ни чо не происходит. Как был их пример ble_connectivity залитый перед этим так и остался.
Муму непостижимо!2021-01-16_180416.jpg
 

pvvx

Активный участник сообщества
Ничего другого для данного поделия, кроме как перепрошить для работы в приложении от nRF (далее на скринах) не нашлось.
1613082360352.png1613082370465.png

Чип nRF52840 жрет много, для автономных устройств не годится:
1. При встроенном DC-DC не имеет возможности прямого подключения к Li АКБ или USB - нужен ещё один DC-DC понижающий напряжение до 3.3В.
2. Чрезмерно длительный холодный старт - пока там исполнится наворот инициализации SDK от Nordic, оно уже выжрет любую CR2032.
3. Много лишнего исполняемого кода и RTOS, которая нафиг не сдалась для BLE когда устройство просыпается и выполняет всего одно действие - чтение датчика и отсылка рекламы. Т.е. всего 2 функции и о какой мультизадачности тут говорить? Батарейку выжирать процедурами RTOS?
4. Громадные утечки при включении DC-DC. Чистый и неустранимый брак модели разработчиков чипа.

В Arduino об автономном питании вообще и говорить не приходится.
В итоге, т.к. поделка MDK USB Dongle имеет USB разъем, то ёе использование и ограничивается указанным в картинках ПО :)
 

pvvx

Активный участник сообщества
Kabron чем перепрошить эту фигню для работы в виде сниффера в Wireshark?
Бегло не нашел готового варианта, а возиться с данной фигней нет желания, т.к. есть более дешевые варианты:
 
Сверху Снизу