Следите за моими последними сообщениями здесь.
В этом руководстве показано, как настроить USB-ключ nRF52840 в качестве устройства python для схемы.
К сожалению, загрузчик ключа по умолчанию, используемый с настольным приложением nRF Connect, не позволяет вам выполнить прошивку необходимого загрузчика для CircuitPython. Вместо этого нам придется использовать инструмент командной строки nrfjprog и внешний программатор JLink.
В этом руководстве основное внимание уделяется использованию комплекта разработчика nRF52840 в качестве программатора JLink для внешней платы.
Используя заголовок P20 из комплекта разработчика, выполните соединения, показанные ниже:
Прежде чем мы начнем, мы должны отключить поддержку MSD в наборе разработчика, встроенном в JLink. Это вызывает конфликт с последовательной связью CDC. Для этого запустите J-Link Commander:
Выполните команду:
MSDDisable
После подключения оборудования перейдите на страницу ниже, чтобы установить инструмент nrfjprog, разработанный Nordic.
Это позволяет вам получить доступ к программисту JLink в командной строке. После установки откройте командную строку и подтвердите успешную установку, выполнив эту команду:
nrfjprog --version
Возможно, вам потребуется добавить инструмент nrfjprog в системный PATH. Можно легко найти учебные пособия о том, как это сделать. Однако с моей настройкой в этом не было необходимости.
Удалите содержимое USB-ключа, выполнив следующую команду в командной строке:
nrfjprog --family nrf52 --eraseall
Вы должны увидеть это:
После успешного удаления ключа загрузите шестнадцатеричный файл загрузчика Adafruit PCA10059 nRF52840 в удобный каталог. Я просто спрятал на рабочий стол. Вы можете найти последнюю выпущенную сборку здесь:
В командной строке перейдите в каталог, в котором хранится ваш шестнадцатеричный файл. Выполните команду, показанную ниже:
nrfjprog --program <name of your hex file> --sectoranduicrerase -f nrf52 --reset
Вы должны увидеть что-то вроде этого:
Если установка загрузчика прошла успешно, USB-ключ теперь должен отображаться как съемный диск NRF52BOOT при подключении.
Чтобы настроить с помощью CircuitPython, загрузите последний файл UF2 для PCA10059 здесь:
Скопируйте / перетащите файл UF2 на съемный диск. NRF52BOOT должен отключиться, а затем через несколько секунд снова подключиться с новым именем CIRCUITPY:
Adafruit создал множество библиотек для использования с CircuitPython. Для использования Bluetooth LE требуется библиотека из комплекта (обязательно загрузите версию 4.x):
Mu IDE упрощает загрузку тестовой программы на устройство CircuitPython.
Https://codewith.mu/ru/download
IDE должна распознать ваше устройство CircuitPython. (Проверьте левый нижний угол окна при открытии Mu, там должно быть написано «Обнаружено новое устройство Adafruit CircuitPython».) Загрузите тестовый код, щелкнув значок Сохранить. и присвоить вашему скрипту имя «code.py», чтобы он запускался при загрузке. Убедитесь, что место сохранения установлено как корень вашего съемного диска CircuitPython.
Вот тестовый код, написанный Рототроном в его полезном руководстве здесь:
Https://www.rototron.info/circuitpython-nrf52840-pi-tutorial/
import board from pulseio import PWMOut from adafruit_ble.uart import UARTServer from adafruit_bluefruit_connect.packet import Packet from adafruit_bluefruit_connect.color_packet import ColorPacket r = PWMOut(board.LED2_R, duty_cycle=0) g = PWMOut(board.LED2_G, duty_cycle=0) b = PWMOut(board.LED2_B, duty_cycle=0) uart_server = UARTServer() while True: uart_server.start_advertising() while not uart_server.connected: pass while uart_server.connected: packet = Packet.from_stream(uart_server) if isinstance(packet, ColorPacket): print(packet.color) dc = [-257*c+65535 for c in packet.color] r.duty_cycle, g.duty_cycle, b.duty_cycle = dc
Попробуйте этот сценарий с вашим новым USB-ключом CircuitPython nRF52840 и инструментом выбора цвета (подключитесь к CIRCUITPY - ›контроллер -› палитра цветов) в приложении Adafruit Bluefuit для iOS или Android.