Начало работы с Raspberry Pi Pico 2 W

Ari Mahpour
|  Создано: 28 Февраля, 2025
Начало работы с Raspberry Pi Pico 2 W

Raspberry Pi, безусловно, революционизировал использование одноплатных компьютеров (SBC), сделав мощные, но доступные платформы для разработки доступными для любителей, образователей и инженеров. Некоторые могут утверждать, что Arduino сыграл не меньшую роль, но, реалистично говоря, он работает на гораздо более низком уровне, предназначен для проектов на базе микроконтроллеров, а не для полноценных вычислений.

Вот где вступает в игру Raspberry Pi Pico 2 W. Он находится где-то между этими двумя мирами — микроконтроллер с серьезной мощностью, встроенной беспроводной связью и достаточным количеством периферийных устройств, чтобы сделать инженера счастливым как устрица. Он не будет запускать полноценную ОС Linux, как Pi 5, но с двухъядерными процессорами Cortex-M33 и RISC-V, Bluetooth 5.2 и значительно большим объемом оперативной памяти и флэш-памяти, чем у типичного Arduino, он предлагает уровень гибкости, который делает его привлекательным выбором для встроенных систем, приложений IoT и не только.

В этой статье мы рассмотрим, как начать работу с Raspberry Pi Pico 2 W и пройдемся по примеру, демонстрирующему новые возможности встроенного Bluetooth.

Настройка

Чтобы начать, мы будем использовать MicroPython на Raspberry Pi Pico 2 W. Вам нужно будет скачать загрузчик UF2 с веб-сайта Micropython в первую очередь. Теперь, удерживая кнопку BOOTSEL на устройстве Raspberry Pi Pico 2 W, подключите его к компьютеру (через порт/кабель MicroUSB). Это превратит ваше устройство в устройство хранения данных (точно так же, как флеш-накопитель или карта MicroSD отображается на вашем компьютере). Теперь скопируйте файл UF2 на устройство «хранения» Raspberry Pi Pico 2 W, отсоедините USB-кабель и снова подключите его. Используя ваше любимое программное обеспечение для работы с последовательным портом, такое как PuTTY или TeraTerm, подключитесь к COM-порту, который отображается для вашего устройства, и вы должны увидеть приглашение интерпретатора MicroPython:

Figure 1: MicroPython shell interpreter via serial communication over USB
Рисунок 1: Интерпретатор MicroPython через последовательное соединение по USB

Использование VSCode (вместо Thonny) и мигание светодиодом

В Начало работы с MicroPython и Raspberry Pi Pico, мы использовали Thonny IDE в качестве редактора для написания кода и загрузки устройства Raspberry Pi Pico 2 W. С появлением ИИ, встроенного в редакторы кода и множества расширений, я решил основать свою среду на VSCode вместо Thonny. Самое важное, что нужно сделать сначала (помимо установки VSCode), это установить официальное расширение для Raspberry Pi Pico (опубликованное Raspberry Pi).

После установки расширения вы увидите маленький значок платы Raspberry Pi Pico в левой части окна VSCode (там же, где и остальные расширения). Кликните на него, а затем перейдите к "Новый проект на MicroPython" в разделе "Общие". Дайте вашему проекту имя и путь, затем нажмите "Создать".

Get Ready for the Electronics Design Jobs You Want


Experience hands-on learning in PCB and hardware design with Altium's Student license, cloud access & comprehensive curriculum.

Figure 2: Creating a New Project
Рисунок 2: Создание нового проекта

Откроется новый редактор всего с несколькими файлами и оболочкой MicroPython. Один из этих файлов — это пример файла Python для мигания светодиодом. Откройте этот blink.py. На этом этапе вы захотите убедиться, что ваше устройство Raspberry Pi Pico 2 W подключено. В самом низу вашего редактора VSCode вы увидите маленькую кнопку воспроизведения.

Figure 3: The “Run” Button in VSCode
Рисунок 3: Кнопка «Запуск» в VSCode

Это запустит blink.py непосредственно на устройстве (предварительно загрузив его на устройство). На этом этапе вы должны увидеть сообщение в консоли и мигание вашего светодиода:

Figure 4: Terminal Output of LED Programming Running
Рисунок 4: Вывод в терминале программирования LED

Кнопка «Запуск» превращается в кнопку «Стоп», которая останавливает выполнение кода. После того как вы убедитесь, что светодиод мигает, мы готовы перейти к более сложному примеру.

Датчик близости Bluetooth

