toy-Kapi_Rtc/main/ble_service_config.h
Rdzleo 77c7283d09 重构蓝牙配网: 替换BluFi为自定义GATT Server,修复手机蓝牙不可见问题
核心改动:
- bluetooth_provisioning: 使用 esp_ble_gap_config_adv_data_raw() 原始广播
  替代 BluFi API,采用自定义 GATT Server (Service 0xABF0, Write 0xABF1,
  Notify 0xABF2) 实现二进制配网协议,保留全部WiFi配网业务逻辑
- ble_service: 广播包名称移至 Scan Response,避免超31字节限制;
  GAP事件改用位掩码确保 adv_data 和 scan_rsp 都完成后再启动广播
- application: BLE JSON 服务从 Application 移至 WifiBoard 管理,
  HandleBleJsonCommand 改为接收 BleJsonService 引用参数
- wifi_board: 新增 StartBleJsonProvisioning(),配网入口切换回
  StartBluFiProvisioning() 使用重构后的 GATT Server
- 蓝牙设备名统一为 "Airhub_Ble"
- 配网模式下跳过电量上报,避免无WiFi时HTTP请求失败
- 新增 tests/ble_provision_test.py 配网协议测试脚本

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-10 14:32:55 +08:00

50 lines
1.3 KiB
C
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#pragma once
#ifdef __cplusplus
extern "C" {
#endif
// ============================================================
// BLE JSON 通讯服务 - 配置参数
// ============================================================
// GATT App ID (BluFi 使用 0本模块使用 1)
#define BLE_JSON_APP_ID 1
// Service UUID (16-bit)
#define BLE_JSON_SERVICE_UUID 0xAB00
// Characteristic UUIDs
#define BLE_JSON_CHAR_WRITE_UUID 0xAB01 // App -> 设备 (WRITE)
#define BLE_JSON_CHAR_NOTIFY_UUID 0xAB02 // 设备 -> App (NOTIFY)
#define BLE_JSON_CHAR_STATUS_UUID 0xAB03 // 设备状态 (READ)
// Service handle 数量 (service + chars + descriptors预留足够)
#define BLE_JSON_HANDLE_NUM 10
// MTU
#define BLE_JSON_LOCAL_MTU 512
// Characteristic 最大值长度
#define BLE_JSON_CHAR_VAL_MAX_LEN 512
// 广播设备名称
#define BLE_JSON_DEVICE_NAME "Airhub_Ble"
// 广播参数
#define BLE_JSON_ADV_INT_MIN 0x40 // 40ms
#define BLE_JSON_ADV_INT_MAX 0x80 // 80ms
// 命令处理队列深度
#define BLE_JSON_CMD_QUEUE_SIZE 8
// WiFi 列表最大返回条数
#define BLE_JSON_WIFI_LIST_MAX 8
// 日志标签
#define BLE_JSON_TAG "BleJsonSvc"
#ifdef __cplusplus
}
#endif