Contents

Como ler um sensor Raspberry Pi Pico W usando Bluetooth

A Raspberry Pi Pico W, uma aclamada placa de desenvolvimento para a Internet das Coisas (IoT) introduzida pela Raspberry Pi Foundation em 2022, tem atraído uma atenção significativa dos fabricantes desde o seu lançamento. Com a disponibilidade da versão 1.5.1 do C SDK e a construção mais recente do MicroPython, os usuários agora podem estabelecer mais facilmente a conetividade Bluetooth nas placas Raspberry Pi Pico W e WH.

A placa facilita a leitura e a partilha de dados através de Bluetooth, apresentando uma série de possibilidades em relação à Internet das Coisas (IoT). Além disso, basta atualizar o firmware para utilizar esta função. Consulte as instruções fornecidas para adquirir dados de sensores através de Bluetooth no seu Raspberry Pi Pico W.

Raspberry Pi Pico W/WH e Bluetooth

O Raspberry Pi Pico W é uma placa de microcontrolador que emula a funcionalidade do aclamado modelo Raspberry Pi Pico, incorporando simultaneamente capacidades sem fios através da integração de conetividade Wi-Fi e Bluetooth. Mantendo as suas dimensões compactas e formato idêntico ao da iteração anterior, este dispositivo possui a pinagem familiar do Raspberry Pi Pico para os seus conectores GPIO duplos de 20 pinos, permitindo aos utilizadores interagir facilmente com dispositivos externos.

/pt/images/wifi-chip-on-the-raspberry-pi-pico-w-featured-image.jpg

O Pico W está equipado com o chipset sem fios Infineon CYW43439, que está integrado com capacidades Wi-Fi 802.11n e Bluetooth 5.2 como características intrínsecas.

Instalar o SDK mais recente do Pico C/C++

O SDK do Pico C/C++ é um kit de desenvolvimento de software abrangente que foi concebido especificamente para utilizar as linguagens de programação C e C++ para programar o microcontrolador Raspberry Pi Pico. Este kit inclui uma coleção de bibliotecas, ferramentas e recursos que se destinam a facilitar o processo de desenvolvimento e a permitir que os programadores criem aplicações para a placa Pico.

Para utilizar o SDK do Pico C/C++, são necessárias determinadas ferramentas de software. Segue-se uma lista das aplicações obrigatórias que devem ser descarregadas:

O compilador Arm GCC é uma ferramenta utilizada para compilar e construir código C/C++ destinado a funcionar no microcontrolador Pico.

O CMake é uma ferramenta de desenvolvimento multiplataforma versátil e adaptável que facilita a gestão de processos de compilação e a geração de ficheiros de projeto, permitindo aos programadores criar facilmente aplicações robustas e eficientes em várias plataformas.

Os utilitários referidos como “Ferramentas de Construção” são indispensáveis se o espaço de trabalho de desenvolvimento de software preferido for o Microsoft Visual Studio 2019, e funcionam como um Ambiente de Desenvolvimento Integrado (IDE)

A utilização de Python, uma linguagem de programação, é necessária para determinadas ferramentas do Pico SDK, pelo que se recomenda a instalação da versão 3.9 ou posterior.

O Git é um sistema de controlo de versões altamente versátil que permite aos utilizadores supervisionar meticulosamente e controlar as modificações no seu repositório de código-fonte de software.

O Visual Studio Code é um editor de código altamente recomendado que apresenta uma compatibilidade excecional com o SDK do Pico, oferecendo uma série de funcionalidades úteis, como realce de sintaxe nativa, preenchimento automático e capacidades de depuração.

Instalação do MicroPython

Para utilizar o MicroPython no seu Pico W, siga estes procedimentos:

Flashing do Firmware UF2

Para iniciar a placa do Pico W no modo de carregador de arranque, existem dois métodos disponíveis. O primeiro envolve a execução do comando machine.bootloader() no MicroPython REPL. Em alternativa, pode premir e manter premido o botão BOOTSEL do Pico enquanto liga a placa ao computador via USB.

Ao colocar o seu Pico no modo de carregador de arranque, pode observar que um dispositivo de armazenamento de massa USB passa a ser detetável no seu sistema informático.

/pt/images/file-explorer-showing-raspberry-pi-pico-connected.jpg

Introduza o dispositivo de armazenamento em massa USB que contém o firmware atualizado na porta designada do aparelho.

Pode descarregar o ficheiro UF2 a partir da página de descarregamento do MicroPython

  • e se quiser saber mais sobre o que implica a atualização do suporte Bluetooth, pode consultar as notas de lançamento do

.

Durante o processo de atualização do firmware, a luz LED da placa do Pico apresentará um padrão de piscar rápido. Em seguida, o dispositivo é reiniciado automaticamente e volta a estar operacional.

Pode optar por atualizar o firmware do seu dispositivo Pico através do Ambiente de Desenvolvimento Integrado (IDE) Thonny seguindo estes passos:

Utilizar o Thonny IDE

Ligue o dispositivo Pico ao computador através da sua interface USB enquanto mantém a placa Pico no modo de carregador de arranque premindo e mantendo premido o botão BOOTSEL durante o processo de ligação.

Ao iniciar o Thonny IDE no seu dispositivo informático, ser-lhe-á apresentada uma interface com uma janela de editor, conforme ilustrado abaixo:

/pt/images/thonny-ide-screenshot.jpg

Modifique o interpretador utilizado pelo MicroPython a partir do menu Thonny. Aceda a ele através de Tools > Options

/pt/images/thonny-ide-tools-section.jpg

