• Система автоматизации с открытым исходным кодом на базе 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?
Бегло не нашел готового варианта, а возиться с данной фигней нет желания, т.к. есть более дешевые варианты:
 
Сверху Снизу