# 433MHz模块使用指南 ## 概述 本文档介绍如何使用ESP32上集成的RTM300-433M模块进行433MHz无线通信。该模块基于CMT2300A芯片,支持FSK调制,可用于各类433MHz无线设备的控制和数据接收。 ## 硬件连接 RTM300-433M模块通过以下引脚连接到ESP32: | 模块引脚 | ESP32引脚 | 功能描述 | |---------|----------|---------| | CSB | GPIO48 | 主片选(寄存器控制) | | FCSB | GPIO47 | FIFO片选(数据控制) | | SCLK | GPIO9 | SPI时钟线 | | SDIO | GPIO4 | SPI双向数据线 | | IO3 | GPIO37 | 接收中断引脚 | | IO1 | GPIO36 | 辅助状态引脚 | ## 功能特性 - 工作频率:433.92MHz - 调制方式:FSK - 数据速率:1.2Kbps - FIFO大小:32字节 - 通信方式:HTTP API接口 ## HTTP API接口 ### 1. 获取模块状态 ``` GET /api/rf433/status ``` **响应示例:** ```json { "ready": true, "version": "1.0.0", "mode": "receive" } ``` ### 2. 发送数据 ``` POST /api/rf433/send ``` **请求体:** ```json { "data": "A55A01020304" // 十六进制字符串 } ``` **响应示例:** ```json { "success": true, "length": 6, "message": "数据发送成功" } ``` ### 3. 设置接收模式 ``` POST /api/rf433/receive ``` **请求体:** ```json { "enable": true // true启用接收模式,false禁用 } ``` **响应示例:** ```json { "success": true, "mode": "receive", "message": "接收模式已启用" } ``` ### 4. 读取寄存器(调试用) ``` GET /api/rf433/register?addr=0x00 ``` **响应示例:** ```json { "address": "0x00", "value": "0x05", "description": "控制寄存器" } ``` ## 使用示例 ### Python测试脚本 项目根目录下提供了`test_433mhz.py`脚本,用于测试433MHz模块的基本功能: ```bash # 使用默认IP地址(192.168.1.3) python test_433mhz.py # 指定设备IP地址 python test_433mhz.py --ip 192.168.1.100 ``` ### 发送自定义数据 可以使用任何HTTP客户端(如curl、Postman等)发送自定义数据: ```bash curl -X POST http://192.168.1.3/api/rf433/send \ -H "Content-Type: application/json" \ -d '{"data": "A55A01020304"}' ``` ## 常见问题 1. **模块初始化失败** - 检查硬件连接是否正确 - 确认ESP32固件已正确烧录 - 重启设备尝试重新初始化 2. **发送数据失败** - 确认数据格式正确(十六进制字符串) - 数据长度不能超过32字节 - 检查模块状态是否就绪 3. **无法接收数据** - 确认已启用接收模式 - 检查发送设备是否工作在相同频率 - 确认发送设备与接收设备距离适当 ## 注意事项 1. 433MHz模块初始化在单独的任务中进行,不会阻塞主系统运行 2. 模块初始化有3秒超时保护,超时后系统会继续运行 3. 中断处理已优化,不会导致串口监视器卡顿 4. 使用433MHz功能时,请遵守当地无线电管理规定 ## 技术支持 如有问题或需要技术支持,请联系项目维护人员。