示例49:433MHz 射频模块
大约 2 分钟
示例49:433MHz 射频模块
使用常见 433MHz OOK/EV1527/PT2262 类发射模块发送遥控编码,也可以把接收模块配置为电平监测输入或对码学习模式。FastBee 内置 RF_MODULE 外设类型,类型 ID 为 48,无需额外下载射频库。
📖 完整外设文档:433MHz 射频模块(含对码学习 API、事件联动、按键库管理)
接线
| 模块引脚 | ESP32/ESP32-S3 | 说明 |
|---|---|---|
| VCC | 3.3V 或模块要求的电源 | 按模块标称供电 |
| GND | GND | 必须共地 |
| DATA / DIN / ATAD | GPIO4 示例 | 发射模式不能使用输入专用 GPIO |
| ANT | 天线 | 建议接 17cm 左右导线或配套天线 |
接收模块使用 mode=1,DATA/OUT 接到一个可输入 GPIO。
外设执行发送
新增外设执行规则,动作选择 调用其他外设,目标选择 rf_tx_01,动作值填写:
{"periphId":"rf_tx_01","action":"send","code":"0xA1B2C3","bits":24,"pulseWidth":350,"repeat":8}code 支持十进制、0x 十六进制、0b 二进制。多数 433MHz 遥控器使用 24 位编码,先保持默认参数测试,无法触发时再调整 pulseWidth。
接收电平监测
如果使用接收模块,可新增 mode=1 的 RF 外设:
{
"id": "rf_rx_01",
"name": "433M接收电平",
"type": 48,
"enabled": true,
"pins": [16],
"params": {
"mode": 1,
"activeHigh": true
}
}外设执行中使用 传感器读取:
{
"periphId": "rf_rx_01",
"sensorCategory": "rf",
"dataField": "value",
"sensorLabel": "射频电平",
"unit": "",
"decimalPlaces": 0
}读取后会生成 ds:rf_rx_01_value,值为 1 或 0。
对码学习(接收模式)
Standard 固件启用 FASTBEE_ENABLE_RF_LEARN 后,接收模式自动支持 EV1527/PT2262 解码学习:
- 在外设编辑弹窗底部找到 RF 遥控管理 面板
- 点击 开始学习,在超时时间内按下遥控器按键
- 捕获成功后命名并保存到按键库
- 解码成功触发
rf_code_received事件,可在外设执行规则中作为触发条件
{
"name": "RF遥控开灯",
"enabled": true,
"triggers": [
{
"triggerType": 4,
"eventId": "rf_code_received",
"compareValue": "key:gate_btn"
}
],
"actions": [
{ "actionType": 2, "targetPeriphId": "led1" }
]
}💡
compareValue支持key:名称(匹配按键库)或直接填写编码(如0xA1B2C3),留空表示任意 RF 编码均触发。
调试接口
POST /api/peripherals/write
Content-Type: application/x-www-form-urlencoded
id=rf_tx_01&code=0xA1B2C3&bits=24&pulseWidth=350&repeat=8注意事项
- 发射脚不要选 GPIO34-39 等输入专用脚,也不要选 Flash/PSRAM 保留脚。
- 射频模块对供电和天线敏感,测试时先近距离验证,再调整天线和安装位置。
- 不要连续高频发送,建议由外设执行规则按事件触发或低频定时触发。
