ESP01s通过blinker云端进行远程控制开关灯

1.注意,如果报错内存不足,可以把 <Blinker.h>里面不用的库先剪切走一部分,我只保留了如下库

2.加载这些版本号的库
3.win7系统的arduino软件版本 1.8.13,高版本无法识别ESP的安装库,操作系统不支持
4.  LED_BUILTIN这个IO口是gpio2引脚
5. 下载点灯科技的APP,,获取Blinker设备密钥,,,https://diandeng.tech/dev
6. 
7. 
8. 

蓝灯是按钮组件1,红灯是按钮组件2

// ESP8266 Blinker兼容代码 - 使用旧版本三个参数调用方式
#define ARDUINOJSON_NAMESPACE BlinkerJson    // 重命名命名空间避免冲突
#define ARDUINOJSON_ENABLE_PROGMEM 0         // 完全禁用PROGMEM功能
#define BLINKER_WIFI                          // 只启用WiFi模式
#define BLINKER_NO_ALIGENIE                   // 禁用天猫精灵服务
#define BLINKER_NO_DUEROS                    // 禁用度秘服务
#define BLINKER_NO_MIOT                       // 禁用米家服务
#define BLINKER_PRINT Serial                 // 使用Serial进行调试输出#include <Blinker.h>// 设备认证信息
char auth[] = "ad187dfaa55a";        // Blinker设备密钥,从blinker的手机app上复制,每个设备1个号
char ssid[] = "综合办公室";          // 修改WiFi名称
char pswd[] = "lgs13410125206";      // 修改WiFi密码int GPIO = 0; //定义继电器输入引脚为GPIO/0-// 创建Blinker组件对象
BlinkerButton Button1("btn-abc");    // 按钮组件1
BlinkerButton Button2("btn-ww2");    // 按钮组件2
BlinkerNumber Number1("num-abc");    // 数字显示组件int counter = 0;  // 计数器变量// 按钮回调函数
void button1_callback(const String & state) {BLINKER_LOG("收到按钮状态: ", state);digitalWrite(LED_BUILTIN, !digitalRead(LED_BUILTIN));  // 切换LED状态
}void button2_callback(const String & state) {BLINKER_LOG("收到按钮状态: ", state);digitalWrite(GPIO, !digitalRead(GPIO));  // 切换LED状态
}// 数据接收回调函数
void dataRead(const String & data) {BLINKER_LOG("Blinker读取数据: ", data);counter++;Number1.print(counter);  // 更新数字显示
}void setup() {// 初始化串口通信Serial.begin(115200);// 初始化LED引脚pinMode(LED_BUILTIN, OUTPUT);pinMode(GPIO, OUTPUT);digitalWrite(GPIO, LOW);digitalWrite(LED_BUILTIN, HIGH);  // 初始化为高电平(LED灭)// 使用兼容的begin调用方式(三个参数)Blinker.begin(auth, ssid, pswd);  // auth, ssid, pswd三个参数// 注册回调函数Blinker.attachData(dataRead);     // 数据接收回调Button1.attach(button1_callback); // 按钮事件回调Button2.attach(button2_callback); // 按钮事件回调BLINKER_LOG("Blinker初始化完成");
}void loop() {Blinker.run();  // 保持Blinker运行
}
DIY了一个WIFI插座:
原理图:
pcb:
实物PCB

