esp01s_relay接入小爱

#define BLINKER_WIFI
#define BLINKER_MIOT_LIGHT   //支持小爱同学
#define BLINKER_WITHOUT_SSL  //非SSL加密通信接入,省堆栈
#include <Blinker.h>

#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);
  // 初始化IO
  pinMode(LED, OUTPUT);
  digitalWrite(LED, HIGH);  // 初始化 led 高电平 ,则灯熄灭状态
  // 初始化IO
  pinMode(GPIO, OUTPUT);
  digitalWrite(GPIO, HIGH);  // 初始化继电器高电平

  // 初始化blinker
  Blinker.begin(auth, ssid, pswd);
  Button1.attach(button1_callback);

  //小爱同学务必在回调函数中反馈该控制状态
  BlinkerMIOT.attachPowerState(miotPowerState);  //注册回调函数
  BlinkerMIOT.attachQuery(miotQuery);
}
void loop() {
  Blinker.run();
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值