当前位置:首页 > 物联网 > IoT设计分享
[导读]亚马逊发布亚马逊ECHO语音控制扬声器已经快三年了,由于Alexa语音服务的惊人表现,扬声器的受欢迎程度继续飙升,而且该平台向开发者开放的事实导致了顶级电子制造商开发与Alexa兼容的设备,以及几家基于Alexa/亚马逊ECHO的科技初创企业的诞生。

亚马逊发布亚马逊ECHO语音控制扬声器已经快三年了,由于Alexa语音服务的惊人表现,扬声器的受欢迎程度继续飙升,而且该平台向开发者开放的事实导致了顶级电子制造商开发与Alexa兼容的设备,以及几家基于Alexa/亚马逊ECHO的科技初创企业的诞生。

市场上有许多启用Alexa的智能照明,但它们有点昂贵,所以在本教程中,我们学习使用ESP12E NodeMCU构建我们自己的Alexa控制灯。在这个Alexa控制的家庭自动化项目中,我们将使用ESP模块来模拟WeMo开关。

WeMo是Belkin公司开发的一系列物联网产品的名称,主要包括可以通过互联网从任何地方控制的WeMo交换机。因此,将任何交流设备与WeMo开关连接使该设备启用物联网。基于物联网的家庭自动化现在非常流行,我们以前使用不同的控制器(如树莓派,ESP8266, Arduino等)完成了许多物联网家庭自动化项目。

所需的材料

•NodeMCU ESP-12E(也可以使用ESP8266)

•继电器模块

•AC灯泡

•跳线

线路图

亚马逊Echo控制的家庭自动化设备连接如下:

这里两个继电器模块连接到NodeMCU来控制两个家用电器。适配器或5v AC - DC转换器提供的5v电源可用于为电路供电。我使用HiLink 5v SMPS提供电源。

整个装置组装在一个3D打印的盒子里,给它一个智能电器板的外观。有一个灯泡座和一个插座,可以为电视等电器充电。组装好的盒子如下图所示。

用Amazon Echo Dot控制NodeMCU的方法

有几种方法可以用来控制我们的ESP。下面列出了它们的特点

使用亚马逊Alexa技能:此方法适用于知道如何创建技能且需要AWS服务知识的开发人员。这是一个复杂而耗时的方法。

使用第三方服务:这种方法非常流行,我们已经使用过很多次了。使用第三方服务,如IFTTT,我们可以触发任何行动,每当我们收到来自Alexa的命令。这种方法很简单,但需要像Amazon Alexa + Webhooks这样的两种服务的集成。

使用已经建立的技能:Alexa技能商店中已经提供了一些智能家居技能。Sinric就是其中之一,它可以使任何设备成为自定义的Alexa智能家居设备。ESP板的库可在github上获得,并在Sinric网站上进行一些配置,我们可以使用Alexa控制我们的设备。但是ESP板的代码对于初学者来说很难理解,但它很容易使用。

使用虚拟交换机仿真库:Alexa内置了对philips Hue和Belkin WeMo等家用电器的支持。因此,一些开发人员模仿这些平台,并通过欺骗响应来开发自己版本的Phillips hue或WeMo,使其表现得像受支持的设备(如WeMo)一样。

在本教程中,我们将使用这种虚拟交换机仿真技术,因此让我们详细了解这种方法。

WeMo开关仿真使用亚马逊Alexa Echo Dot

WeMo设备使用UPnP(通用即插即用协议)在网络上发送和接收数据。我们可以使用Wireshark网络工具轻松跟踪设备与Wi-Fi网络之间的通信。WeMo设备与Echo dot扬声器通信时,Wireshark用于收集报文。开发人员发现,设备检测功能从Echo开始使用UPnP搜索WeMo设备。然后,设备通过UDP使用HTTP响应设备的URL。Echo请求设备以HTTP格式发送对自身的描述。

现在,Echo检测到设备并建立连接。Echo和WeMo通过HTTP连接并发出“SetBinaryState”(On/OFF)命令。然后WeMo接受该命令并通过HTTP发送确认。下面给出了使用Alexa模拟WeMo开关的完整流程图

