1.前言:
(资料图片仅供参考)
在信心化数字化高度发达的今天,各种监控、生产设备都逐步走向数字化。如何将数据及时准确地获取并能够被多种设备访问同时以直观地形式呈现,是当今数字化设备发展的重要命题。借助RT-Thread的实时操作系统以及OneNET物联网开放平台,我们能够将上述目标高效实现。
2.项目简介:
2.1. 项目名称:具备物联网功能的温湿度报警器
2.2. 设计思路:本项目使用RT-Thread系统和以STM32F407为主控的开发板“星火一号”,实现一个温湿度报警器,报警器通过wifi连接将数据上传至OneNET云端,实现数据可视化,并显示在LCD屏上。
2.3. 主要解决的问题:当下对智能家居设备需求不断增加,本组实现的集成化温湿度报警器通过配置物联网功能,有助于在实时监测家庭环境温湿度的同时,将数据进一步可视化,提升家用设备智能性和居住环境安全性。
2.4. 项目创新点:通过设备端传感器件和控制设备、显示设备的集成式直连,提高生活质量,降低运营成本和维护费用。
3.系统设计说明:
3.1 硬件部分:
星火一号主控选用了目前行业中比较常用且学习门槛较低的STM32F407,具有众多的板载资源(Flash 存储、WIFI 通信、多个传感器),支持丰富的扩展接口。使用外设资源如下: A. AHT20 温湿度传感器B. 19 灯等距全彩 LEDC. 蜂鸣器 D. 240x240 并行 LCD E. RW007 WIFI
3.2 软件部分:
4.项目实施过程
4.1. LED+蜂鸣器:
在RT-ThreadSetting中下载AHT10软件包,用于温湿度传感器并加入头文件"ath10.h"。在板载驱动选项中开启i2c3功能后即可;通过rt_thread_mdelay和rt_pin_write语句实现延时和引脚输入输出控制。通过aht10_read_humidity和aht10_read_temperatur语句读取湿度和温度。
4.2. LCD:
在程序中加入两个线程,一个用于接收传感器的数据,另一个用于把数据显示到LCD上;美观方面,显示图标。在网上下载图片,用工具转换成十六进制的数组然后在程序中用库函数输出到LCD上;个性化方面,为温度、湿度设置阈值。在main中定义几个函数,通过逻辑代码实现
4.3. OneNET及其数据可视化:
在RT-Thread Setting中下载rw007软件包,用于将星火一号开发板与wifi连接,在板载驱动对spi2使能完成配置。同时还需要下载onenet软件包,联网成功后通过mqtt协议将检测到的温湿度数据上传到onenet云端,并对采集到的数据进行处理,完成数据可视化。
5.项目效果展示
5.1 功能描述:
LED+蜂鸣器: 实现温度湿度后台终端实时显示,并可在温湿度达到设定阈值时通过LED和蜂鸣器实现报警;温度阈值为30摄氏度,湿度阈值为90%(两者同时超过阈值时,蜂鸣器长鸣同时LED红黄灯常亮;仅湿度超过阈值时,蜂鸣器双鸣同时黄灯双闪;仅温度超过阈值时,蜂鸣器单鸣同时红灯单闪;若都在正常范围内则红黄灯交替闪亮)。
LCD: LCD实时显示温湿度数据,并显示各自的图标;当温度和湿度都没有超过阈值,显示笑脸,代表舒适的状态,当温度超过阈值(30℃)一段时间(避免在阈值附近波动),显示hot和热的表情,当湿度超过阈值(70%)一段时间,显示wet和湿的表情。
OneNET及其数据可视化: 在RT-Thread Setting中下载rw007软件包,用于将星火一号开发板与wifi连接,在板载驱动对spi2使能完成配置。使用wifi join和wifi scan指令来完成联网操作。成功联网之后,我们需要将设备接到云端服务器进行数据传送。我们需要下载onenet软件包,联网成功后通过mqtt协议将检测到的温湿度数据上传到onenet云端,并对采集到的数据进行处理,完成数据可视化。使用onenet_mqtt_init以及onenet_upload_cycle指令,将温湿度数据上传到onenet,并将数据流进行可视化处理。
5.2 展示:
正常状态:红黄灯交替亮
过湿状态:黄灯双闪,蜂鸣器双鸣
过热状态:红灯单闪,蜂鸣器单鸣
OneNET物联网可视化
标签: