Используйте Bluetooth-подключение Pico W для передачи значений с датчика температуры на телефон Android.

Raspberry Pi Pico W, популярная плата для разработки IoT от Raspberry Pi Foundation, завоевала большую популярность среди производителей после своего запуска в 2022 году. С момента официального выпуска версии 1.5.1 C SDK и последней сборки MicroPython стало проще настроить подключение Bluetooth на плате Raspberry Pi Pico W (и WH).

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

Raspberry Pi Pico W/WH и Bluetooth

Raspberry Pi Pico W — это плата микроконтроллера, основанная на успехе оригинальной модели Raspberry Pi Pico. Сохраняя тот же форм-фактор, что и его предшественник, он добавляет возможности подключения Wi-Fi и Bluetooth. Он по-прежнему имеет стандарт Распиновка Raspberry Pi Pico для его двойных 20-контактных разъемов GPIO.

instagram viewer

Pico W оснащен радиочипсетом Infineon CYW43439, который изначально поддерживает Wi-Fi 802.11n и Bluetooth 5.2.

Установка последней версии Pico C/C++ SDK

Pico C/C++ SDK — это комплект для разработки программного обеспечения, специально разработанный для программирования микроконтроллера Raspberry Pi Pico с использованием языков программирования C и C++. Он предоставляет набор библиотек, инструментов и ресурсов, упрощающих процесс разработки и позволяющих разработчикам создавать приложения для платы Pico.

Для работы с Pico C/C++ SDK вам потребуется несколько основных программных компонентов. Вот список необходимых программ для скачивания:

  • Компилятор ARM GCC: Используется для компиляции и построения кода C/C++ для микроконтроллера Pico.
  • CMake: кроссплатформенная система сборки, помогающая управлять процессом сборки и генерировать файлы проекта.
  • Инструменты сборки для Visual Studio 2019: эти инструменты необходимы, если вы используете Visual Studio в качестве интегрированной среды разработки (IDE).
  • питон: этот язык программирования используется некоторыми инструментами Pico SDK, поэтому убедитесь, что у вас установлена ​​версия 3.9 или выше.
  • Гит: Эта система контроля версий позволяет вам управлять и отслеживать изменения в вашей кодовой базе.
  • Код Visual Studio: Хотя Visual Studio Code не является обязательным, это популярный редактор кода с отличной поддержкой Pico SDK, предоставляющий такие функции, как подсветка синтаксиса, завершение кода и отладка.

Установка MicroPython

В качестве альтернативы вы можете использовать MicroPython для программирования вашего Pico W, как мы будем использовать в нашем примере ниже. Вот шаги, которые вам нужно выполнить, чтобы установить и использовать его.

Прошиваем прошивку UF2

Есть несколько способов перевести плату Pico W в режим загрузчика. Один из способов - выполнить команду машина.загрузчик() на MicroPython REPL. Другой вариант — удерживать нажатой кнопку BOOTSEL Pico при подключении платы к USB-порту компьютера.

Как только ваш Pico перейдет в режим загрузчика, вы заметите, что на вашем компьютере появляется запоминающее устройство USB.

Теперь все, что вам нужно сделать, это скопировать файл UF2, содержащий новую прошивку, на это запоминающее устройство USB.

Вы можете скачать файл UF2 с Страница загрузки MicroPython— и если вы хотите узнать больше о том, что влечет за собой обновление поддержки Bluetooth, вы можете пройти примечания к выпуску.

Во время прошивки вы увидите, что светодиод на плате Pico быстро мигает. Затем плата автоматически перезагрузится и будет готова к использованию.

Кроме того, вы можете прошить прошивку на Pico из Thonny IDE, как описано ниже.

Использование Тонни IDE

Сначала подключите Pico к компьютеру через USB. Убедитесь, что Pico находится в режиме загрузчика, удерживая кнопку BOOTSEL при подключении платы.

Запустите Thonny IDE на своем компьютере, и вы должны увидеть интерфейс с окном редактора, как показано ниже.

Вам нужно будет изменить интерпретатор, используемый для MicroPython. В меню Тонни перейдите к Инструменты > Параметры.

в Параметры окно, нажмите на Устный переводчик вкладка Выбирать MicroPython (Малина Пи Пико) из Устный переводчик выпадающее меню.

Установите порт на Попробуйте определить автоматически, затем щелкните ссылку установки внизу, после чего откроется еще одно окно установки. IDE должна автоматически заполнить сведения о вашей плате вместе с последней прошивкой, которую необходимо установить. После завершения установки нажмите кнопку Закрывать кнопку, а затем выберите ХОРОШО.

Сохранение необходимых модулей Bluetooth

Чтобы включить связь Bluetooth с низким энергопотреблением на Raspberry Pi Pico, вам необходимо сохранить два модуля MicroPython. Вот как это можно сделать с помощью Thonny IDE (или других IDE, таких как uPyCraft).

Перейти к нашему репозиторий GitHub и возьмите первый вспомогательный код под названием ble_advertising.py. Это поможет вам генерировать полезные нагрузки и транслировать их на подключенные узлы.

Скопировав код, откройте новый проект в Thonny IDE и вставьте его в редактор. Затем сохраните в Pico W как ble_advertising.py нажав на Файл > Сохранитькак а затем выбрав Малиновый Пи Пико.

Создайте еще один файл в Thonny и скопируйте код в файл с именем ble_simple_peripheral.py в репозитории GitHub.

Сохраните код под его первоначальным именем на плате Pico W, как вы это делали раньше.

Чтение данных по Bluetooth LE с помощью Pi Pico W

Во-первых, убедитесь, что вы предварительно загрузили в плату Pico W два модуля (как описано выше). Затем создайте новый файл и скопируйте в него приведенный ниже код.

от машина Импортировать Пин, АЦП
Импортировать Bluetooth
от ble_simple_peripheral Импортировать BLESimplePeripheral

# Создать объект Bluetooth с низким энергопотреблением (BLE)
Блютуз = блютуз. БЛЕ()

# Создайте экземпляр класса BLESimplePeripheral с объектом BLE
sp = BLESimplePeripheral (ble)
АЦП = АЦП (4)

покаИстинный:
если sp.is_connected(): # Проверяем, установлено ли соединение BLE
# Считать значение с внутреннего датчика температуры
температура = adc.read_u16() * 3,3 / (65535 * 0,8)

# Передать значение температуры по BLE
temperature_data = ул (температура).encode()
сп.отправлять(температура_данные)
время.спать(1)

Этот код будет считывать внутренний датчик температуры Pico и передавать его через Bluetooth. Сохраните файл как main.py на вашей плате Pico W, затем запустите ее в Thonny. Вы должны увидеть «Запуск рекламы» в области Shell.

Настройка приложения для Android

На телефон Android установите приложение Serial Bluetooth Terminal из магазина Google Play.

Скачать:Последовательный Bluetooth-терминал (Доступны бесплатные покупки в приложении)

Включите Bluetooth на телефоне, затем запустите приложение. Перейдите к Устройства.

Перейти к Bluetooth ЛЕ вкладку, затем нажмите СКАН.

После сканирования вы увидите имя Pico W в списке как mpy-uart. Нажмите на нее, чтобы подключиться.

Как только два устройства будут подключены, вы увидите слово «Подключено» в приложении. Терминал вид.

Значения датчика температуры должны появляться в терминале приложения каждую секунду, как показано на рисунке выше.

Вы можете подключиться через Bluetooth к другому Pico W, выполняющему «центральную» роль, предварительно загрузив вспомогательный модуль с именем ble_simple_central.py найдено в Репозиторий MUO на GitHub.

Расширьте возможности своего Pico W

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