Найти тему

Как подготовить плату Raspberry Pi Pico W к программированию на примере macOS

Оглавление

Всем привет! 🦝 Сегодня хотел вам рассказать про плату с программируемым микроконтроллером RP2040, ту самую Raspberry Pi Pico W. Мне пришлось столкнуться с ней по работе и я бы хотел поделиться с вами своим опытом работы с ней.

🌊вВодная часть

Прямо с порога вдаваться в глубинные технические подробности платы я не вижу смысла. Как по мне всё должно изучаться постепенно и по мере необходимости. Если кому очень интересно, я оставлю ссылку на официальную документацию по микроконтроллеру.

Raspberry Pi Pico and Pico W - Raspberry Pi Documentation

На картинке ниже, сама плата Raspberry Pi Pico W с подписями основных элементов платы. Из основных это сам микроконтроллер RP2040 и чип с беспроводными стандартами связи Wi-Fi и Bluetooth.

Внешний вид самой платы с названиями основных элементов
Внешний вид самой платы с названиями основных элементов

Подготавливать плату мы будем на операционной системе macOS, но сразу оговорюсь, процесс подготовки платы к работе на всех операционных системах примерно одинаков, где-то местами проще.

Я привык писать программы для плат Raspberry Pi Pico или Arduino в Arduino IDE. Я знаю, что есть масса других и весьма интересных IDE для разработки программ для микроконтроллеров, но дело привычки есть дело привычки😏, к тому же весь необходимый функционал в Arduino IDE имеется. И так, начнем с установки этой самой IDE .

Различные IDE и софт для разработки программ и схем для микроконтроллеров
Различные IDE и софт для разработки программ и схем для микроконтроллеров

💿Установка Arduino IDE на примере macOS

Для начала нужно скачать установочные файлы. Заходим на официальный сайт Arduino IDE.

Software

Далее выбираем установщик для вашей операционной системы. Так как у меня процессор M1, а он выполнен на архитектуре Apple Silicon, то я выбираю соответствующий установщик.

-4

Далее везде выбираем Just Download и дожидаемся окончания загрузки установщика. Если у вас конечно есть возможность задонатить проекту Arduino, то вас никто не останавливает. Для macOS загрузиться файл формата dmg. Это образ установочного диска (аналог ISO), только для операционных систем macOS. Открывается он довольно просто, достаточно кликнуть по нему дважды. Откроется стандартное окошко утсановки программ на macOS.

-5

Далее нужно просто перетянуть иконку Arduino IDE в папку Applications, вот и вся установка. Весь пакет программы переместиться в папку программ системы. После того, как пакет ПО полностью скопируется, установочный диск можно извлечь (его можно найти на рабочем столе).

-6

Теперь давайте запустим Arduino IDE. Сделать это можно несколькими способами, мне привычнее через Spotlight. Нажимаем command+пробел и начинаем писать Arduino IDE, далее выбираем иконку программы в списке и нажимаем на нее, либо просто нажимаем return.

При первом запуске программы сработает Gatekeeper этакая защита macOS. Соглашаемся с запуском нажав на кнопку Открыть.

-7

И, готово! Мы установили Arduino IDE. Теперь можно приступать её настройке для работы с платой Raspberry Pi Pico W.

-8

⚙️Настройка Arduino IDE для работы с Raspberry Pi Pico W

Для начала нам необходимо в менеджер плат, добавить список новых плат (масло масляное). Для этого переходим в Параметры Arduino IDE.

-9

Далее в поле Дополнительные ссылки для Менеджера плат, добавляем следующую ссылку:

https://github.com/earlephilhower/arduino-pico/releases/download/global/package_rp2040_index.json
-10

После сохраняем настройки и переходим в Менеджер плат. Это можно сделать весьма просто. На левой панеле быстрого доступа есть иконка с платой, нажимаем на неё и открывается менеджер плат.

-11

Далее в менеджере плат в поле поиска вводим RP2040 и нажимаем return. В списке результатов находим ядро Raspberry Pi Pico Arduino для всех плат RP2040 от автора Earle F. Philhower, III и устанавливаем. Я также оставлю ссылку на его GitHub.

