@[TOC]
系统总体说明
系统采用 “主从式架构” ,即一主多从式,该智能居家控制系统的主要功能包括登录功能、注册功能、音乐播放功能、时间显示、日历显示、温度湿度光照气压海拔数据等环境指标数据显示等。
该智能居家控制系统的软硬件环境如下:
硬件环境:
1. 主板:GEC6818开发板
2. 节点:STM32F103C8T6
3. 传感器:GY-39传感器(可测量温度、湿度、光照、大气压、海拔这五项环境信息)
4. 通信模块:LoRa无线通信模块
5. 外部设备:LED、蜂鸣器、显示屏等
软件环境:
1. 操作系统:Linux Ubuntu
2. 编程语言:C/C++
3. 开发工具:QT Creator、Makefile、GDB调试器
4. 数据库:SQLite
系统设计框架如下图:
值得注意:
1. 此处使用LoRa完成主板与从节点之间的通信只是一种通信示例,也可以使用蓝牙、ZigBee等方式完成中控系统与节点之间的通信;
2.本文中所展示的节点是STM32F103C8T6,但是节点的选型不仅于此,也可以使用其他型号的单片机。因为节点接入系统使用的是某种通信方式,如LoRa,它与节点本身的类型没太大关系;
3.系统获取的环境信息是温度、气压、湿度、光照与海拔,实际实现过程中也可以不选择这些指标作为中控系统的展示数据。
基于QT实现的智能家居中控系统,共有六个功能模块,分别为登录功能、注册功能、数据显示功能、音乐播放功能、时间日历显示功能、LORA通信功能,其功能框架图如下:
主板UI设计
系统的登录及注册界面借用了其他博主的设计样式,具体的登录界面UI设计:
注册界面的UI设计:
主界面的UI设计:
音乐播放界面的UI设计:
登录界面的UI的实际效果:
主界面UI的实际效果:
后续改进与完善
- 后续可以考虑添加视频播放功能或实时监控界面。可以使用Linux系统中的流媒体播放器mplayer来实现视频播放功能。
- 后续可以增加更多的外设控制系统,如风扇、舵机、红外对管传感器等,并采用一主多从的架构。这些外设应该连接到节点上,然后通过节点上的LoRa模块将数据传输至中控系统。
- 接入WIFI模块可以让我们远程管理中控系统,通过设计一个Web端或移动端应用程序即可实现。此外,WIFI模块的使用也可以让我们通过连接其他数据库来增强系统的功能。(小编强烈推荐)
- 可以完善用户管理体系,例如加入密码格式限制或支持使用手机号登录等。但小编认为这些功能对于中控系统而言并非主要业务部分。
- 可以将音乐播放功能和视频播放功能分别设计,并形成一个多媒体播放器。