ESP8266继电器没反应-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

12
返回列表 发新帖
楼主: chengliang7851

[已解答] ESP8266继电器没反应

[复制链接]
发表于 2020-2-23 02:37 来自手机 | 显示全部楼层
开发板错误的问题,我已经解决了,可以看看我的帖子,
发表于 2020-2-23 15:32 | 显示全部楼层
查看了一下,是继电器模块的控制方式不同造成的。在网上搜到了你的这款继电器模块,是带芯片的需要通过串口发送十六进制指令控制。这个程序只是控制引脚高低电平变化,所以没法控制你这个继电器。
方法一:查看模块说明书,将程序中控制引脚高低电平变化的代码换成通过串口发送对应十六进制指令(我查到的是这个指令,A00101A2打开继电器,A00100A1关闭继电器,指令的格式为十六进制(hex))。
方法二:(有点粗暴)找到模块中继电器的信号引脚,用飞线将它与8266的IO0引脚连接起来,程序不变。(但是3.3V的电压不一定够)
方法三:重新淘一个继电器模块。
发表于 2020-2-27 22:07 | 显示全部楼层
同样的问题,楼主解决了吗
发表于 2020-2-28 09:33 | 显示全部楼层
#define BLINKER_WIFI
#define BLINKER_MIOT_OUTLET

#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";

bool oState = false;

void MIOTPowerState(const String & state)
{
    BLINKER_LOG("need set power state: ", state);

    if (state == BLINKER_CMD_ON) {
        digitalWrite(LED_BUILTIN, HIGH);

        BlinkerMIOT.powerState("on");
        BlinkerMIOT.print();

        oState = true;
    }
    else if (state == BLINKER_CMD_OFF) {
        digitalWrite(LED_BUILTIN, LOW);

        BlinkerMIOT.powerState("off");
        BlinkerMIOT.print();

        oState = false;
    }
}

void MIOTQuery(int32_t queryCode)
{
    BLINKER_LOG("MIOT Query codes: ", queryCode);

    switch (queryCode)
    {
        case BLINKER_CMD_QUERY_ALL_NUMBER :
            BLINKER_LOG("MIOT Query All");
            BlinkerMIOT.powerState(oState ? "on" : "off");
            BlinkerMIOT.print();
            break;
        case BLINKER_CMD_QUERY_POWERSTATE_NUMBER :
            BLINKER_LOG("MIOT Query Power State");
            BlinkerMIOT.powerState(oState ? "on" : "off");
            BlinkerMIOT.print();
            break;
        default :
            BlinkerMIOT.powerState(oState ? "on" : "off");
            BlinkerMIOT.print();
            break;
    }
}

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

    Blinker.vibrate();

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

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

    #if defined(BLINKER_PRINT)
        BLINKER_DEBUG.stream(BLINKER_PRINT);
    #endif

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

    Blinker.begin(auth, ssid, pswd);
    Blinker.attachData(dataRead);

    BlinkerMIOTattachPowerState(MIOTPowerState);
    BlinkerMIOT.attachQuery(MIOTQuery);
}

void loop()
{
    Blinker.run();
}
发表于 2020-3-2 16:29 | 显示全部楼层
兄弟,我也是这个代码,爆改车间的对不,怎么我连蓝灯都点不亮,只有点灯APP看到在线,你改过代码吗?
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-12-1 03:06 , Processed in 0.071175 second(s), 14 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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