esp8266-01s控制继电器开关
#define BLINKER_WIFI
#define BLINKER_MIOT_LIGHT
#include <Blinker.h>
char auth[] = “点灯科技app密钥”; char ssid[] = “wifi名称”; char pswd[] = “密码”;
// 新建组件对象 BlinkerButton Button1(“btn-3mo”); BlinkerNumber Number1(“num-abc”); int counter = 0;
int GPIO = 0;
// 按下按键即会执行该函数 void button1_callback(const String & state) { BLINKER_LOG("get button state: ", state); digitalWrite(GPIO, !digitalRead(GPIO)); }
void miotPowerState(const String & state) { BLINKER_LOG("need set power state: ", state);
if (state == BLINKER_CMD_ON) { digitalWrite(GPIO, LOW); BlinkerMIOT.powerState("off"); BlinkerMIOT.print(); } else if (state == BLINKER_CMD_OFF) { digitalWrite(GPIO, HIGH); BlinkerMIOT.powerState("on"); BlinkerMIOT.print(); }
} // 如果未绑定的组件被触发,则会执行其中内容 void dataRead(const String & data) { BLINKER_LOG("Blinker readString: ", data); counter++; Number1.print(counter); }
void setup() {9 // 初始化串口 Serial.begin(115200); BLINKER_DEBUG.stream(Serial);
// 初始化有LED的IO pinMode(GPIO, OUTPUT); digitalWrite(GPIO, HIGH); // 初始化blinker Blinker.begin(auth, ssid, pswd); Blinker.attachData(dataRead); Button1.attach(button1_callback); BlinkerMIOT.attachPowerState(miotPowerState);
}
void loop() { Blinker.run(); }
上一篇:
通过多线程提高代码的执行效率例子