【RT-Thread作品秀】基于RT-Thread的智能家居-物联网
作者:葫芦侠
概述(说明应用产生的背景、实现功能)
智能家居是在互联网影响之下物联化的体现。智能家居通过物联网技术将家中的各种设备连接到一起,提供家电控制、照明控制、电话远程控制、室内外遥控、防盗报警、环境监测、暖通控制、红外转发以及可编程定时控制等多种功能和手段。与普通家居相比,智能家居不仅具有传统的居住功能,兼备建筑、网络通信、信息家电、设备自动化,提供全方位的信息交互功能 。
本智能家居应用平台基于STM32F407和ESP8266为主芯片进行设计。主控平台以原子STM32F407开发板为核心,主要任务是通过以太网与设备节点和应用软件进行数据交互。
开发环境(所采用的软、硬件方案)
硬件:原子STM32F407探索者、ESP8266、S17021、DS18B20、LED、130电机
RT-Thread版本:rt-thread-3.1.4
开发工具及版本:MDK 5.31,VS CODE,Qt Creator 4.11.1,NetAssist 4.3.26, UartAssist4.3.25
RT-Thread使用情况概述(简要总结下应用中RT-Thread使用情况:内核部分、组件部分、软件包部分、内核、其他)
(1)、内核部分:调度器,消息队列。
调度器:创建tcp连接线程。
消息队列:用来实现线程之间的数据传递。
(2)组件部分:网络框架
网络框架:使用tcp/ip建立服务端,用于设备节点和上层控制软件接入。
(3)软件包:Cjson
硬件框架(概述应用所采用的硬件方案框图,并对核心部分做介绍)
- 硬件方案图
智能家居应用平台方案框图如下图所示。主要由三部分组成,分别是主控平台、节点平台和应用软件平台。
- 系统介绍
主控平台平台与各个节点主控通信,主控通过网络控制和获取各个节点设备数据和状态。上位机应用软件通过网络发送数据到主控,获取设备状态和进行设备控制。
软件框架说明(介绍应用所采用的软件方案框图、流程图等,并加以解说)
本项目采用的是STM32主控作为服务器,显示相关节点传感器数据。节点主控、上位机应用软件通过TCP/IP连接至主控。应用软件通过网络将指令发送到主控,主控将指令转发到节点主控,已达到设备控制。节点主控将采集到的数据通过网络发送到STM32主控,STM32显示相关数据,并将数据转发至上位机。
软件模块说明(介绍应用软件关键部分的逻辑、采用的实现方式等)
主控平台软件:
(1)4.3 TFFLCD
(2)界面设计使用SteamWin
(3)以太网
演示效果(演示效果请采用3张高清图片,并录制一段不少于1min视频解说应用所实现的效果,视频上传至B站或者腾讯视频或其他视频平台,给出链接即可
视频:
比赛感悟(可以围绕这次比赛学到了什么,克服了哪些困难,有哪些收获,不低于200字)
本次比赛发现自己的题目做大了,导致时间紧迫。需要完成STM32的代码,ESP8266代码,还有安卓代码。工作时,由于有大量的出差,导致项目一直不能按期推进。由于第一次使用rt-thread,调试多线程,网络、lcd显示花费大量时间。本来打算还要使用触摸屏,但是到最后发现时间已经不够了。由于屏幕使用了图片,下载调试速度慢,也花费了不少的时间。调试ESP8266使用vs code,编译下载特别慢,也花费了不少时间。三个平台之间的通信也是非常的耗费时间。
总之,作为一名技术人员,感觉调试花费的时间要比写代码花费的时间长。