earlephilhower - Overview

Там много чего интересного есть для различных микроконтроллеров.

-12

После установки ядра, можно пока что выйти из Arduino IDE и заняться прошивкой самого микроконтроллера Raspberry Pi Pico W, а именно установим загрузчик.

👨‍💻Установка загрузчика на плату Raspberry Pi Pico W

Для микроконтроллеров RP2040 можно писать программы на MicroPython или C++, лично мне более привычнее последнее, а именно плюсы. Для того, чтобы была возможность заливать на микроконтроллер свои программы написанные в Arduino IDE, микроконтроллер необходимо прошить. Для перевода платы в режим прошивки необходимо с удержанной кнопкой BOOTSEL подключить плату к компьютеру.

-13
Анимация подключения микроконтроллера в режиме прошивки (https://www.raspberrypi.com)
Анимация подключения микроконтроллера в режиме прошивки (https://www.raspberrypi.com)

После того, как плата подключиться к компьютеру в режиме съемного накопителя, на неё необходимо скопировать файл прошивки формата uf2. Но где можно взять этот файл? Тут все немного интересно, я напишу об этом в своей следующей статье.

Мною лично собранный файл с прогивкой я положу на Яндекс.Диск (ссылка прилогается):

cs_w.uf2

У меня плата отображается в Finder как RPI-RP2.

-15

Далее просто берем и перетаскиваем файл прошивки uf2 в корень RPI-RP2. Плата перезагрузится и начнется выполнение программы содержащейся в прошивке. На версии macOS Sonoma для процессоров M1 можно взять и перетащить файл через Finder, а вот на предыдущей версии, она же Ventura, такой трюк не прокатывал. Приходилось копировать файл прошивки через терминал. Плата находиться по пути /Volumes/RPI-RP2.

Лично я по-старинке скопирую прошивку через терминал, для этого выполняем команду:

cd -X <путь_к_файлу>/cs_w.uf2 /Volumes/RPI-RP2

После копирования файла, плата перезагрузиться и начнет работать.

📥Компиляция программ в Arduino IDE для Raspberry Pi Pico W

Теперь давайте попробуем залить на нее первую тестовую программку из Arduino IDE. Запускаем IDE. Далее в пункте меню Инструменты, выбираем Плату из установленного нами ранее набора плат Raspberry Pi Pico W

-16

Далее давайте выберем Порт, к которому подключена наша плата. У меня это /dev/cu.usbmodem1301.

-17

Далее, в меню IDE Файл, выбираем Примеры - 01.Basics - Blink

-18

Откроется новое окно IDE с исходным кодом программы Blink. Всё что нам остается сделать это нажать на кнопку Загрузить на плату, дождаться окончания процесса компиляции и загрузки и, наконец, радоваться результату.

-19
-20

Судя по выводу программа успешно скомпилирована и загружена на плату. И если теперь на неё посмотреть, то можно увидеть результат работы программы Blink. Диод на плате будет мигать.

-21

Далее давайте проверим работоспособность модуля Wi-Fi. Для этого установим на плату специальную программку, которая тоже есть в примерах в разделе WiFi и называется ScanNetWorks

-22

Устанавливаем на плату эту программу тем же методом что и Blink и переходим теперь в монитор порта, куда программа на плате будет выводить результаты своей работы.

-23

Как мы видим на скриншоте ниже плата обнаруживает сети Wi-Fi и выводит данные о них в монитор порта.

-24

Вот мы и подготовили Raspberry Pi Pico к программированию с помощью Arduino IDE 🎉.

По поводу прошивки. Я знаю, что можно было пойти гораздо простым путем и просто скачать прошивку с официального сайта. Если что ссылку я оставлю:

The C/C++ SDK - Raspberry Pi Documentation

Но мне всегда хочется и очень нравиться докапываться до мелких деталей. Поэтому скоро напишу ещё одну статью где мы разберемся, как всё-таки собрать из исходников свою прошивку для Raspberry Pi Pico W.

А пока что... Спасибо за прочтение! 🦝 Удачных всем прошивок!

-25