0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何设置LED灯或5V继电器并使用亚马逊AlexaEcho和ESP8266控制它

454398 来源:工程师吴畏 2019-07-30 11:50 次阅读

软件要求

对于此项目,您将需要以下程序:

Arduino IDE(在此处下载最新版本)

NodeMCU

ESP8266板支持(NodeMCU)外,还应安装以下Arduino库(在库管理器中搜索或手动将文件夹放在Arduino/库中):

fauxmoESP

ESPAsyncTCP

ESPAsyncWebServer

连接和原理图

ESP8266

D1→LED/继电器

D2→按钮

编程Arduino

此项目的Arduino代码使用fauxmoESP库的示例草图,该库模拟Belkin WeMo设备。因此,配置家庭自动化开关遵循与商业设备完全相同的过程,这在Alexa应用程序中是轻而易举的。为了发现这个设备,我将我的设备命名为“光”。

请注意高电压:在确定继电器接线之前拔下所有电源插头。为了控制电路的交流部分,我使用的是5V继电器 - 只需中断220V电线,然后将剥开的端子插入常开和常开螺丝端子。 *请记住,如果您没有太多使用高压的经验,请找一个监督的人。

Arduino IDE配置

单击文件 - 》首选项

添加这个链接到附加URL板:

http://arduino.esp8266.com/stable/package_esp8266com_index.json

接下来,安装电路板文件并按照提及步骤进行操作。

工具→电路板→电路板管理器

搜索ESP8266和安装模块包。

选择您的电路板,如下图所示。

《二v》

然后,选择电路板端口。

选择端口后,编辑源代码并更改Wi-Fi名称和密码,如图所示:

Arduino代码

#include

#include

#include “fauxmoESP.h”

#include “ESPAsyncWebServer.h”

#include

#include

#define WIFI_SSID “” // Please Enter you Wifi name here

#define WIFI_PASS “” // Enter password here

#define SERIAL_BAUDRATE 115200

fauxmoESP fauxmo;

#define RELAY_PIN 5

const int buttonPin = 4; // the pin that the pushbutton is attached to

int buttonState = 0; // current state of the button

int lastButtonState = 0; // previous state of the button

// -----------------------------------------------------------------------------

// Wifi

// -----------------------------------------------------------------------------

void wifiSetup() {

// Set WIFI module to STA mode

WiFi.mode(WIFI_STA);

// Connect

Serial.printf(“[WIFI] Connecting to %s ”, WIFI_SSID);

WiFi.begin(WIFI_SSID, WIFI_PASS);

// Wait

while (WiFi.status() != WL_CONNECTED) {

Serial.print(“。”);

delay(100);

}

Serial.println();

// Connected!

Serial.printf(“[WIFI] STATION Mode, SSID: %s, IP address: %s ”, WiFi.SSID().c_str(), WiFi.localIP().toString().c_str());

}

void callback(uint8_t device_id, const char * device_name, bool state) {

Serial.print(“Device ”); Serial.print(device_name);

Serial.print(“ state: ”);

if (state) {

Serial.println(“ON”);

digitalWrite(RELAY_PIN, HIGH);

} else {

Serial.println(“OFF”);

digitalWrite(RELAY_PIN, LOW);

}

}

void setup() {

pinMode(RELAY_PIN, OUTPUT);

pinMode(buttonPin, INPUT_PULLUP);

digitalWrite(RELAY_PIN, LOW);

// Init serial port and clean garbage

Serial.begin(SERIAL_BAUDRATE);

Serial.println(“FauxMo demo sketch”);

Serial.println(“After connection, ask Alexa/Echo to ‘turn on’ or ‘off’”);

// Wifi

wifiSetup();

// Fauxmo

fauxmo.addDevice(“the light”);

fauxmo.onMessage(callback);

}

void loop() {

fauxmo.handle();

// read the pushbutton input pin:

buttonState = digitalRead(buttonPin);

// compare the buttonState to its previous state

if (buttonState != lastButtonState) {

// if the state has changed, increment the counter

if (buttonState == LOW) {

Serial.println(“on”);

digitalWrite(RELAY_PIN, HIGH);

}

else {

// if the current state is LOW then the button

// went from on to off:

Serial.println(“off”);

digitalWrite(RELAY_PIN, LOW);

}

// Delay a little bit to avoid bouncing

delay(50);

}

// save the current state as the last state,

//for next time through the loop

lastButtonState = buttonState;

}

现在是时候玩了!

上传代码后让您的Alexa发现新设备,它会检测到您的智能家居设备,即ESP8266。通过说“Alexa打开/关闭灯”来控制它。在这种情况下,Alexa可以是您的计算机或Amazon Echo。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 继电器
    +关注

    关注

    131

    文章

    5021

    浏览量

    146001
  • led灯
    +关注

    关注

    22

    文章

    1551

    浏览量

    107023
  • ESP8266
    +关注

    关注

    50

    文章

    946

    浏览量

    43917
  • Alexa
    +关注

    关注

    2

    文章

    193

    浏览量

    23144
