项目简介
该项目旨在设计和构建一个基于家庭物联网的温湿度检测系统,以提供家庭环境的温湿度监测和警报功能。通过传感器和互联网技术的应用,该系统可以实时监测家庭内部的温度和湿度,并向用户提供准确的数据和相应的警报。
(相关资料图)
硬件模块
Psoc6开发板:PSoC™ 62 系列是 Arm-Cortex-M4 和 Arm-Cortex-M0 的组合,具有单周期乘法的150-MHz Arm Cortex-M4F CPU(浮点和存储器保护单元),100-MHz Cortex M0+ CPU,带单周期乘法和 MPU,可编程数字和模拟资源以及一流的用于触摸的 CAPSENSE™ 技术。
蜂鸣器:阈值报警 aht10:采集温湿度数据 rw007:用于与温湿度传感器进行通信,上传数据 onenet:与rw007进行通信,用于数据存储
软件框架 RT-Thread实时操作系统:作为底层操作系统,RT-Thread 提供了实时调度、任务管理、设备驱动等功能,适用于嵌入式系统开发。
温湿度传感器驱动:您需要编写温湿度传感器的驱动程序,与传感器进行通信,并获取温湿度数据。这我们可以通过使用 RT-Thread 提供的软件包管理器来安装现有的传感器驱动包。
网络通信:您可以在 RT-Thread 上使用 TCP/IP 协议栈来实现网络通信功能。这样,您可以通过局域网或互联网连接到温湿度检测系统,远程访问和控制系统。
数据存储:您可以选择使用 RT-Thread 提供的文件系统来存储温湿度数据,也可以将数据存储到外部存储设备(如 SD卡)或云端数据库中。这里我们将数据存储到了云端数据库中,根据需求选择合适的存储方式并编写相应的存储逻辑。
事件处理和警报功能:您可以在 RT-Thread 上使用事件机制来处理温湿度超过预设阈值的警报。当温湿度超过阈值时,触发相应的事件,并发送警报通知。
调试与日志:RT-Thread 提供了调试工具和日志功能,方便您进行系统调试和错误排查。您可以在代码中插入日志语句以记录关键操作和错误信息,帮助您定位问题并进行修复。
功能特点
实时监测家庭环境的温度和湿度。
警报功能:当温度或湿度超过预设阈值时发送警报通知。 数据存储:将采集到的温湿度数据存储到数据库中。 远程访问与控制:支持通过网络远程访问并控制系统。
温湿度检测代码
// 配置传感器阈值 float threshold_temperature; //温度阈值50 float threshold_humidity; //湿度阈值60 aht10_device_t dev; rt_thread_mdelay(2000); // 启动温湿度检测系统 dev=aht10_init("i2c_bus_name"); if(dev==RT_NULL) { rt_kprintf("The sensorinitializes failure"); alert1(); //存在故障警示 } rt_thread_mdelay(1000); while (1) { hum=aht10_read_humidity(dev); rt_kprintf("humidity : %d.%d %%n",(int)hum,(int)(hum*10)%10); temp=aht10_read_temperature(dev); rt_kprintf("temperature: %d.%d C nn",(int)temp,(int)(temp*10)%10); rt_thread_mdelay(1000); //温度或湿度超过阈值,响铃警示,请采取措施! if(temp>threshold_temperature) { alert2(); } else if (hum>threshold_humidity) { alert2(); }
成果展示
终端显示验证
onenet平台远程访问屋内温湿度
待完善功能
LCD 显示模块:用于显示当前温度湿度以及其他设备状态信息。
存储模块:添加存储模块(如 SD 卡模块),可以用于记录历史数据。
电机驱动模块:配合风扇或加湿器使用,用于控制风扇速度或加湿器的工作模式,对屋内温湿度进行把控。
CapSense滑条:实现温度和湿度的调节按钮,设置目标温度和湿度。
标签: