## 项目简介
**基于ESP8266的RF射频网关**
本项目使用安信可ESP8266-12S/F模组制作RF射频网关。可对身边433/315非加密射频信号学习与发送,并且可通过手机端进行控制。目的是将这类射频升级为可远程控制的物联网设备。
面板打印地址:[https://dos.szlcsc.com/](https://dos.szlcsc.com/)
_**打板颜色:蓝色
厚度:1.2**_
_**附件包含外壳图纸,以及测试程序**_
## 项目功能
本项目具有自学习,远程控制等特点
1. 具有联网功能。
2. 具有433/315信号学习。
3. 具有模拟433/315信号发送。
4. 具有电源指示灯,网络指示灯,RF射频指示灯。
5. 具有可重置设备的按钮。
6. 具有手机端控制功能。
7. 具有web配网/smartconfig配网方案。
## 项目方案
通过项目功能,使用以下方案制作
1. 使用ESP8266连接路由器实现设备上云。
2. 使用蜂鸟无线 远-R1实现433/315信号学习。
3. 使用蜂鸟无线 远-T1实现433/315信号发送。
4. 使用3mm 插针式 LED灯表示电源(红),网络(橙),RF射频(翠绿)。
5. 使用侧面 圆形按键实现设备重置。
6. 手机端采用Blink点灯科技实现远程控制。
7. 使用web配网方案,实现SSID、PWS、秘钥填写。
## 项目说明
**重要说明事项**
### 发射信号天线选择:
1. 使用弹簧天线发射,焊接0欧姆电阻即可。(**注意天线频率**)
2. 使用SMA天线发射,焊接0欧姆电阻即可。

### 接收信号天线选择:
1. 使用弹簧天线接收,焊接0欧姆电阻即可。(**注意天线频率**)
2. 使用板载天线接收,焊接0欧姆电阻即可。(_推荐_)

### 射频信号选择:
1. 实现433信号发送选择 远-T1_433模块。
实现433信号接收选择 远-R1_V2.2模块。(**晶振频率为:13.52127**)
2. 实现315信号发送选择 远-T1_315模块。
实现315信号接收选择 远-R1_V2.2模块。(**晶振频率为:9.81563**)

### 烧录程序选择:
1. 使用板载CH340自动下载电路写入程序,焊接红框内元件即可。(_测试推荐_)
2. 使用预留外置下载器测试口(橙色框)。(_成品推荐_)

## 项目原理图
**项目原理图简介**

## 项目固件
**项目固件开发进度**
测试程序一下固件仅供测试使用,并非最终版本。
写好了会分享固件在下方的附件当中。
### 射频信号发送测试:
```
#include <RCSwitch.h>
RCSwitch mySwitch = RCSwitch();
void setup() {
Serial.begin(9600);
// Transmitter is connected to Arduino Pin #10
mySwitch.enableTransmit(5);
// Optional set protocol (default is 1, will work for most outlets)
// mySwitch.setProtocol(2);
// Optional set pulse length.
// mySwitch.setPulseLength(320);
// Optional set number of transmission repetitions.
// mySwitch.setRepeatTransmit(15);
}
void loop() {
/* See Example: TypeA_WithDIPSwitches */
mySwitch.switchOn("11111", "00010");
delay(1000);
mySwitch.switchOff("11111", "00010");
delay(1000);
/* Same switch as above, but using decimal code */
mySwitch.send(5393, 24);
delay(1000);
mySwitch.send(5396, 24);
delay(1000);
/* Same switch as above, but using binary code */
mySwitch.send("000000000001010100010001");
delay(1000);
mySwitch.send("000000000001010100010100");
delay(1000);
/* Same switch as above, but tri-state code */
mySwitch.sendTriState("00000FFF0F0F");
delay(1000);
mySwitch.sendTriState("00000FFF0FF0");
delay(1000);
}
```
### 射频信号接收测试:
```
#include <RCSwitch.h>
RCSwitch mySwitch = RCSwitch();
void setup() {
Serial.begin(9600);
mySwitch.enableReceive(0); // Receiver on interrupt 0 => that is pin #2
}
void loop() {
if (mySwitch.available()) {
Serial.print("Received ");
Serial.print( mySwitch.getReceivedValue() );
Serial.print(" / ");
Serial.print( mySwitch.getReceivedBitlength() );
Serial.print("bit ");
Serial.print("Protocol: ");
Serial.println( mySwitch.getReceivedProtocol() );
mySwitch.resetAvailable();
}
}
```

## 项目图片
**项目图片参考**






87
136
收藏到专辑