Na janela Options, seleccione o separador Interpreter e escolha MicroPython (Raspberry Pi Pico) a partir do menu suspenso Interpreter.

/pt/images/thonny-ide-interpreter-tab.jpg

Defina a porta para deteção automática e, em seguida, clique no link de instalação localizado na parte inferior da página. Isso abrirá uma nova janela de instalação. O Ambiente de Desenvolvimento Integrado (IDE) deve apresentar automaticamente as informações necessárias para a sua placa, juntamente com o firmware mais recente que requer instalação. Quando o processo de instalação estiver concluído, feche a janela de instalação clicando no botão “Fechar” e, em seguida, seleccione “OK”.

Guardar os módulos Bluetooth necessários

Para facilitar a comunicação sem fios utilizando a tecnologia Bluetooth Low Energy numa Raspberry Pi Pico, é necessário descarregar e instalar dois módulos MicroPython. Este processo pode ser efectuado através da utilização de um ambiente de desenvolvimento integrado (IDE) como o Thonny ou o uPyCraft.

Obtenha o script auxiliar inicial denominado “ble\_advertising.py” no nosso repositório no GitHub, uma vez que facilita a geração e a transmissão de dados de carga útil aos dispositivos associados.

/pt/images/muo-github-repo.jpg

Siga estes passos para executar o código no seu Raspberry Pi Pico:1. abra um novo projeto no Thonny IDE e copie o código fornecido para o editor.2Clique em “Ficheiro” na barra de menu superior, seguido de “Guardar como”.3. Seleccione “Raspberry Pi Pico” no menu pendente em “Guardar como tipo” e, em seguida, clique em “Guardar”.4. O programa será agora guardado como “ble\_advertising.py” na localização selecionada.5Ligue o seu Raspberry Pi Pico via USB ao seu computador.6. Abra duas janelas de terminal, uma para o Raspberry Pi Pico e outra para o seu computador.7.Na janela de terminal do Raspberry Pi Pico, introduza o comando

Por favor, crie um novo ficheiro no ambiente Thonny e cole o código dentro de um ficheiro

/pt/images/muo-github-repo-for-bluetooth-support-on-rapsberry-pi-pico-w-and-wh.jpg

Por favor, guarde o programa escrito anteriormente com o seu nome de ficheiro original na placa Pico W, da mesma forma que o fez anteriormente.

Leitura de dados através de Bluetooth LE usando a Pi Pico W

Em primeiro lugar, certifique-se de que a placa Pico W está equipada com os dois módulos, tal como discutido anteriormente.Em seguida, crie um novo documento e duplique nele o código seguinte.

 from machine import Pin, ADC
import bluetooth
from ble_simple_peripheral import BLESimplePeripheral

# Create a Bluetooth Low Energy (BLE) object
ble = bluetooth.BLE()

# Create an instance of the BLESimplePeripheral class with the BLE object
sp = BLESimplePeripheral(ble)
adc = ADC(4)

while True:
    if sp.is_connected(): # Check if a BLE connection is established
        # Read the value from the internal temperature sensor
        temperature = adc.read_u16() * 3.3 / (65535 * 0.8)

        # Transmit the temperature value over BLE
        temperature_data = str(temperature).encode()
        sp.send(temperature_data)
    time.sleep(1)
 

O código supracitado foi concebido para extrair dados do sensor de temperatura interno do Pico utilizando a sua funcionalidade Bluetooth integrada e apresentar esta informação na interface do Thonny. Para executar este programa, guarde o ficheiro como “main.py” na placa Pico W e, em seguida, execute-o no Thonny. O utilizador deve então observar a mensagem “Starting Advertising” que aparece na secção shell da aplicação.

Configurar a aplicação Android

/pt/images/serial-bluetooth-terminal-app-on-playstore.jpg

Instale a aplicação “Serial Bluetooth Terminal” a partir da Google Play Store no seu dispositivo Android.

Descarregar: Serial Bluetooth Terminal (Gratuito, compras na aplicação disponíveis)

Active a funcionalidade Bluetooth no seu dispositivo móvel e, em seguida, inicie a aplicação. Em seguida, navegue até à opção “Dispositivos” dentro da aplicação.

/pt/images/serial-bluetooth-terminal-devices-tab.jpg

Verifique os dispositivos Bluetooth Low Energy (BLE) utilizando o separador Bluetooth LE e clicando na opção “Verificar”.

/pt/images/serial-bluetooth-ble-tab.jpg

Após uma leitura bem sucedida, o dispositivo será reconhecido pelo sistema como “mpy-uart”. Para estabelecer uma ligação com o Pico W, clique nesta entrada na lista de dispositivos disponíveis.

/pt/images/serial-bluetooth-terminal-ble-client-list.jpg

Depois de estabelecer a ligação entre os dois dispositivos, a vista Terminal da aplicação apresenta a mensagem “Ligado”.

/pt/images/serial-bluetooth-terminal-receiving-sensor-data.jpg

As leituras obtidas a partir do sensor de temperatura devem ser visualizadas na consola da aplicação a um intervalo regular de um segundo, como mostra a ilustração em anexo.

Para estabelecer uma ligação entre duas placas Pico W utilizando Bluetooth, pode pré-carregar o módulo auxiliar “ble\_simple\_central.py” do repositório All Things N GitHub num dos dispositivos que actua como unidade central.

Melhore a sua experiência com o Pico W

A incorporação da tecnologia Bluetooth permite a aquisição ininterrupta de dados de sensores, abrindo novos caminhos para a exploração e contribuindo para uma melhor experiência do utilizador ao utilizar o Raspberry Pi Pico W em empreendimentos da Internet das Coisas (IoT).