🛠 Périphérique BLE : pont série air ↔ USB (Bluefruit)

Adafruit Feather nRF52840 Express · intermediaire · Schéma : IMG-nrf52840-feather-intermediaire-1-nrf52840-ble-peripheral-bluefruit.svg — Feather nRF52840 advertised « Feather52840 », smartphone avec l'app Bluefruit LE Connect UART, flèches de données bidirectionnelles vers le port USB.

Objectifs

Créer un périphérique BLE avec la pile Nordic SoftDevice via Bluefruit52Lib (core Adafruit nRF52) : le service Nordic UART (NUS) sert de pont entre un téléphone (app Bluefruit LE Connect) et le port série USB. Comprendre advertising, connexion et la contrainte clé : la SoftDevice a une priorité supérieure à tout le code utilisateur quand la radio tourne.

Matériel

Code complet

// nrf52840-ble-peripheral-bluefruit.ino — inspire de l'exemple officiel bleuart
#include <bluefruit.h>

BLEUart bleuart;  // service Nordic UART (caractéristiques RX/TX)

void setup {
  Serial.begin(115200);              // console USB CDC
  Bluefruit.begin;                 // démarre la SoftDevice (orchestree FreeRTOS)
  Bluefruit.setTxPower(4);           // jusqu'à +8 dBm sur le module MDBT50Q
  Bluefruit.setName("Feather52840");
  bleuart.begin;
  Bluefruit.Advertising.addFlags(BLE_GAP_ADV_FLAGS_LE_ONLY_GENERAL_DISC_MODE);
  Bluefruit.Advertising.addService(bleuart);
  Bluefruit.Advertising.start(0);    // advertising illimite
}

void loop {
  if (bleuart.available)           // telephone -> carte -> USB
    Serial.write((uint8_t)bleuart.read);
  if (Serial.available)            // USB -> carte -> telephone
    bleuart.write((uint8_t)Serial.read);
}

Vérification attendue

Dans Bluefruit LE Connect, l'appareil « Feather52840 » apparaît, la connexion aboutit et la page UART affiche ce que vous tapez dans le moniteur USB — et réciproquement. Le NeoPixel de la carte clignote en bleu lors de la connexion (comportement de statut du BSP).

Erreurs fréquentes

Autres tutoriels pour cette carte

Exemples de code pour cette carte

← Retour à la fiche 🛠 Tous les tutoriels