现在,这些信息可以用来建立我们自己的WeMo虚拟云。因此,开发人员以同样的方式编写了一个脚本来模拟Phillips或WeMo设备,并且可以与任何ESP设备一起使用。

FauxmoESP库是其中一个易于使用和仿真菲利普斯器件的库。使用这个库,我们可以制作许多虚拟设备,并使用Alexa控制我们的设备。

因此,我们在这里使用虚拟交换机仿真技术,因为它易于实现,需要较少的编码。

下载和安装WeMo仿真所需的库

由于我们将在ESP上创建多个虚拟连接环境,因此我们需要安装fauxmoESP以及异步TCP库。

1. 对于ESP8266,从这个链接下载异步TCP库,对于ESP32,从这个链接下载它。

2. 然后从这个链接下载fauxmoESP库。

3. 现在,在Arduino目录的libraries文件夹中解压缩这些文件,该目录可以在Documents文件夹中找到。另外,将这些文件夹重命名为oseperez-fauxmoesp-50cbcf3087f至xoseperez_fauxmoesp,将espasynccp -master重命名为ESPAsyncTCP。

4. 在fauxmoESP中有一个用于控制设备的示例代码,我们必须修改这个示例。打开Arduino IDE并进入Examples -> FauxmoESp -> fauxmoESP_Basic。

在开始编码部分之前,请确保已经安装了ESP板文件。如果你没有板文件,然后按照我们之前的教程开始使用Arduino IDE的ESP。

代码及工作说明

在本教程的末尾给出了这个Alexa控制的家用电器的完整代码和工作视频,在这里我们解释了完整的程序,以了解项目的工作原理。

首先,包括ESP板和fauxmoESP的重要头文件。ESP8266和ESP32有不同的头文件,但在这个示例代码中包括两个库,因此此代码将适用于两个板。另外,定义继电器的引脚编号。

定义波特率115200和wi - fi ssid和Password。另外,为fauxmoESP创建一个实例fauxmomo,以便我们可以在代码中使用它。

为Wi-Fi设置一个单独的函数,以便它可以在void setup函数中调用。将WiFi模式设置为站模式,并在WiFi.begin()函数中传递SSID和Password。等待连接建立,显示ESP的IP地址。

在void setup()函数中,将波特率传递给serial。Begin函数并调用wifissetup函数。

默认继电器引脚为高或低。

现在,fauxmoESP必须创建自己的web服务器,为此在createserver函数中传递true,启用函数并将端口号设置为80。如果你在启用功能中设置false,那么它将阻止设备被发现和切换。

使用fauxmo.addDevice()函数添加设备。参数将是您的设备名称,您将使用它来要求Alexa打开/关闭它。

现在,当从Alexa接收到命令时,创建一个函数。在这个函数中,我们将比较字符串与设备名称是否匹配,然后根据给定的命令改变AC设备的状态。

同样,对第二个AC设备执行此操作。

在void loop()函数中,只需使用fauxmo检查来自Alexa服务器的传入数据包。handle函数,它将使用onSetstate()函数执行操作。

就是这样。

最后,按照上面所示的电路图连接电路后,将完整的代码(最后给出)上传到NodeMCU中。另外,请注意,NodeMCU和Amazon echo dot的Wi-Fi网络应该保持一致。

从Tools菜单中选择正确的单板和端口号,点击上传按钮。你可以在Arduino IDE中打开串行监视器,看看代码里面发生了什么。串口显示器波特率设置为115200。

测试Alexa家庭自动化系统

现在,试着说Alexa,发现设备。Alexa会回复说开始发现,我找到了两个设备,试着说“Alexa,打开卧室灯”。

或者,你可以在Alexa应用程序中发现这些设备。点击+号,然后发现设备。你应该看到两个装置,即卧室灯和电视。

现在我们准备测试我们的物联网Alexa家庭自动化系统。所以只要试着说Alexa,打开卧室灯,继电器应该就会打开。

现在说Alexa,关掉卧室灯,继电器一个要关掉。试着命令开/关电视。

您可以在串行监视器中看到设备的响应和状态。

因此,这就是如何通过使用ESP12E NodeMCU模拟WeMo交换机来制作基于物联网的Alexa控制的家庭自动化系统。

本文编译自iotdesignpro

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