🛠 Le Bluetooth Low Energy embarqué, vu depuis le croquis
Objetivos
Utilizar el módulo Bluetooth Low Energy integrado en la Tian — la placa lo anunció como una primicia: fue una de las primeras Arduino con BLE integrado. Arquitectura típica de la placa: el módulo de radio está del lado de Linux, y el sketch accede a él a través del Bridge. Vas a listar los dispositivos BLE visibles desde el SAMD21, y luego decidir qué cara de la placa merece este trabajo.
Material
- 1 Arduino Tian alimentada, con el arranque de Linux terminado, sin necesidad de red (el BLE es autónomo)
- 1 smartphone con un sensor BLE publicitario (o un beacon, o la aplicación Arduino Nano 33 BLE que emite)
- Acceso SSH para la fase de diagnóstico de bajo nivel
Código completo
// Demander à Linux son environnement BLE via le Bridge.
#include <Bridge.h>
void setup {
Serial.begin(9600);
while (!Serial) { }
Bridge.begin;
delay(2000); // laisser le service BLE côté Linux s'initialiser
}
void loop {
// L'API dédiée au BLE passe par le Bridge de la Tian.
// >
// (getBLE / exemples d'usine du package de carte) : valider avec
// l'exemple BLE fourni, la doc officielle archivée étant la référence.
BridgeProcess p = Bridge.runShellCommand("hcitool lescan --duplicates");
// Lecture non bloquante de la sortie du scan côté Linux.
String line;
while (p.available && (line = p.readStringUntil('\n')).length) {
Serial.println(line); // adresse + nom des périphériques détectés
}
delay(10000);
}
Verificación esperada
El Monitor serie muestra líneas « AD:RS:ES:S1:BL:E Nombre-del-dispositivo » a medida que se realizan los escaneos: el SAMD21 acaba de hacer trabajar la pila BLE de Linux sin conocer un ápice de radio. Apaga el sensor: desaparece de los siguientes escaneos.
Errores frecuentes
- hcitool ausente de la imagen:
opkg update && opkg install bluez-libs bluez-toolspor SSH; según las versiones de Linino, la herramienta tiene un nombre diferente. > - Pegar código de ejemplo de Yun en la Tian: las bibliotecas Bridge difieren, la compilación a veces pasa pero el comportamiento no está garantizado.
- Querer BLE en tiempo real a través del Bridge: la cadena sketch -> UART -> Linux -> pila BLE introduce latencia; para HID o dispositivos conectados reactivos, usa una placa BLE nativa (Nano 33 BLE) y reserva la Tian para la pasarela.
- Olvidar la coexistencia WiFi/BLE: ambos comparten la radio de 2,4 GHz del SoC; en entornos saturados, los escaneos prolongados degradan el ancho de banda WiFi.
- Dejar un escaneo activo ejecutándose sin límite:
--duplicates+ bucle infinito consume la CPU de Linux; regula la frecuencia y termina limpiamente tus procesos. - Seguridad: no difundas credenciales en texto plano en un nombre de advertising, ya que es leído por todo el vecindario.
Otros tutoriales para esta placa
- Découvrir l'Arduino Tian : un microcontrôleur et un vrai Linux sur la même carte
- Bouton et LED sur les GPIO de la Tian : les bases côté SAMD21
- Lire un capteur avec l'ADC 12 bits du SAMD21
- Le Bridge : faire exécuter des commandes Linux depuis le croquis
- Configurer le WiFi et piloter Linino en SSH
- Télémétrie : pousser une mesure du capteur vers le réseau
Ejemplos de código para esta placa
clignotant-rest.inoArduinoconsole-bridge.inoArduinovaleurs-partagees.inoArduinoprocess-shell.inoArduinoserveur-json.inoArduinolecture-fichier.inoArduino