[Arduino物联网开发实战1]控制开关灯-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

楼主: 奈何col

[使用文档] [Arduino物联网开发实战1]控制开关灯

  [复制链接]
 楼主| 发表于 2020-7-13 15:46 | 显示全部楼层
13580445117 发表于 2020-7-13 15:45
我的ESP8266,是常亮,(开发板LED是接GPIO2,不过上面的定义LED_BUILTIN应该跟接哪个都没关系吧),量了其它 ...

直接把LED_BUILTIN改成你要控制的IO就行了
发表于 2020-7-13 15:54 | 显示全部楼层
没错,我是在源程序BUTTON-WIFI中改,直接改管脚还是不行,后来用你上面的程序就可以了,管脚也不用改,系统会自动判断

点评

说明你改错了呗  详情 回复 发表于 2020-7-13 15:56
 楼主| 发表于 2020-7-13 15:56 | 显示全部楼层
13580445117 发表于 2020-7-13 15:54
没错,我是在源程序BUTTON-WIFI中改,直接改管脚还是不行,后来用你上面的程序就可以了,管脚也不用改,系 ...

说明你改错了呗
发表于 2020-7-13 15:56 | 显示全部楼层
话说原代码为什么不行?
#define BLINKER_WIFI

#include <Blinker.h>

char auth[] = "??????????";
char ssid[] = "yyyyyyy";
char pswd[] = "xxxxxxxx";

#define BUTTON_1 "ButtonKey"

BlinkerButton Button1(BUTTON_1);

void button1_callback(const String & state)
{
    digitalWrite(LED_BUILTIN, !digitalRead(LED_BUILTIN));
    BLINKER_LOG("get button state: ", state);

    if (state == BLINKER_CMD_BUTTON_TAP) {
        BLINKER_LOG("Button tap!");

        Button1.icon("icon_1");
        Button1.color("#FFFFFF");
        Button1.text("Your button name or describe");
        Button1.print();
    }
    else if (state == BLINKER_CMD_BUTTON_PRESSED) {
        BLINKER_LOG("Button pressed!");

        Button1.icon("icon_1");
        Button1.color("#FFFFFF");
        Button1.text("Your button name or describe");
        Button1.print();
    }
    else if (state == BLINKER_CMD_BUTTON_RELEASED) {
        BLINKER_LOG("Button released!");

        Button1.icon("icon_1");
        Button1.color("#FFFFFF");
        Button1.text("Your button name or describe");
        // Button1.text("Your button name", "describe");
        Button1.print();
    }
    else if (state == BLINKER_CMD_ON) {
        BLINKER_LOG("Toggle on!");

        Button1.icon("icon_1");
        Button1.color("#FFFFFF");
        Button1.text("Your button name or describe");
        // Button1.text("Your button name", "describe");
        Button1.print("on");
    }
    else if (state == BLINKER_CMD_OFF) {
        BLINKER_LOG("Toggle off!");

        Button1.icon("icon_1");
        Button1.color("#FFFFFF");
        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");
        Button1.text("Your button name or describe");
        // Button1.text("Your button name", "describe");
        Button1.print();
    }
}

void dataRead(const String & data)
{
    BLINKER_LOG("Blinker readString: ", data);

    Blinker.vibrate();
   
    uint32_t BlinkerTime = millis();
   
    Blinker.print("millis", BlinkerTime);
}

void setup()
{
    Serial.begin(115200);
    BLINKER_DEBUG.stream(Serial);

    pinMode(LED_BUILTIN, OUTPUT);
    digitalWrite(LED_BUILTIN, LOW);

    Blinker.begin(auth, ssid, pswd);
    Blinker.attachData(dataRead);
    Button1.attach(button1_callback);
}

void loop()
{
    Blinker.run();
}
发表于 2020-7-13 16:04 | 显示全部楼层

肯定不会改错,几处的定义都替换
发表于 2020-7-20 00:53 | 显示全部楼层
为啥在回调函数里调用RCSwitch射频库发射不了,放loop里就可以,GPIO的灯亮了,说明是执行过的

if (state == BLINKER_CMD_ON) {
        digitalWrite(GPIO, HIGH)
        mySwitch.send(14112192, 24);
        BlinkerMIOT.powerState("on");
        BlinkerMIOT.print();

点评

回调中不能有耗时的操作,可能你用的库中有耗时的操作,如delay  详情 回复 发表于 2020-7-20 01:27
 楼主| 发表于 2020-7-20 01:27 | 显示全部楼层
极光ASLSE 发表于 2020-7-20 00:53
为啥在回调函数里调用RCSwitch射频库发射不了,放loop里就可以,GPIO的灯亮了,说明是执行过的

if (state  ...

回调中不能有耗时的操作,可能你用的库中有耗时的操作,如delay
发表于 2020-7-25 21:17 | 显示全部楼层
我复制的这个代码,为啥一直报错?

为啥一直报错

为啥一直报错

点评

向上滚动,看写有error的,就是报错信息  详情 回复 发表于 2020-7-25 21:54
 楼主| 发表于 2020-7-25 21:54 | 显示全部楼层
rubike 发表于 2020-7-25 21:17
我复制的这个代码,为啥一直报错?

向上滚动,看写有error的,就是报错信息
发表于 2020-7-31 15:18 | 显示全部楼层
您好,我这边路由器上面显示WIFIduino和手机都链接到路由器了,但是手机APP还是显示离线,串口监视器也有数据,请问这是什么情况呢?
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-11-28 03:52 , Processed in 0.133707 second(s), 21 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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