|
楼主 |
发表于 2021-1-4 09:19
|
显示全部楼层
- /* *****************************************************************
- *
- * Download latest Blinker library here:
- * https://github.com/blinker-iot/blinker-library/archive/master.zip
- *
- *
- * Blinker is a cross-hardware, cross-platform solution for the IoT.
- * It provides APP, device and server support,
- * and uses public cloud services for data transmission and storage.
- * It can be used in smart home, data monitoring and other fields
- * to help users build Internet of Things projects better and faster.
- *
- * Make sure installed 2.7.4 or later ESP8266/Arduino package,
- * if use ESP8266 with Blinker.
- * https://github.com/esp8266/Arduino/releases
- *
- * Make sure installed 1.0.4 or later ESP32/Arduino package,
- * if use ESP32 with Blinker.
- * https://github.com/espressif/arduino-esp32/releases
- *
- * Docs: https://diandeng.tech/doc
- *
- *
- * *****************************************************************
- *
- * Blinker 库下载地址:
- * https://github.com/blinker-iot/blinker-library/archive/master.zip
- *
- * Blinker 是一套跨硬件、跨平台的物联网解决方案,提供APP端、设备端、
- * 服务器端支持,使用公有云服务进行数据传输存储。可用于智能家居、
- * 数据监测等领域,可以帮助用户更好更快地搭建物联网项目。
- *
- * 如果使用 ESP8266 接入 Blinker,
- * 请确保安装了 2.7.4 或更新的 ESP8266/Arduino 支持包。
- * https://github.com/esp8266/Arduino/releases
- *
- * 如果使用 ESP32 接入 Blinker,
- * 请确保安装了 1.0.4 或更新的 ESP32/Arduino 支持包。
- * https://github.com/espressif/arduino-esp32/releases
- *
- * 文档: https://diandeng.tech/doc
- *
- *
- * *****************************************************************/
- #define BLINKER_ESP_SMARTCONFIG
- #define BLINKER_WIFI
- #define BLINKER_MIOT_OUTLET //小爱同学
- #include <Blinker.h>
- char auth[] = "dbcbe38314c6";
- //char ssid[] = "888888";
- //char pswd[] = "666666";
- BlinkerButton Button1("btn-on"); //定义按钮数据
- BlinkerButton Button2("btn-off");
- bool oState = false;
- int counter = 0;
- void miotPowerState(const String & state)
- {
- BLINKER_LOG("need set power state: ", state);
- if (state == BLINKER_CMD_ON) { //小爱同学控制开命令
- digitalWrite(0, LOW);
- BlinkerMIOT.powerState("on");
- BlinkerMIOT.print();
- oState = true;
- }
- else if (state == BLINKER_CMD_OFF) { //小爱同学控制关命令
- digitalWrite(0,HIGH);
- BlinkerMIOT.powerState("off");
- BlinkerMIOT.print();
- oState = false;
- }
- }
- void miotQuery(int32_t queryCode) //小爱同学控制
- {
- BLINKER_LOG("MIOT Query codes: ", queryCode);
- switch (queryCode)
- {
- case BLINKER_CMD_QUERY_ALL_NUMBER :
- BLINKER_LOG("MIOT Query All");
- BlinkerMIOT.powerState(oState ? "on" : "off");
- BlinkerMIOT.print();
- break;
- case BLINKER_CMD_QUERY_POWERSTATE_NUMBER :
- BLINKER_LOG("MIOT Query Power State");
- BlinkerMIOT.powerState(oState ? "on" : "off");
- BlinkerMIOT.print();
- break;
- default :
- BlinkerMIOT.powerState(oState ? "on" : "off");
- BlinkerMIOT.print();
- break;
- }
- }
- void dataRead(const String & data) // 如果未绑定的组件被触发,则会执行其中内容
- {
- BLINKER_LOG("Blinker readString: ", data);
- Blinker.vibrate();
-
- uint32_t BlinkerTime = millis();
-
- Blinker.print("millis", BlinkerTime);
- }
- void button1_callback(const String & state) //点灯app内控制按键触发
- {
-
- digitalWrite(0,LOW);
- BLINKER_LOG("get button staten", state);
- }
- void button2_callback(const String & state) //点灯app内控制按键触发
- {
-
- digitalWrite(0,HIGH);
- BLINKER_LOG("get button stateff", state);
- }
- void setup()
- {
- Serial.begin(115200);
- BLINKER_DEBUG.stream(Serial);
- BLINKER_DEBUG.debugAll();
-
- pinMode(0, OUTPUT); //定义io口为输出
- digitalWrite(0, LOW); //定义io默认为高电平
-
- Blinker.begin(auth);
- //Blinker.begin(auth, ssid, pswd);
- Blinker.attachData(dataRead);
-
- BlinkerMIOT.attachPowerState(miotPowerState);
- BlinkerMIOT.attachQuery(miotQuery);
- Button1.attach(button1_callback);
- Button2.attach(button2_callback);
- }
- void loop()
- {
- Blinker.run();
- }
复制代码 |
|