官方按键程序详细注释。-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 2382|回复: 3

[分享] 官方按键程序详细注释。

[复制链接]
发表于 2020-3-3 05:42 | 显示全部楼层 |阅读模式
本帖最后由 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]
发表于 2020-3-3 08:59 | 显示全部楼层
如果是开关按键必须反馈,不然会产生一些奇怪的现象
 楼主| 发表于 2020-3-3 23:14 | 显示全部楼层
n1001 发表于 2020-3-3 08:59
如果是开关按键必须反馈,不然会产生一些奇怪的现象

程序我式了一下 还是不影响
发表于 2020-3-4 12:04 来自手机 | 显示全部楼层
楼主十六进制颜色码写了两遍白色
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-11-28 18:36 , Processed in 0.194624 second(s), 15 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表