littlebot
Published on 2025-04-12 / 1 Visits
0

【源码】基于AVR单片机和RFM12模块的Foxtemp2016无线传感器

项目简介

本项目是一个开源的无线传感器系统,基于AVR单片机和RFM12无线模块构建,主要用于监测环境中的温度和湿度。系统采用SHT31传感器采集数据,通过RFM12模块将数据无线传输到接收设备。该设计具备低功耗特性,可仅依靠电池供电长时间运行,适用于家庭自动化、环境监测等场景。

项目的主要特性和功能

  1. 高精度传感器:采用SHT31传感器,温度测量精度达±0.3°C,湿度测量精度为±2% RH。
  2. 无线通信:借助RFM12模块实现无线数据传输,支持868 MHz频段。
  3. 低功耗设计:传感器待机时功耗极低,约0.06 mA,电池寿命可达数年。
  4. 电池电压监测:内置电压分压器,实时监测电池电压,保障设备正常运行。
  5. 看门狗定时器:使用看门狗定时器,确保系统异常时自动重启。
  6. 自定义传感器ID:每个传感器可配置唯一的8位ID,方便接收设备区分多个传感器。
  7. 开源软件支持:提供FHEM模块,支持与JeeLink接收设备集成,便于数据管理和可视化。

安装使用步骤

硬件准备

准备以下硬件组件: - JeeNode Micro v3(ATtiny84单片机模块) - SHT31传感器(Adafruit SHT31 breakout board) - RFM12B 868 MHz无线模块 - 2x AA电池及电池盒 - 电阻、电容等辅助元件

硬件组装

  • 将SHT31传感器通过3针排针连接到JeeNode Micro的VIN、GND和SCL引脚。
  • 使用电压分压器连接电池电压到PA2引脚,用于监测电池电压。
  • 将RFM12B模块与JeeNode Micro连接,确保天线正确安装。

固件编译与烧录

  • 使用AVR GCC和AVR-Libc编译工具链编译项目源码。
  • 通过ISP编程器将编译后的固件烧录到JeeNode Micro中。

接收设备配置

  • 使用JeeLink作为接收设备,并烧录支持自定义传感器的固件。
  • 36_Foxtemp2016viaJeelink.pm模块添加到FHEM系统中,并配置传感器ID。

测试与运行

  • 启动传感器和接收设备,确保数据能够正常传输。
  • 在FHEM系统中查看传感器数据,并进行必要的校准和调试。

注意:本项目涉及嵌入式系统开发,需要一定的电子和编程知识。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】