如何使用ESP8266通过433mhz发送器和接收器控制电源插座

电子说

1.3w人已加入

描述

步骤1:

您可以获得许多不同的ESP8266开发板,我使用的是NodeMCU DevKit。 433mhz发射器和接收器是非常标准的,可以从ebay上购买。

ESP8266板

用于arduino的433mhz射频发射器和接收器对

面包板制作电路

一些电线将其连接

第2步:从现有遥控器接收433mhz代码的Arduino草图

首先,您需要rc-switch库(感谢sui77提供此库和示例代码)。您可以从https://github.com/sui77/rc-switch

获得此功能,一旦安装了此功能,您只需加载名为的示例即可。 ReceiveDemo_Advanced 的。将此示例上传到您的ESP8266上后,您应该能够“嗅探”来自远程套接字随附的发送器的433mhz信号。

在Arduino IDE中打开串行监控器,然后按切换按钮在您的远程套接字随附的远程套接字上,您应该会看到类似以下内容:

Received 1394007 / 24bit Protocol: 1

这些是您需要注意的唯一真正的进口零件,并且需要将它们放入发送脚本中,以将相同的数据发送到远程套接字以打开。

然后对遥控器上的关闭按钮执行相同的操作,再次记下代码。

此库和接收器支持以下芯片组:

SC5262/SC5272

HX2262/HX2272

PT2262/PT2272

EV1527/RT1527/FP1527/HS1527

Intertechno插座

步骤3:如何将您的ESP8266连接到接收器

433mhz接收器仅需要3根电线,这些电线用于供电

因此,只需将接收器上的VCC和GND连接到ESP8266上的VIN和GND,并将接收器的数据引脚也连接到ESP8266上的所选GPIO。

在我的项目中,我使用了D3引脚,即GPIO0。

第4步:用于将代码发送到电源插座的Arduino Sketch

要发送只需使用以下草图,即可将代码发送到遥控器主插座,更改从接收器获得的十进制代码。

/*

Example for different sending methods

https://github.com/sui77/rc-switch/

*/

#include

RCSwitch mySwitch = RCSwitch();

void setup() {

Serial.begin(9600);

// Transmitter is connected to Arduino Pin #0

mySwitch.enableTransmit(0); // Optional set pulse length.

// mySwitch.setPulseLength(320);

// Optional set protocol (default is 1, will work for most outlets)

// mySwitch.setProtocol(2);

// Optional set number of transmission repetitions.

// mySwitch.setRepeatTransmit(15);

}

void loop() {

/* Same switch as above, but using decimal code */

mySwitch.send(1394007, 24);

delay(2000);

mySwitch.send(1394006, 24);

delay(2000);

}

步骤5:如何将ESP8266连接至发射器

将发射器连接到ESP8266也非常简单。再次只有3个连接,分别与接收器,VCC,GND和数据相同。

因此,只需将VCC连接到VIN,将GND连接到GND,然后将发送器上的Data引脚连接到GPIO

我使用的是GPIO0,它是D3引脚。

然后,一旦上传了草图,您应该会看到远程套接字每2秒钟打开和关闭一次。证明有效。..

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

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分