通过 Amazon Alexa 进行语音控制的遥控器





连接红外接收器




第一步是确定每个遥控器及其按钮发送哪些红外信号来与电视或空调进行通信。我们可以利用红外接收器/传感器来找到这些信号。
很多主流品牌(例如 LG 和松下)的红外码都可以在网上找到。如果您选择这样做,可以跳到步骤 4。
将红外接收器连接到您的 Arduino,如上图所示。
Arduino IDE和IRremote库

此步骤需要安装一个名为 IRremoteESP8266 的库,并且需要 Arduino IDE。如果您还没有 Arduino IDE,可以从此处下载 - https://www.arduino.cc/en/Main/Software。
安装 Arduino IDE 后,导航至以下链接并按照我们将要使用的 IRRemoteESP8266 库的安装说明进行操作 -https://github.com/markszabo/IRremoteESP8266
安装库后,导航到 IRremoteESP8266 示例文件夹(在安装 Arduino IDE 的任何地方都可以找到该文件夹)并打开 IRrecvDumpV2 文件夹;
Arduino > 库 > IRremoteESP8266 > 示例 > IRrecvDumpV2 > IRrecvDumpV2.ino
现在,打开 IRrecvDumpV2 文件 - 我们将在下一步编辑和上传此代码!
编码红外接收器




在代码中,确保将 recvPin 更改为用于将 IR 接收器连接到 ESP8266 的 recvPin(如果您按照上一步中的图表操作,则为 GPIO 引脚 2 或 D4)。
将 ESP8266 连接到您的计算机。
确保在 Arduino IDE 上选择了正确的开发板。您可以通过前往“工具”>“开发板”>“NodeMCU 1.0(ESP-12E 模块)”进行更改。
现在通过单击上传按钮将代码上传到您的 ESP866,这通常需要几秒钟。
上传后,打开串行监视器(工具>串行监视器)。
确保波特率设置为 115200。
收集红外代码

您现在可以按下遥控器上的按钮,红外接收器将在 Arduino IDE 串行监视器上显示独特的红外信号。
请注意,您已经获得了各种数据值(见上图),需要注意的重要事项是编码类型、代码、位数、uint64_t 值和 uint16_t rawData 值(即带有“0x”前缀的代码)。
记下所有这些值,注意遥控器上的每个按钮对应哪个代码。下一步我们会用到这些数据!
*确保获得几个一致的读数,因为可能会有干扰。
对于我的空调,我只能提取原始数据,但对于我的电视,我不仅提取了原始数据,还提取了有效的十六进制代码。您的数据可能包含不同的编码类型和代码。
测试红外信号





现在是时候看看你在上一步收集到的红外代码是否真的有效了!我们将把一个红外 LED 连接到 ESP8266,并发送我们在上一步解码的红外信号。你的电视/空调应该会像遥控器一样响应这些信号。
让我们首先将红外 LED 连接到 ESP8266,只需按照上图操作即可。
接下来,再次导航到 IRremoteESP8266 示例文件夹,然后打开 IRsendDemo 文件夹; Arduino > libraries >IRremoteESP8266 > examples > IRsendDemo> IRsendDemo.ino。
打开 IRsendDemo 文件并编辑代码,根据您的编码类型、位数(对于十六进制代码)和频率(对于原始数据)替换您的 IR 代码。
接下来要做的是上传您的代码并指向您的设备以获得响应。
如果您的设备正确响应红外信号,并且您对结果感到满意,请继续下一步,我们将对这些红外代码进行编码,以便 Alexa 将它们作为设备接收。
为Amazon Alexa编码




如果您正在阅读本文,那么您就快完成了!
首先要做的是从我的 github 下载代码 --> https://github.com/nugoo1/Alexa-IR-Remote
使用文件 Office_AC.ino(使用 rawData)和 Office_TV.ino(使用 32 位十六进制代码)作为示例。
编辑替换 Wifi 用户名和密码的代码。接下来,替换红外代码、端口号(请使用大于 1024 的端口)和设备名称。Alexa 会识别这些名称(但您以后可以随时在 Amazon Alexa 应用程序上编辑这些名称)。
您最多可以添加 10 个设备,添加更多设备时可能会出现一些问题。请确保为每个额外添加的设备添加唯一的回调和监听器。
将设备添加到 Amazon Alexa





现在打开您的 Amazon Alexa 应用程序。您应该能够发现所有新设备(红外代码)。
只需搜索新设备,它们就会弹出(见上图)。
现在,您拥有了专属的语音遥控器!您可以运用所学知识,通过 Amazon Alexa 对几乎所有带遥控器的设备进行语音控制。
瞧!
















