本帖最后由 z01228 于 2020-3-4 07:20 编辑
[mw_shl_code=arduino,true]/************官方按键示例程序详细注释,方便第一次看程序的。如果有错误的及时通知下修改***************/
十六进制颜色码
(#FF0000 红色)(#FFFF00 黄色)(#FFFFFF 白色)(#0000FF 蓝色)(#00FFFF 浅蓝色)(#FFFFFF白色)
#define BLINKER_WIFI
#include <Blinker.h>
char auth[] = "Your Device Secret Key";//设备key码
char ssid[] = "Your WiFi network SSID or name";//wifi名称
char pswd[] = "Your WiFi network WPA password or WEP key";//wifi密码
// 新建组件对象
BlinkerButton Button1("btn-abc");//设置app按键的键名
int counter = 0;
// 按下按键即会执行该函数app里按键有2种模式3钟不同样式,下面写出所有的开关状态。
void button1_callback(const String & state) //用state来存储组键的值按键 : "tap"(点按); "pre"(长按); "pup"(释放)开关 : "on"(打开); "off"(关闭)
{
BLINKER_LOG("get button state: ", state); //串口打印
digitalWrite(LED_BUILTIN, !digitalRead(LED_BUILTIN)); //如果按键有动作led灯状态取反
if (state == BLINKER_CMD_BUTTON_TAP) //如果state是点按(tap)
{
BLINKER_LOG("Button tap!"); //串口打印开关状态是点按(tap)
// Button1.icon("icon_1");
Button1.color("#FF0000"); //设置app按键是红色
Button1.text("点动"); //在app按键上显示提示语"点动"
Button1.print(); //反馈给app开关状态可以是"on"(打开); "off"(关闭);或者不写
}
else if (state == BLINKER_CMD_BUTTON_PRESSED) { //如果state是长按(pre)
BLINKER_LOG("Button pressed!"); //串口打印开关状态是长按(pre)
// Button1.icon("icon_1");
Button1.color("#FFFF00"); //设置app按键是黄色
Button1.text("长按"); //在app按键上显示提示语"长按"
Button1.print(); //反馈给app开关状态可以是"on"(打开); "off"(关闭);或者不写
}
else if (state == BLINKER_CMD_BUTTON_RELEASED) { //如果state是释放(pup)
BLINKER_LOG("Button released!"); //串口打印开关状态是释放(released)
// Button1.icon("icon_1");
Button1.color("#FFFFFF"); //设置app按键是白色
Button1.text("Your button name or describe");
// Button1.text("Your button name", "describe");
Button1.print(); //反馈给app开关状态可以是"on"(打开); "off"(关闭);或者不写
}
else if (state == BLINKER_CMD_ON) { //如果state是on状态
BLINKER_LOG("Toggle on!");
// Button1.icon("icon_1");
Button1.color("#0000FF"); //设置app按键是深蓝色
Button1.text("Your button name or describe");
// Button1.text("Your button name", "describe");
Button1.print("on"); //反馈回按键状态是开
}
else if (state == BLINKER_CMD_OFF) { //如果state是off状态
BLINKER_LOG("Toggle off!");
// Button1.icon("icon_1");
Button1.color("#00FFFF"); //设置app按键是浅蓝色
Button1.text("Your button name or describe");
// Button1.text("Your button name", "describe");
Button1.print("off"); //反馈回按键状态是关
}
else {
BLINKER_LOG("Get user setting: ", state);//如果以上都不是
// Button1.icon("icon_1");
Button1.color("#FFFFFF"); //设置app按键是白色
Button1.text("Your button name or describe");
// Button1.text("Your button name", "describe");
Button1.print();
}
}
void setup()
{
// 初始化串口
Serial.begin(115200);
BLINKER_DEBUG.stream(Serial);
// 初始化有LED的IO
pinMode(LED_BUILTIN, OUTPUT);
digitalWrite(LED_BUILTIN, HIGH);
// 初始化blinker
Blinker.begin(auth, ssid, pswd);
Button1.attach(button1_callback);//必须的注册回调函数关联按键名“Button1”和判断程序“button1_callback"
}
void loop() {
Blinker.run();
}[/mw_shl_code] |