🛠 Bluetooth LE : serveur GATT avec la radio 5.2

Raspberry Pi Pico 2 W · intermediaire · Schéma : IMG-pico-2-w-intermediaire-6-pico2w-ble-serveur-gatt.svg — Pico 2 W diffusant une annonce BLE vers un smartphone, service GATT personnalisé et caractéristique lecture/écriture.

Objetivos

La Pico 2 W incorpora el mismo CYW43439 que la Pico W: Bluetooth 5.2 confirmado, con roles BLE central y periférico, e incluso Bluetooth Classic. Este tutorial configura un servidor GATT: la placa emite una publicidad, un smartphone se conecta a ella y lee una característica que cuenta los segundos. El BLE coexiste con el Wi-Fi en el mismo chip, pero es necesario elegir la arquitectura btstack en lugar de lwIP en el momento de la compilación.

Material

Código completo

// main.c - squelette inspire de pico-examples pico_w/btstack
// lien : pico_btstack_cyw43 pico_stdlib
#include "pico/stdlib.h"
#include "pico/cyw43_arch.h"
#include "btstack.h"

static const uint8_t adv_data[] = {
    0x02, 0x01, 0x06,                       // flags LE general
    0x06, 0x09, 'P', 'i', 'c', 'o', '2'     // nom d'annonce
};

int main(void) {
    stdio_init_all;
    if (cyw43_arch_init) { return 1; }    // meme puce que le Wi-Fi
    cyw43_arch_enable_bt_mode;            // mode Bluetooth du CYW43
    // 1) hci_setup + btstack_run_loop
    // 2) att_server : service 16 bits 0xA0FB + caracteristique compteur (READ)
    // 3) gap_advertise(adv_data) ; dans la boucle, compteur++ chaque seconde
    while (true) { sleep_ms(1000); }
}

Verificación esperada

El escáner BLE del smartphone ve la publicidad Pico2, se conecta, y la característica aumenta una unidad por segundo. El LED de la radio puede parpadear durante la publicidad.

Errores frecuentes

Otros tutoriales para esta placa

Ejemplos de código para esta placa

← Volver a la ficha 🛠 Todos los tutoriales