toughc5-ble-sensor-hub.ino
Escaneo de dispositivos BLE 5.0 y visualización de direcciones MAC y RSSI en la pantalla IPS.
Usa la pila BLE nativa del ESP32-C5. El modo activo mejora la detección pero consume más energía. La pantalla táctil permite la validación visual de sensores cercanos. Ideal para la resolución de problemas IoT.
toughc5-ble-sensor-hub.ino
#include <M5ToughC5.h>
#include <BLEDevice.h>
#include <BLEScan.h>
#include <BLEAdvertisedDevice.h>
int scanTime = 5; //In seconds
BLEScan* pBLEScan;
void setup() {
M5.begin();
M5.Display.init();
M5.Display.setTextColor(WHITE);
M5.Display.drawString("BLE Scanner", 10, 10);
BLEDevice::init("ToughC5-Hub");
pBLEScan = BLEDevice::getScan();
pBLEScan->setActiveScan(true);
pBLEScan->setInterval(100);
pBLEScan->setWindow(99);
}
void loop() {
M5.Display.clear();
M5.Display.drawString("Scanning BLE...", 10, 10);
BLEScanResults* foundDevices = pBLEScan->start(scanTime, false);
M5.Display.clear();
M5.Display.drawString("Devices Found:", 10, 10);
int count = foundDevices->getCount();
for (int i = 0; i < count && i < 5; i++) {
BLEAdvertisedDevice d = foundDevices->getDevice(i);
M5.Display.printf("%s\nRSSI: %d\n", d.getAddress().toString().c_str(), d.getRSSI());
}
pBLEScan->clearResults();
delay(2000);
}