以下是移除蓝牙设备名称显示后的简化版本,保持核心功能不变:
#include <Blinker.h>
// 硬件配置
#define BLINKER_BLE // 使用BLE蓝牙模式
const int LED_PIN = GPIO_NUM_2; // LED控制引脚
// Blinker组件定义
BlinkerButton btnLed("btn-led"); // 对应APP上的按钮组件
// 回调函数:处理LED开关指令
void ledControlCallback(const String &state)
{
if (state == BLINKER_CMD_ON) {
digitalWrite(LED_PIN, HIGH);
Blinker.print("LED_ON");
}
else if (state == BLINKER_CMD_OFF) {
digitalWrite(LED_PIN, LOW);
Blinker.print("LED_OFF");
}
}
void setup()
{
// 初始化硬件
pinMode(LED_PIN, OUTPUT);
digitalWrite(LED_PIN, LOW); // 默认关闭LED
// 初始化Blinker(不指定设备名称)
Blinker.begin();
// 注册回调函数
btnLed.attach(ledControlCallback);
}
void loop()
{
Blinker.run(); // 保持蓝牙连接
}
修改说明:
- 移除了
DEVICE_NAME
:直接调用无参数的Blinker.begin()
,系统会自动生成默认名称 - 精简调试输出:移除串口调试代码(如需调试可保留Serial部分)
- 保持核心功能:完整保留了LED控制逻辑和蓝牙通信功能
如果需要自定义蓝牙名称但不想显示,可以在APP端设置别名隐藏实际设备名。
内容由零声教学AI助手提供,问题来源于学员提问