步驟1:
您可以獲得許多不同的ESP8266開發板,我使用的是NodeMCU DevKit。 433mhz發射器和接收器是非常標準的,可以從ebay上購買。
ESP8266板
面包板制作電路
一些電線將其連接
第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秒鐘打開和關閉一次。證明有效。..
-
接收器
+關注
關注
14文章
2472瀏覽量
71913 -
發送器
+關注
關注
1文章
259瀏覽量
26823 -
電源插座
+關注
關注
0文章
71瀏覽量
12790 -
ESP8266
+關注
關注
50文章
962瀏覽量
45015
發布評論請先 登錄
相關推薦
評論