51 lines
1.1 KiB
Arduino
51 lines
1.1 KiB
Arduino
#include <NimBLEDevice.h>
|
|
|
|
void setup() {
|
|
Serial.begin(115200);
|
|
delay(1000);
|
|
|
|
Serial.println();
|
|
Serial.println("=== ESP32 BLE Scanner ===");
|
|
Serial.println("Looking for JBD/Xiaoxiang BMS...");
|
|
Serial.println();
|
|
|
|
NimBLEDevice::init("");
|
|
|
|
NimBLEScan* scan = NimBLEDevice::getScan();
|
|
scan->setActiveScan(true);
|
|
scan->setInterval(100);
|
|
scan->setWindow(99);
|
|
}
|
|
|
|
void loop() {
|
|
NimBLEScan* scan = NimBLEDevice::getScan();
|
|
|
|
Serial.println("Scanning for 10 seconds...");
|
|
NimBLEScanResults results = scan->getResults(10, false);
|
|
|
|
Serial.print("Devices found: ");
|
|
Serial.println(results.getCount());
|
|
|
|
for (int i = 0; i < results.getCount(); i++) {
|
|
const NimBLEAdvertisedDevice* device = results.getDevice(i);
|
|
|
|
Serial.print("Device ");
|
|
Serial.print(i);
|
|
Serial.print(" | Address: ");
|
|
Serial.print(device->getAddress().toString().c_str());
|
|
|
|
Serial.print(" | RSSI: ");
|
|
Serial.print(device->getRSSI());
|
|
|
|
if (device->haveName()) {
|
|
Serial.print(" | Name: ");
|
|
Serial.print(device->getName().c_str());
|
|
}
|
|
|
|
Serial.println();
|
|
}
|
|
|
|
Serial.println();
|
|
delay(3000);
|
|
}
|