esp01s_relay接入小爱

#define BLINKER_WIFI
#define BLINKER_MIOT_LIGHT   //支持小爱同学
#define BLINKER_WITHOUT_SSL  //非SSL加密通信接入,省堆栈
#include #define LED 2  // 板子上的灯
#define GPIO 0 // 继电器输入引脚为GPIO/0
char auth[] = "abcdefghijkl"; //上一步中在app中获取到的Secret Key
char ssid[] = "abcdefg"; //您的WiFi热点名称
char pswd[] = "123456789"; //您的WiFi密码bool wsState;
// 新建组件对象
BlinkerButton Button1("btn-abc");
//注意:要和APP组件’数据键名’一致// 按下BlinkerAPP按键即会执行该函数
void button1_callback(const String& state) {BLINKER_LOG("get button state: ", state);digitalWrite(LED, !digitalRead(LED));digitalWrite(GPIO, !digitalRead(GPIO));Blinker.vibrate();
}//小爱电源类操作的回调函数:
//当小爱同学向设备发起控制, 设备端需要有对应控制处理函数
void miotPowerState(const String& state) {BLINKER_LOG("need set power state: ", state);if (state == BLINKER_CMD_ON) {digitalWrite(LED, LOW);//低电平点灯digitalWrite(GPIO, LOW);//低电平点灯BlinkerMIOT.powerState("on");BlinkerMIOT.print();wsState = true;} else if (state == BLINKER_CMD_OFF) {digitalWrite(LED, HIGH);//高电平开灯digitalWrite(GPIO, HIGH);//高电平开灯BlinkerMIOT.powerState("off");BlinkerMIOT.print();wsState = false;}
}//小爱同学 的回调查询函数,照抄即可。主要是查询 当前灯的状态
void miotQuery(int32_t queryCode) {BLINKER_LOG("MIOT Query codes: ", queryCode);switch (queryCode) {case BLINKER_CMD_QUERY_POWERSTATE_NUMBER:BlinkerMIOT.powerState(wsState ? "on" : "off");BlinkerMIOT.print();break;default:BlinkerMIOT.powerState(wsState ? "on" : "off");BlinkerMIOT.print();break;}
}
void setup() {// 初始化串口,并开启调试信息,调试用可以删除Serial.begin(115200);BLINKER_DEBUG.stream(Serial);// 初始化IOpinMode(LED, OUTPUT);digitalWrite(LED, HIGH);  // 初始化 led 高电平 ,则灯熄灭状态// 初始化IOpinMode(GPIO, OUTPUT);digitalWrite(GPIO, HIGH);  // 初始化继电器高电平// 初始化blinkerBlinker.begin(auth, ssid, pswd);Button1.attach(button1_callback);//小爱同学务必在回调函数中反馈该控制状态BlinkerMIOT.attachPowerState(miotPowerState);  //注册回调函数BlinkerMIOT.attachQuery(miotQuery);
}
void loop() {Blinker.run();
}


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部