ReedTripRadio 开源项目教程
1. 项目介绍
ReedTripRadio 是一个用于无线 433MHz 门/窗磁性传感器(reed sensors)的替代固件。该项目支持基于 STC15W101/104 8051 处理器的开发板,并配备了 SYN115 无线电发射器。ReedTripRadio 旨在提供一个开源的替代方案,以确认程序行为,因为 STC 微控制器不允许读取/验证已写入的固件。此外,一旦原始固件被覆盖,就无法重新刷写。
该项目的主要功能包括:
- 在磁性开关打开/关闭时发送无线信号(中断)。
- 在防拆开关打开/关闭时发送无线信号(中断)。
- 管理电源模式。
- 支持倒置协议。
- 能够指定传输协议的时序(例如 rc-switch)。
- 添加防拆关闭键。
- 添加磁性和防拆“触发”报警模式。
- 发送电池状态。
- 支持库存传输协议。
- 将数据包计数添加到传输的 RF 代码的高位。
2. 项目快速启动
2.1 环境准备
首先,确保你已经安装了适用于你平台的 SDCC(Small Device C Compiler)。然后,克隆以下仓库到你的本地环境:
# 克隆闪存工具
git clone https://github.com/grigorig/stcgal.git
# 克隆硬件抽象层
git clone https://codeberg.org/20-100/uni-STC.git
# 克隆 ReedTripRadio 项目
git clone https://github.com/mightymos/ReedTripRadio.git
2.2 编译和刷写
进入 uni-STC/demos/
目录,然后进入 ReedTripRadio
目录:
cd uni-STC/demos/
cd ReedTripRadio/
编译项目:
make
通过 USB 到 UART 模块刷写固件:
make upload
2.3 手动刷写(Windows 环境下)
在 Windows 环境下,可以使用以下命令手动刷写固件:
# 设置较低的波特率以避免刷写问题
~/stcgal/stcgal.py -p COM3 -l 1200 -b 1200 -t 24000 ReedTripRadio.hex
3. 应用案例和最佳实践
3.1 家庭自动化
ReedTripRadio 可以与 ESPurna 或 Tasmota 等家庭自动化系统集成。这些系统可以将无线传感器视为“虚拟”传感器,并在 Home Assistant 中显示为永久开关实体。此外,ESPurna 可以学习和记忆唯一的传感器代码。
3.2 安全监控
通过 ReedTripRadio,可以实现对门窗的实时监控。当传感器检测到门窗被打开或关闭时,系统可以立即发送警报信息,确保家庭安全。
3.3 节能管理
ReedTripRadio 还可以用于节能管理。例如,当门窗长时间未关闭时,系统可以自动发送提醒,避免能源浪费。
4. 典型生态项目
4.1 ESPurna
ESPurna 是一个基于 ESP8266 和 ESP32 的固件,支持多种传感器和执行器。通过与 ReedTripRadio 集成,ESPurna 可以实现对无线传感器的全面管理。
4.2 Tasmota
Tasmota 是另一个流行的开源固件,支持多种硬件平台。通过与 ReedTripRadio 集成,Tasmota 可以实现对无线传感器的实时监控和控制。
4.3 Home Assistant
Home Assistant 是一个开源的家庭自动化平台,支持多种传感器和设备。通过与 ReedTripRadio 集成,Home Assistant 可以实现对无线传感器的全面管理和自动化控制。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考