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。

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

    关注

    132

    文章

    5322

    浏览量

    148677
  • led灯
    +关注

    关注

    22

    文章

    1592

    浏览量

    107880
  • ESP8266
    +关注

    关注

    50

    文章

    962

    浏览量

    44875
  • Alexa
    +关注

    关注

    2

    文章

    196

    浏览量

    23290
收藏 人收藏

    评论

    相关推荐

    esp8266加入到c51单片机单通道程序怎么写

    要将ESP8266模块加入到C51单片机的单通道程序中,您需要了解如何通过串行通信(UART)与ESP8266进行通信。以下是如何实现这一点的步骤和示例代码。 步骤 1:硬件连接 首先,您需要
    的头像 发表于 10-18 11:32 427次阅读

    ESP8266 太空人动画的 OLED 显示

    ESP8266 太空人动画的 OLED 显示
    的头像 发表于 10-08 15:06 228次阅读
    <b class='flag-5'>ESP8266</b> 太空人动画的 OLED 显示

    ESP8266 通过 MQTT 协议实现 LED 的远程控制

    本文简要介绍了搭建 EMQX 服务器实现基于 MQTT 协议远程控制 NodeMCU ESP8266 板载 LED 的解决方案。
    的头像 发表于 09-25 09:11 1831次阅读
    <b class='flag-5'>ESP8266</b> 通过 MQTT 协议实现 <b class='flag-5'>LED</b> 的远程<b class='flag-5'>控制</b>

    esp32和esp8266代码共用吗

    本文将介绍ESP32和ESP8266两款流行的微控制器在代码共用性方面的可能性与差异性。 一、引言 随着物联网技术的飞速发展,越来越多的智能设备开始进入我们的生活。其中,ESP32和
    的头像 发表于 08-19 18:23 1026次阅读

    esp8266esp32区别是什么

    以下是关于ESP8266ESP32的主要区别: 处理器和架构 : ESP8266 :使用一个Tensilica L106 80MHz的处理器,属于Xtensa架构。 ESP32 :使
    的头像 发表于 08-19 18:16 4689次阅读

    esp8266不烧录可以使用吗

    Systems推出的低成本、低功耗的Wi-Fi模块。基于Tensilica L106微处理器,具有32位处理能力,最高频率可达160MHz。ESP8266具有丰富的外设接口,如GPIO、ADC、PWM等
    的头像 发表于 08-19 17:28 672次阅读

    esp8266wifi模块怎么连接手机

    ESP8266 : 使用USB转TTL模块将ESP8266模块与电脑连接。 通过串口调试助手发送AT指令配置ESP8266,包括设置WiFi模式为STA模式(客户端模式),连接指定的W
    的头像 发表于 08-19 17:27 2363次阅读

    ESP8266控制继电器,芯片会频繁复位的原因?

    事情是这样的,我们通过8266控制继电器8266的电源是220V转3.3V
    发表于 07-19 10:51

    请问ESP8266如何在UDP中设置本地端口?

    我正在尝试使用 AT 命令制作 Access Point UDP 服务器。 简而言之,它有效,但我无法控制ESP8266本地端口,因为它是由芯片随机设置的。 我想创建一个具有已知固定端口的服务器
    发表于 07-15 08:31

    ESP8266网络天气时钟OLED显示

    基于ESP8266实现网络获取天气和时钟OLED显示
    的头像 发表于 06-28 04:46 1022次阅读
    <b class='flag-5'>ESP8266</b>网络天气时钟OLED显示

    5V电磁继电器的基本结构和工作原理

    在电子设备和自动化控制系统中,继电器是一种不可或缺的电气控制元件。其中,5V电磁继电器以其低功耗、高可靠性和广泛的应用范围,成为了众多工程师
    的头像 发表于 05-23 16:09 1200次阅读

    国产低成本Wi-Fi SoC解决方案芯片ESP8266ESP8285对比差异

    ESP8266ESP8285对比差异 ESP8285相当于在ESP8266基础上多加了1/2MB Flash, ESP8285与
    的头像 发表于 05-17 11:44 1215次阅读
    国产低成本Wi-Fi SoC解决方案芯片<b class='flag-5'>ESP8266</b>与<b class='flag-5'>ESP</b>8285对比差异

    使用Wi-Fi ESP8266方案模组接入云平台

    ESP8266的模块芯片是基于无线通信协议的UARTWi-Fi透传模块芯片,支持802.11b/g/n的无线标准,带有三种可选择的工作模式。ESP8266模块的控制是通过AT指令的形
    的头像 发表于 05-10 08:20 1775次阅读
    使用Wi-Fi <b class='flag-5'>ESP8266</b>方案模组接入云平台

    32无法正常控制继电器开关水泵电机

    按键控制103c8t6的一个io口驱动继电器开关,继电器是高电平触发方式,供电是5v继电器控制
    发表于 02-29 15:47

    ESP8266实现TCP控制LED设置WIFI密码

    =089e9c9189991f80be4b4886098da65b#reply151108474896 代码main.py,通过网页把传入ESP8266 micropython固件中即可。如何传输自行查找资料吧。本人也忘记如何传输了。本文只是为了记录一下曾经写过的代码
    的头像 发表于 01-08 09:49 1739次阅读