BUILTIN_SWITCH是干什么的-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 5382|回复: 18

[已解答] BUILTIN_SWITCH是干什么的

[复制链接]
发表于 2021-2-8 16:59 | 显示全部楼层 |阅读模式
智能化中用到BUILTIN_SWITCH,不知道这个组件是什么意思,是代表这个设备的状态吗。我要想从外部获取这个设备是在线还是离线用哪个参数?

发表于 2021-2-8 17:25 | 显示全部楼层
前两天刚好被我鼓捣出来了。
BUILTIN_SWITCH字面意思是“内置开关”,我程序调试出来就是在设备图标上面显示出来的开关按钮,我理解为设备总开关。
这是被定义好了的关键字。就像LED_BUILTIN一样。
可以跟实际设备上的开关及对应的IO口映射。

void switch_callback(const String & state){                        //设备总开关
    digitalWrite(LED_BUILTIN, !digitalRead(LED_BUILTIN));  //总是让LED灯发生明灭变化
    BLINKER_LOG("get builtin switch state: ", state);
   
    if (state == BLINKER_CMD_ON) {                                 //BLINKER_CMD_ON="on"
       switch_state = true;
       digitalWrite(D7, HIGH);
       BUILTIN_SWITCH.print("on");  
    }
    else if (state == BLINKER_CMD_OFF) {
       switch_state = false;
       digitalWrite(D7, LOW);
       BUILTIN_SWITCH.print("off");
    }
}

void setup( ){
......
BUILTIN_SWITCH.attach(switch_callback);  //设备总开关
}
 楼主| 发表于 2021-2-8 17:30 | 显示全部楼层
armduino 发表于 2021-2-8 17:25
前两天刚好被我鼓捣出来了。
BUILTIN_SWITCH字面意思是“内置开关”,我程序调试出来就是在设备图标上面显 ...

高手。在app里对设备进行什么样的操作才能使用这个功能。直接点这个设备吗?还是就是一个虚操作
发表于 2021-2-8 17:45 | 显示全部楼层
根据这个builtin_switch反馈的状态on/off,可以控制指定的IO口,进而控制设备启停。
没有关联IO,就是虚的。
Screenshot_20210208_174353.jpg
发表于 2021-2-8 19:51 | 显示全部楼层
列表页面的开关,楼上已经发图了
 楼主| 发表于 2021-5-17 16:31 | 显示全部楼层
如图所示,我在程序里使用BUILTIN_SWITCH编译时报错,说没有声明。我需要在程序中怎么声明呢
屏幕截图 2021-05-17 162919.jpg
 楼主| 发表于 2021-5-18 11:32 | 显示全部楼层
用blinker的例程switch_wifi也包同样的错
 楼主| 发表于 2021-5-18 12:10 | 显示全部楼层
搞定。是ESP8266的库出问题了,重新更新ESP8266的库就好了
 楼主| 发表于 2021-5-18 18:31 | 显示全部楼层
编译过了,为什么设备图标上面没有开关按钮显示,在app里有其他设置吗?
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-11-28 12:40 , Processed in 0.102537 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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