toughc5-ble-sensor-hub.ino

Kit de développement IoT étanche M5Stack ToughC5 (ESP32-C5) · Fichier : toughc5-ble-sensor-hub.ino · Langage : Arduino C++ · Usage : Agir comme un hub BLE pour collecter les données d'un capteur environnemental externe.

Scan d'appareils BLE 5.0 et affichage des adresses MAC et RSSI sur l'écran IPS.

Utilise la pile BLE native de l'ESP32-C5. Le mode actif améliore la détection mais consomme plus d'énergie. L'écran tactile permet de valider visuellement les capteurs à proximité. Idéal pour le dépannage 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);
}

← Retour à la fiche