整体介绍
供水系统基于STM32H750芯片开发的,该系统的操作台主要有两个部分,一个是LCD触摸屏控制还有onenet云平台控制,该系统具有远程监测水位控制水泵的功能,适合一些养殖场或者种植场等一些灵活供水的场所。该系统可以远程无线控制实用性较强。
开发工具和环境
主控:STM32H750
外设:ESP8266WIFI模块,L298N驱动模块,AD采集
编程开发配置环境:RT-Thread Studio,STM32CubeMX,Env,Keil uVision5,TOUCHGFX
RT-Thread使用情况概述内核部分:调度器,信号量,消息队列。
调度器:创建多个线程来实现不同的工作。
信号量:用来同步线程。
消息队列:用来实现线程之间传递的数据。
软件包部分:
Webclient:提供设备与 HTTP Server 的通讯的基本功能。
pahomqtt,:本软件包是在 Eclipse paho-mqtt 源码包的基础上设计的一套 MQTT 客户端程序。
Onenet:是 RT-Thread 针对 OneNET 平台连接做的的适配,通过这个软件包,可以让设备在 RT-Thread 上非常方便的连接 OneNet 平台,完成数据的发送、接收、设备的注册和控制等功能。
cJSON:C语言实现的极简的解析 JSON 格式的软件包。
at_device:是由 RT-Thread AT 组件针对不同 AT 设备的移植文件和示例代码组成,目前支持的 AT 设备有:ESP8266、M26、MC20、RW007、MW31、SIM800C 以及 SIM76XX 系列设备等。
硬件框架软件架构
软件模块说明
创建了两个线程(一个用来AD采集另一个用来向ONENET上传数据),一个动态互斥量实现AD采集和ONENET上传数据线程的同步
作品照片
演示视频
比赛感悟
RT-Thread操作系统是我接触的第一个操作系统,通过这次比赛我第一次利用操作系统编写程序,在操作系统的框架下编写程序的逻辑性更加清晰程序运行时芯片的内存分配更加合理.
RT-Thread官网提供的资料非常丰富和全面,很适合新手学习,在此非常感谢RT-Thread平台为我们提供了一个这么好的平台。
1