Теперь, когда мы подтвердили, что наш Raspberry Pi Pico 2 W работает с MicroPython, давайте исследуем одну из его самых захватывающих новых функций — Bluetooth 5.2. Этот пример превращает ваше устройство Pico в сканер близости Bluetooth, способный обнаруживать близлежащие устройства Bluetooth (такие как смартфоны) и определять их силу сигнала (RSSI). Скрипт, bluetooth_scan.py, работает в двух режимах: Режим обнаружения, который сканирует все близлежащие устройства и выводит их MAC-адреса, и Режим отслеживания, где Pico непрерывно мониторит определенное устройство, включая светодиод, когда оно находится в близком диапазоне. Этот режим отслеживания полезен для обнаружения конкретных устройств Bluetooth поблизости в реальном времени, хотя некоторые, например устройства Apple, рандомизируют свои MAC-адреса в целях конфиденциальности.

Для достижения этой цели мы используем Bluetooth API MicroPython, а именно bluetooth.BLE(), для инициализации Bluetooth интерфейса Pico. Скрипт прослушивает пакеты рекламы Bluetooth Low Energy (BLE) с использованием gap_scan(), который повторно сканирует в течение заданного времени и обрабатывает результаты через обработчик событий (bt_irq). Этот подход, основанный на событиях, позволяет Pico мгновенно реагировать, когда обнаруживается новое устройство (подумайте о «прерываниях» в более низкоуровневых подходах). Устройства фильтруются на основе их RSSI (индикатора силы принимаемого сигнала), что помогает оценить близость. Ближайшие устройства обычно имеют более сильные сигналы (высокие значения RSSI, что означает менее отрицательные значения в децибелах), а более далекие устройства имеют более слабые сигналы (т.е. более отрицательное значение в децибелах). Режим отслеживания сравнивает обнаруженные MAC-адреса с заранее определенной целью и включает встроенный светодиод, когда находит совпадение. Параметры сканирования тщательно подбираются для баланса между мгновенной реакцией и эффективностью использования ЦПУ, предотвращая перегрузку Pico при непрерывном мониторинге сигналов Bluetooth.

Launch Your Career in Electronics Design


Gain the skills top employers look for. Start mastering PCB design with the Altium Student Lab today!

Чтобы запустить скрипт, просто откройте bluetooth_scan.py и нажмите кнопку Запуск (как мы видели на примере с миганием выше), чтобы получить MAC-адреса близлежащих устройств. 

Figure 5: Running in “Discovery” Mode
Рисунок 5: Работа в режиме «Обнаружение»

Затем обновите скрипт с конкретным MAC-адресом и переключитесь в режим отслеживания, чтобы обнаруживать перемещение этого устройства в пределах диапазона. Это можно найти в основной функции внизу скрипта:

# Для отслеживания конкретного устройства (замените на обнаруженный MAC-адрес)
# scanner = BLEScanner(mode="track", target_mac="aa:bb:cc:dd:ee:ff")

Figure 6: Running in “Tracking” Mode
Рисунок 6: Работа в режиме «Отслеживание»

Параметры сканирования были оптимизированы для обеспечения быстрого обнаружения без блокировки других операций, что делает это отличным введением в сканирование Bluetooth и обработку событий на Raspberry Pi Pico 2 W.

Заключение

Raspberry Pi Pico 2 W является захватывающим дополнением к миру встроенной разработки, находя идеальный баланс между гибкостью микроконтроллера и мощностью встроенной беспроводной связи. С помощью MicroPython мы увидели, насколько легко начать работу, от мигания светодиода до использования встроенного модуля Bluetooth 5.2 для обнаружения близости в реальном времени. Реализованный сканер близости Bluetooth вводит в основные понятия, такие как сканирование BLE, программирование, управляемое событиями, и анализ силы сигнала, демонстрируя, сколько можно достичь с таким минимальным объемом кода.

Lay Out Your Track: Prepare for a Career in PCB Design


Develop the electronics design expertise that employers look for with Altium’s free Student Lab!

Хотя это был лишь базовый пример, Pico 2 W открывает совершенно новый спектр возможностей для приложений IoT, реального времени отслеживания и беспроводной автоматизации. Независимо от того, являетесь ли вы любителем, экспериментирующим с периферийными устройствами BLE, или инженером, разрабатывающим системы встраиваемых систем следующего поколения, это маленькое устройство доказывает, что является мощным инструментом в миниатюрном корпусе. И это только начало — еще предстоит исследовать Wi-Fi, оптимизацию энергопотребления и более продвинутые взаимодействия с BLE. Raspberry Pi Pico 2 W мал, но он обладает серьезной мощностью.

Чтобы просмотреть репозиторий со всем кодом для начала работы, посетите https://gitlab.com/embedded-designs/micropython-bluetooth-example.

Об авторе

Об авторе

Ари — инженер с большим опытом работы в сфере проектирования, производства, тестирования и интеграции электрических, механических и программных систем. Он стремится к созданию дружного сообщества специалистов по разработке, верификации и тестированию решений.

Связанные ресурсы

Связанная техническая документация

Вернуться на главную
Thank you, you are now subscribed to updates.
Altium Need Help?