APP下载

基于STM32在智能家居的开发应用及利用

2020-04-07程鹏内蒙古工业大学

数码世界 2020年3期
关键词:开发板智能家居客户端

程鹏 内蒙古工业大学

现代智能家居已经逐渐进入市场,智能家居对提升人们的生活质量有重要的作用,成为关注的热点。信息化时代下,人们不仅关注住宅的周边环境、居室面积、交通等,也更加关注安全防范、信息服务、外界沟通等要求。智能家居应运而生。利用智能家居系统,能够实现自动控制、安全防范等。通过不同的家居方式,以及系统功能,可以对家庭日程事务、住宅的日常事务进行管理,使人们的生活更加舒适、便利、安全。现代智能手机使用普遍,本文设计可以登录手机客户端的智能家居控制系统,实现家居的安全管理。

一、系统架构

本次研究设计的智能家居系统,主要架构包括Android 手机客户端监控界面、WiFi 通信、单片机 STM32 开发板。使用单片机STM32开发板进行设计,采集视频监控、环境监测、灯光照明控制等数据信息。通过手机连接 WiFi,传输数据,远程监控各个模块。

图1 系统框架

(一)硬件设计

本次设计使用STM32开发板,系统主处理器使用STM32F103。微控制单元应用STM32F103ZET6。接口包括无线模块接口、摄像头接口、温度传感器接口、湿度传感器接口等。STM32开发板接口位置合理,灵活方便。接口可以进行各种外设的实验。并且主芯片能够满足大数据存储的需求。

使用开发板上现有的两个 LED 灯,模拟实现智能家居中灯光的控制。

考虑室内温度、湿度影响生活舒适度,设置环境监测模块,数据采集应用DHT11传感器。

设置视频监控模块,方便用户实时监控家居情况。其视频数据的采集应用OV7670摄像头。

单片机上各功能模块需要与手机 APP进行数据传输,因此需要WiFi模块。WiFi模块能够及时、高效地进行数据传输。硬件采用ATK-RM04 WiFi 模块,采用串口与 MCU 通信,能够转换无线网、以太网、串口。不需要改变单片机开发板的任何配置,利用ATKRM04 WiFi模块,就可以与WiFi模块连接,采集视频、温度、湿度等数据。

(二)软件设计

本次设计中的编程、仿真和调试,应用Keil 软件。软件设计主要是各个功能模块。通过软件设计,能够实现视频监控、温度监测、湿度监测、灯光照明控制等。如下图,为软件设计流程图,首先要初始化系统。然后进入检测函数,采集视频数据、湿度数据、灯光情况数据、温度数据等。最后进行传输。

图2 软件设计流程图

环境监测模块的软件设计,就是要采集和传输湿度数据、温度数据。应用DHT11数字温湿度传感器,单个数据引脚端口,进行双向传输。先初始化设置传感器。检测不到 DHT11 的存在,返回0。检测到存在,返回 1。然后读取 DHT11 的湿度数据、温度数据。依据单总线操作时序。如果读取失败,返回 1。如果读取成功,返回 0。成功初始化后,每个100 ms读取一次数据,然后传输,在显示屏上显示相应的数据。

通过设计视频监控模块的软件,能够显示视频、传输视频数据、采集视频数据等。先将OV7670 相关的 IO 口进行初始化,再寄存器序列初始化。然后采集视频图像。利用JPEG 压缩,原始图像数据可以实时播放给客户端 APP。为保证视频传输的质量,应用层使用TRTP /RTCP 协议。网络层、传输层使用TCP/IP 协议。对客户端APP的请求进行监听,从而实现网络交互。

设计灯光照明模块的软件,控制灯光的亮灭。主要是两个 LED灯的熄灭。先将LED 灯连接的硬件接口初始化,再进行高低电位的控制,对灯光亮灭进行控制。

(三)监控界面设计

本次设计中,开发Android 手机客户端APP,应用Java 语言,设计监控界面。监控界面中,包括温度和湿度控制模块、灯光控制模块、视频监控模块等。手机 APP作为客户端。传统的 C/S架构,为智能家居应用系统。服务器端为嵌入式硬件。使用流程主要是,先将用户界面初始化,再请求访问服务器。成功响应后,在用户界面上会显示数据。

图3 模块实现流程图

客户端访问服务器的数据传输,使用底层 Socket,可以节省流量,而且把控细节。网络请求需要耗费时间,利用JAVA回调机制,设置子线程在客户端,向服务器发送数据,再回调处理响应的数据。如果在主线程中,直接请求网络,容易导致阻塞。

设计完手机APP 的程序,可以根据显示设置,实现各项功能的操作。将单片机上的 WiFi模块连接后,APP客户端和单片机可以传输数据。通过各个功能模块的实际情况,可以了解家居的实时情况。

二、系统测试

本次基于STM32开发板,设计智能家居控制系统,应用手机客户端 APP,WiFi 模块、视频监控、灯光模块、湿度模块、温度模块等,实时了解和控制用户的家居情况。进行系统测试,验证系统的稳定性和有效性。通过 I/O 口,将单片机与WiFi模块、OV7670摄像头、DHT11 温湿度传感器进行连接。程序代码到STM32单片机开发板上。打开手机APP,输入IP地址,连接WiFi。接入成功后,检测灯光、视频、温湿度控制等情况。结果显示,系统运行良好。如下图所示,为系统执行后的结果,符合智能家居控制系统的设计要求。

图4 监控结果

三、结语

本次研究基于 STM32,设计智能家居控制系统,通过 WiFi通信技术,对环境检测模块、灯光照明模块、视频监控模块进行远程控制,满足智能家居的基础功能。并且操作简单,成本低廉,具有良好的实用性。

猜你喜欢

开发板智能家居客户端
你的手机安装了多少个客户端
“人民网+客户端”推出数据新闻
——稳就业、惠民生,“数”读十年成绩单
智能家居在室内设计中的应用研究
智能家居行业仍无“独角兽”
基于STM32H7的FDCAN通信系统设计与实现∗
开发板在单片机原理及接口技术课程教学中的应用
基于Zigbee的智能家居系统的研究
智能家居未来感初体验
媒体客户端的发展策略与推广模式
ARM宣布mbed Enabled Freescale FRDM—K64F开发板通过微软认证