smart-home/使用手册/手册指南/433MHz_使用指南.md

155 lines
3.0 KiB
Markdown
Raw Normal View History

2026-02-26 09:16:34 +08:00
# 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功能时请遵守当地无线电管理规定
## 技术支持
如有问题或需要技术支持,请联系项目维护人员。