使用esp32 & 蓝牙接入 esp32蓝牙接入,会将esp32作为一个BLE外围设备与手机建立连接 1.准备工作硬件准备软件准备Arduino IDE需安装好esp32扩展下载并安装blinker APPAndroid下载:
点击下载
或 在android应用商店搜索“blinker”下载安装
IOS下载:
点击下载
或 在app store中搜索“blinker”下载 下载并安装blinker Arduino库点击下载
Windows:将下载好的blinker库解压到 我的电脑>文档>Arduino>libraries 文件夹中
Mac OS:将下载好的blinker库解压到 文稿>Arduino>libraries 文件夹中 编译并上传示例程序打开Arduino IDE,通过 文件>示例>Blinker>Blinker_Hello/Hello_BLE 打开例程
编译并下载程序到esp32,打开串口调试器 例程中宏LED_BUILTIN为开发板厂家定义的连接板载LED的引脚,如果您选择的开发板没有定义LED_BUILTIN,可以自行修改为您要使用的引脚 特别提醒: ESP32使用蓝牙接入时推荐使用 开发板: ESP32 Dev Module/ Partition Scheme: NO OTA(Large APP) 否则容易因BLE固件过大而编译失败 在app中添加设备- 确保蓝牙模块已通电
- 进入App,点击右上角的“+”号,然后选择 添加设备
- 点击选择Arduino > 蓝牙接入
- 等待搜索设备
- 点击选择要接入的设备
恭喜!一切就绪在APP中点击刚才您添加的设备,即可进入控制界面,点点按钮就可以控制Arduino上的LED灯开关
另一个按钮也点下试试,放心,您的手机不会爆炸~ 进一步使用blinker想了解各接入方式的区别?想深入理解以上例程?更多实例?想制作与众不同的物联网设备?完整示例程序#define BLINKER_PRINT Serial#define BLINKER_BLE#include <Blinker.h>// 新建组件对象BlinkerButton Button1("btn-abc");BlinkerNumber Number1("num-abc");int counter = 0;// 按下按键即会执行该函数void button1_callback(const String & state) { BLINKER_LOG("get button state: ", state); digitalWrite(LED_BUILTIN, !digitalRead(LED_BUILTIN));}// 如果未绑定的组件被触发,则会执行其中内容void dataRead(const String & data){ BLINKER_LOG("Blinker readString: ", data); counter++; Number1.print(counter);}void setup() { // 初始化串口 Serial.begin(115200); #if defined(BLINKER_PRINT) BLINKER_DEBUG.stream(BLINKER_PRINT); #endif // 初始化有LED的IO pinMode(LED_BUILTIN, OUTPUT); digitalWrite(LED_BUILTIN, HIGH); // 初始化blinker Blinker.begin(); Blinker.attachData(dataRead); Button1.attach(button1_callback);}void loop() { Blinker.run();}为什么没有搜索到设备? |