@[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模块的使用也可以让我们通过连接其他数据库来增强系统的功能。(小编强烈推荐)
- 可以完善用户管理体系,例如加入密码格式限制或支持使用手机号登录等。但小编认为这些功能对于中控系统而言并非主要业务部分。
- 可以将音乐播放功能和视频播放功能分别设计,并形成一个多媒体播放器。