Skip to content

示例49:433MHz 射频模块 ​

使用常见 433MHz OOK/EV1527/PT2262 类发射模块发送遥控编码,也可以把接收模块配置为电平监测输入或对码学习模式。FastBee 内置 RF_MODULE 外设类型,类型 ID 为 48,无需额外下载射频库。

📖 完整外设文档:433MHz 射频模块(含对码学习 API、事件联动、按键库管理)

接线 ​

模块引脚ESP32/ESP32-S3说明
VCC3.3V 或模块要求的电源按模块标称供电
GNDGND必须共地
DATA / DIN / ATADGPIO4 示例发射模式不能使用输入专用 GPIO
ANT天线建议接 17cm 左右导线或配套天线

接收模块使用 mode=1,DATA/OUT 接到一个可输入 GPIO。

先配置并启用mode=0的rf_tx_01发射外设,核验输出脚和供电;写入接口需要登录和开发模式。

外设执行发送 ​

新增外设执行规则,动作选择 调用其他外设,目标选择 rf_tx_01,动作值填写:

json
{"periphId":"rf_tx_01","action":"send","code":"0xA1B2C3","bits":24,"pulseWidth":350,"repeat":8}

code 支持十进制、0x 十六进制、0b 二进制。多数 433MHz 遥控器使用 24 位编码,先保持默认参数测试,无法触发时再调整 pulseWidth。

接收电平监测 ​

如果使用接收模块,可新增 mode=1 的 RF 外设:

json
{
  "id": "rf_rx_01",
  "name": "433M接收电平",
  "type": 48,
  "enabled": true,
  "pins": [16],
  "params": {
    "mode": 1,
    "activeHigh": true
  }
}

外设执行中使用 传感器读取:

json
{
  "periphId": "rf_rx_01",
  "sensorCategory": "rf",
  "dataField": "value",
  "sensorLabel": "射频电平",
  "unit": "",
  "decimalPlaces": 0
}

读取后会生成 ds:rf_rx_01_value,值为 1 或 0。

对码学习(接收模式) ​

启用 FASTBEE_ENABLE_RF_LEARN 后,接收模式自动支持 EV1527/PT2262 解码学习:

  1. 在外设编辑弹窗底部找到 RF 遥控管理 面板
  2. 点击 开始学习,在超时时间内按下遥控器按键
  3. 捕获成功后命名并保存到按键库
  4. 解码成功触发 rf_code_received 事件,可在外设执行规则中作为触发条件
json
{
  "name": "RF遥控开灯",
  "enabled": true,
  "triggers": [
    {
      "triggerType": 4,
      "eventId": "rf_code_received",
      "compareValue": "key:gate_btn"
    }
  ],
  "actions": [
    { "actionType": 30, "targetPeriphId": "led1" }
  ]
}

💡 compareValue 支持 key:名称(匹配按键库)或直接填写编码(如 0xA1B2C3),留空表示任意 RF 编码均触发。

调试接口 ​

http
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 保留脚。
  • 射频模块对供电和天线敏感,测试时先近距离验证,再调整天线和安装位置。
  • 不要连续高频发送,建议由外设执行规则按事件触发或低频定时触发。

蜂信物联 | fastbee.cn