ESP32 Mini Gateway - BLE Sensor Node
Cơ bản10/5/2026

ESP32 Mini Gateway - BLE Sensor Node

Xây dựng BLE Sensor Node với ESP32-C3: đọc dữ liệu cảm biến và gửi qua BLE Advertising đến ESP32 Mini Gateway.

ESP32-C3BLEBluetoothsensor nodeIoTArduinomock mode
0 lượt thích0 người đã làm1 giờ5 bước4 linh kiện
← Quay lại dự án
Hướng dẫn chi tiết

Bài 2: Mock Mode — Không cần cảm biến thật

Hiểu cách mock mode tạo dữ liệu giả lập, cấu hình chu kỳ advertise, và đọc log để xác nhận BLE hoạt động.

Cập nhật 10/05/2026

Mock Mode hoạt động thế nào?

Thay vì đọc phần cứng, chương trình tự tạo dữ liệu:

  • TemperatureSensor: 28.5°C ±0.3°C, dao động trong 25–32°C
  • DoorSensor: chu kỳ false → false → true → false (cứ 4 lần thì cửa mở 1 lần)

Cấu hình trong config.h

#define NODE_ID               "node_001"
#define SENSOR_MODE           "mock"   // mặc định
#define ADVERTISE_INTERVAL_MS 5000     // 5 giây

Log mỗi 5 giây

[MOCK][TemperatureSensor] temperature=28.5°C
[BLE][Advertising] payload=IOTLABS|node_001|mock|TemperatureSensor|temperature=28.5|unit=C
[BLE][Advertising] advertise success

[MOCK][DoorSensor] door_open=false
[BLE][Advertising] payload=IOTLABS|node_001|mock|DoorSensor|door_open=false
[BLE][Advertising] advertise success

Hiểu SensorReading struct

Mock và real mode đều trả về cùng kiểu SensorReading:

struct SensorReading {
    const char* sensorType;   // "TemperatureSensor" | "DoorSensor"
    const char* key;          // "temperature" | "door_open"
    float       numericValue; // dùng khi isBoolean = false
    bool        boolValue;    // dùng khi isBoolean = true
    const char* unit;         // "C" hoặc ""
    bool        isBoolean;
};

Nhờ đó, payload_builderble_advertiser không cần biết dữ liệu đến từ mock hay real.