赞
踩
前面我们说了,用于通过blinker来实现点亮开发板上面的小灯,但是用的开关组件只是按一下打开灯或者再按一下熄灭灯,从app上看不清到底是开灯的还是关灯着,所以这次说一下,按键后反馈组件的状态
在编辑模式下,点击按键进入编辑组件页面,可以看到 按键类型 有三种:普通按键、开关按键、自定义按键
普通按键
每次按下发送的指令为
{"btn-abc":"tap"}
开关按键
按键本身会保存开关状态,默认为off,按下时会发送
{"btn-abc":"on"}
保存的状态为on时,按下会发送
{"btn-abc":"off"}
设备端可以发送指令改变当前按键的开关状态
define BLINKER_WIFI #include <Blinker.h> char auth[] = "Your Device Secret Key"; char ssid[] = "Your WiFi network SSID or name"; char pswd[] = "Your WiFi network WPA password or WEP key"; // 新建组件对象 BlinkerButton Button1("btn-abc"); // 按下按键即会执行该函数 void button1_callback(const String & state) { BLINKER_LOG("get button state: ", state); if (state=="on") { digitalWrite(LED_BUILTIN, LOW); // 反馈开关状态 Button1.print("on"); } else if(state=="off"){ digitalWrite(LED_BUILTIN, HIGH); // 反馈开关状态 Button1.print("off"); } } void setup() { // 初始化串口 Serial.begin(115200); // 初始化有LED的IO pinMode(LED_BUILTIN, OUTPUT); digitalWrite(LED_BUILTIN, HIGH); // 初始化blinker Blinker.begin(auth, ssid, pswd); Button1.attach(button1_callback); } void loop() { Blinker.run(); }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。