电子说
步骤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秒钟打开和关闭一次。证明有效。..
全部0条评论
快来发表一下你的评论吧 !