
【RT-Thread作品展示】温湿度监测电路设计方案
5星
- 浏览量: 0
- 大小:None
- 文件类型:None
简介:
本项目提供了一套基于RT-Thread操作系统的温湿度监测电路设计方案,包括硬件选型、软件架构及代码实现等内容。
【RT-Thread作品秀】温湿度监测设计
作者:Star.Water
概述产生背景:
当前的温湿度监控设备大多只能显示实时环境参数,并不能查看历史记录或曲线图,无法直观地展示温度和湿度的变化情况。因此本次设计旨在开发一款可以同时显示当前数据及历史变化趋势的产品。
实现功能:
仪表盘上会实时更新并显示当前的温度与湿度;此外还提供一个图表界面用于展示过去的数据信息。
硬件环境:
使用ART-Pi平台,搭载RT-Thread操作系统版本为rt-thread-v4.0.2。开发工具采用MDK5.21。
移植了RT-Thread到STM32H50,并设置系统滴答时钟以产生每毫秒一次的中断来驱动RTOS。
#define RT_HEAP_SIZE (1024*40) // 定义堆大小为 40KB
#define RT_MAIN_THREAD_STACK_SIZE 1024 // 主线程栈空间大小设为 1K 字节
其他配置沿用默认硬件框架,其中ART-Pi与STM32L4开发板均运行RT-Thread操作系统。通过串口通信实现数据传输。
传感器参数采集由阿里云的stm32L4开发板负责,并将收集到的数据记录写入SD卡中。
屏幕部分采用10*10以内的转接板,参考正点原子和野火的设计方案自行绘制电路图并通过嘉立创打样完成。考虑到显示屏尺寸为 180mm * 100mm ,因此使用了三块小板拼接而成。
软件框架说明:
RT-Thread通过系统滴答定时器产生每毫秒一次的中断来驱动;LVGL则利用定时器3实现相同功能。
各个线程资源分配如下:机智云WIFI远程遥控和传感器参数采集在STM32L496板子上完成。
软件模块说明:
ART-Pi与STM32L496之间的通信采用了自定义协议,该协议要求包头及尾部均需进行双字节验证以减少传输错误的概率;同时每一帧数据的结尾都会附加16位校验值来确保在受到干扰时仍能正确发送参数。
使用过程中发现RT-Thread中的printf和sprintf函数功能不全,无法支持类似%0.2这样的格式化选项用于指定小数点后的精度。
调试阶段主要依赖于VS2017环境进行LVGL的初步设置,在完成电脑端测试后迅速移植到单片机上运行。
比赛感悟:
一直以来都有计划自己编写一个LVGL项目,但由于白天工作晚上还要照顾孩子而没有足够的时间。借助这次比赛的机会给自己施加了一定压力,并且通过每天加班努力学习掌握了基本操作。
RT-Thread是一款非常容易进行移植的实时操作系统,仅需一个中断即可驱动整个系统运行;同时其软件包也非常实用,在未来的学习过程中一定要加以利用。尽管此次因为时间紧迫仍然使用MDK开发环境并手动移植了RTT,但还是决定以后要多尝试其他工具和方法。
虽然在功能实现方面还有一些设想未能完成,但是会继续努力改进和完善现有设计。
非常感谢RT-Thread提供的参赛机会,在这次比赛中不仅学到了很多知识也更加深入地了解了该操作系统。尽管比赛即将结束但在技术学习的道路上永远不会停下脚步!
全部评论 (0)


