以下是一个使用 Blinker库 在 ESP32-C3 上实现蓝牙控制点灯的完整示例代码。通过手机App(Blinker)连接蓝牙后,可远程控制LED的开关。
1. 准备工作
- 硬件:
- ESP32-C3开发板
- LED(接在GPIO引脚上,如
GPIO2
)
- 软件:
- Arduino IDE(需安装ESP32支持包)
- 手机端安装 Blinker App(应用商店下载)
2. 安装Blinker库
在Arduino IDE中安装Blinker库:
- 点击 工具 -> 管理库…
- 搜索
Blinker
,选择最新版本安装。
3. 示例代码
#include <Blinker.h>
// 配置蓝牙设备名称(自定义)
#define BLINKER_BLE
#define DEVICE_NAME "ESP32C3_LED_Control" // 蓝牙名称
// LED引脚定义(根据实际接线修改)
const int ledPin = GPIO_NUM_2;
// Blinker组件绑定
BlinkerButton Button1("btn-led"); // App上的按键ID
// App按键回调函数
void button1_callback(const String &state) {
if (state == BLINKER_CMD_ON) {
digitalWrite(ledPin, HIGH); // LED亮
Blinker.print("LED turned ON");
} else if (state == BLINKER_CMD_OFF) {
digitalWrite(ledPin, LOW); // LED灭
Blinker.print("LED turned OFF");
}
}
void setup() {
Serial.begin(115200);
// 初始化LED引脚
pinMode(ledPin, OUTPUT);
digitalWrite(ledPin, LOW);
// 初始化Blinker蓝牙模式
Blinker.begin(BLINKER_BLE, DEVICE_NAME);
Blinker.wInit("LED Control", "switch"); // App界面配置
// 注册按键回调
Button1.attach(button1_callback);
}
void loop() {
Blinker.run(); // 保持蓝牙连接
}
4. 手机App操作步骤
打开Blinker App:
- 点击右上角
+
,选择 Arduino -> Bluetooth。 - 扫描并选择设备
ESP32C3_LED_Control
(代码中定义的名称)。
- 点击右上角
控制界面:
- App会自动生成一个开关按钮,点击即可控制LED。
5. 关键点说明
- 蓝牙模式:代码中通过
#define BLINKER_BLE
启用蓝牙功能。 - 自定义设备名:修改
DEVICE_NAME
为你的设备名称。 - 引脚适配:根据实际接线修改
ledPin
(如GPIO2)。 - 数据反馈:通过
Blinker.print()
可在App日志区查看状态。
⚠️注意事项
- ESP32-C3需支持BLE(默认支持)。
- LED需接限流电阻(通常220Ω)。
- Blinker App需与设备在同一网络环境(仅首次配网需要)。
如果有其他需求(如PWM调光、传感器数据回传等),可以进一步扩展代码!
内容由零声教学AI助手提供,问题来源于学员提问