收藏 人收藏

    评论

    相关推荐

    怎么通过esp8266控制继电器

    怎么通过esp8266控制继电器
    发表于 11-01 07:43

    带有Blynk和IR的Arduino ESP8266控制继电器

    电子发烧友网站提供《带有Blynk和IR的Arduino ESP8266控制继电器.zip》资料免费下载
    发表于 06-30 10:31 0次下载
    带有Blynk和IR的Arduino <b class='flag-5'>ESP8266</b><b class='flag-5'>控制</b><b class='flag-5'>继电器</b>

    ESP8266不足以为12V LED条供电要怎么解决?

    为 12V LED 条供电,但这对我来说现在不是问题. 我的目标是: - 无线板(ESP8266 因为这个原因很好) - PWM 引脚 - 5v
    发表于 06-02 14:09

    如何使用ESP8266控制12V LED带?

    12V 3A 电源供电,带有 ESP8266 电压转换器(设置5V)。 我的问题是,当我为系统供电时,我的输出引脚上有一个短的(100 毫秒)尖峰,导致
    发表于 05-30 11:41

    驱动12v继电器继电器通电时不工作怎么处理?

    ESP8266。 如果我没有为继电器提供 12V 电源,ESP控制工作正常,继电器模块上的
    发表于 05-25 09:03

    如何让ESP8266闪烁LED

    我想让我的 ESP8266 闪烁LED 。该项目类似于https://github.com/LiveSparks/Notification-Flag/,使用 IFTT 和 Dw
    发表于 05-22 07:14

    MB102无法为系统提供足够的电力导致ESP8266重置?

    大家好,我有一个 ESP8266 项目,该项目使用超声波传感器检测水位和一个 5V 继电器模块,该模块将为微型潜水直流水泵供电。没有泵连接到继电器模块,一切正常,我可以通过 Blynk
    发表于 05-12 08:10

    使用ESP8266Arduino打开/关闭继电器

    如果您打算在一定时间后关闭路由器,则需要一个继电器。您可以使用 ESP8266 Arduino 打开/关闭继电器
    发表于 05-11 07:58

    ESP8266节点单片机+继电器如何从同一来源加电?

    我在房子里散布了一些模块,每个 esp8266 节点 mcu 控制一个 5v 继电器板。每个继电器控制
    发表于 05-11 07:45

    为什么ESP8266会关机断开与WIFI的连接?

    一段时间后(比如 5-10 分钟),它会自动关闭(进入某种睡眠模式。LED 熄灭)。然后我必须重新启动整个东西使用重置引脚重置。 为
    发表于 05-11 07:31

    基于arduino用esp8266继电器实现小爱同学开关灯

    esp8266继电器实现小爱同学开关灯 房间的灯离床太远了,于是想到用esp8266配合点灯科技app来实现用小爱同学开关灯。于是就用小led灯做了测试。 这些是我们需要的材料 在
    发表于 05-04 11:15 1次下载
    基于arduino用<b class='flag-5'>esp8266</b>和<b class='flag-5'>继电器</b>实现小爱同学开关灯

    ESP8266控制继电器上电抖动

    这个小板子用的是GPIO 0 来控制继电器,但是发现ESP8266 有个bug,上电的时候他的GPIO 0会抖动一下,导致接到这个口的 继电器会跳一下。翻了一下网上的解决方案,大概有
    发表于 05-04 11:09 0次下载
    <b class='flag-5'>ESP8266</b><b class='flag-5'>控制</b><b class='flag-5'>继电器</b>上电抖动

    ESP8266 01S继电器控制智能灯实现

    实物连接方法 :220V接入LED灯,同时并联连220V转5V模块;5V出来给继电器供电,同时并联一个5V转3.3模块给
    发表于 04-27 11:31 5次下载
    <b class='flag-5'>ESP8266</b> 01S<b class='flag-5'>继电器</b><b class='flag-5'>控制</b>智能灯实现

    esp8266-01s控制继电器开关

    上一篇文章控制esp8266板上的LED灯点亮和熄灭,有人问了,我想用它控制继电器怎么办?在程序里面修改一下
    发表于 04-27 10:49 5次下载
    <b class='flag-5'>esp8266</b>-01s<b class='flag-5'>控制</b><b class='flag-5'>继电器</b>开关

    51单片机通过WIFI模块ESP8266控制四路继电器

    手机APP通过ESP8266 WIFI模块与51单片机通信控制四路继电器。下位机由单片机、ESP8266模块和继电器模块组成,上位机由And
    发表于 04-26 09:22 7次下载
    51单片机通过WIFI模块<b class='flag-5'>ESP8266</b><b class='flag-5'>控制</b>四路<b class='flag-5'>继电器</b>