基于STM32的物联网智能家居控制系统
来源:用户上传
作者:
摘 要:文章从物联网智能家居控制系统结构设计、智能家居系统总体结构、智能家居硬件设计、通信软件设计等方面论述了基于STM32的物联网智能家居控制系统设计方案。涵盖了控制系统的主要功能、实现方法、运行流程及编程软件。总结了软件通信、电路的相关特点和程序编写的优势。
关键词:STM32;Labview;智能家居;语音控制
中图分类号:TP273 文献标志码:A 文章编号:2095-2945(2020)27-0045-02
Abstract: This paper discusses the design scheme of the Internet of things smart home control system based on STM32 from the aspects of the structure design of the Internet of things smart home control system, the overall structure of the smart home system, the hardware design of the smart home, the communication software design, and so on. It covers the main functions, implementation methods, operation flow and programming software of the control system. The related characteristics of software communication and circuit and the advantages of programming are summarized.
Keywords: STM32; Labview; smart home; voice control
引言
随着5G时代的到来,万物互联离我们的生活也越来越近,人们的日常生活起居也越来越多的使用智能控制用来方便我们的生活,智能家居控制系统在人们日常生活的基础上,为人们提供更好的服务[1]。本设计的智能家居系统具有以下优势:研究目标为开发一个能为家庭所用的具备智能控制或离线控制功能的控制器,通过有线或无线设备组成的网络与各种信息传感设备连接[2],实时采集任何需要监控、连接、互动的物体或过程。其目的是实现物与物、物与人,所有的物品与网络的连接,方便识别、管理和控制。
1 系統设计
设计是基于STM32的智能家居控制系统,通过监视实时的温度(模拟量),湿度(模拟量),设备是否开启(开关量)等一系列可检测项目标准,能够通过控制器,进行实时操作(家用电器开关、关闭阀门等一系列控制),旨在达到智能控制的功能。
2 硬件设计
硬件系统主要包括:(1)中央处理模块;(2)通信控制模块;(3)人机界面;(4)电机驱动模块;(5)温度检测模块;(6)电源模块;(7)驱动单元。本设计主要的控制思路是中央处理模块开始工作,采集驱动单元的状态,其中驱动单元包括:(1)照明单元;(2)温湿度检测单元;(3)电动窗帘;(4)水阀开关,通过人机界面或者net平台来实现对驱动单元的检测与控制。硬件模块如图1所示。
控制系统的芯片采用STM32F103ZET6TR,以太网接口是一组包含8个孔的排针组成的,默认采用的是STM32的SPI3总线与Ethernet 模块进行通信。芯片最小系统板如图2所示。SPI3口相关的SCK、MISO两个引脚,与JTAG管脚有重复使用的地方。因此,为了能够正常使用SPI3总线,需要将STM32的在线调试与下载模式设置成SWD而非JTAG,这样可以预留出更多可用的GPIO口。
3 软件设计
基本原理:本项目采用的是LabVIEW软件编写,基本规则如下:利用LabVIEW的C代码生成技术将顶层的应用程序VI转换为Keil uVision可以进行编译的C语言代码。ARM 芯片的固件驱动程序和专用ARM内核设计,对硬件驱动VI进行优化,这些程序直接决定了后面选用ARM的可用率,同时这些软件也是应用层LabVIEW用户程序与底层硬件驱动之间的重要环节。
系统主要核心是STM32F103单片机芯片,系统初始化以后,通过控制器进行接收发送信号,对数据进行处理,通过人机界面,语音信号进行控制以满足客户需求,进一步实现对应功能。
智能家居控制板上电以后,系统开始可以调节水阀的开关,水阀是由直流电机控制,可以调节水阀的开度。客厅、卧室灯的亮灭,由STM32芯片I/O引脚组合控制,能够进行调色和开关设计,步进电机控制的窗帘开关,窗帘开关的幅度,可以手动控制,是开到最大还是调节到任意位置可以由手动调节,按照百分比进行设置。
4 软件通信
程序开始,先通过“LAN Card Init.vi”函数初始化 ENC28J60网络通信模块,设置MAC(0x04.0x02.0x35.0x
00.0x00.0x01);接着利用 “LAN IP Address Set.vi”函数将IP地址(192.168.1.16)、网关(192.168.1.1)、子网掩码(255.255.255.0)等信息写入到 ENC28J60 以太网控制器中;然后侦听本地端口(1200);最后在While循环中,每隔2000ms发送一次数据,并从接收缓冲区中读取100个字节的信息。
5 结束语
本项目在LabVIEW与STM32的基础上进行设计的,能够配合智能音响设备准确地控制家用电气设备,应用方便,相信随着控制器的不断发展,和通信的不断进步,智能家具领域的设备也会不断创新发展。
参考文献:
[1]王电令.STM32开发实战:LabVIEW卷[M].机械工业出版社,
2016:558-562.
[2]陈成瑞,王旭康.智能家居控制系统设计与实现[J].无线电工程,2020,50(5):411.
[3]陈瞳.基于单片机的智能家居照明控制系统设计[J].山西大同大学学报(自然科学版),2020,36(1):18.
转载注明来源:https://www.xzbu.com/1/view-15375032.htm