轻量级物联网智能家居控制系统设计

2020-02-25 07:53马照晨杨鹏宇吉海岩马衍民
关键词:串口指令智能家居

李 敏,马照晨,杨鹏宇,吉海岩,马衍民

(哈尔滨商业大学 计算机与信息工程学院,哈尔滨 150028)

从智能化家居产品理论提出到现在,各式各样、多种形态的智能化家居相关产品在国内外市场上出现,由于这些智能控制系统各自使用了不同的技术、采用了不同的系统结构和标准[1-4].但这些智能家居系统从被研发成功到进一步推向市场,其背后所隐藏的若干弊端便也随之显现.有些具有安装繁琐、操作相对复杂、灵活度不高、安装费用昂贵、维护所需专业性过强等若干因素,因此在国内的市场上,智能家居相关产品主要的受众群体还是高端用户及高档公寓[5-8].而对于市场上的大多数用户群体来说,由于现有的智能家居控制系统的种种弊端,导致其难以进入普通用户住宅,普通用户智能市场相对来说发展缓慢.因此,针对这些已经存在的问题,提出一种部署成本较低,更加灵活的轻量级智能家居控制系统具有重要意义[9].

通过分析不难看出,导致智能家居较难进入普通住宅的原因在于智能化产品的安装部署问题以及安装成本和维护成本等几个主要方面.现今市场上的部分产品为了解决安装和部署较为麻烦的问题,出现了采用无线技术作为解决方案的智能家居控制系统[10-15].例如:有基于蓝牙技术提供网络使用户进行操控的智能系统、也有基于Wi-Fi提供网络使用户进行控制的智能家居产品.但由于Wi-Fi技术和蓝牙技术仅限于近距离通信,因此存在传输距离相对较短、设备功耗相对较大等缺陷.[15]

本文在经过详细分析国内外已有成型产品的优缺点后,提出了一个功耗低、灵活性强且兼具扩展性的低成本轻量级智能家居控制系统,使得部署智能家居系统的成本进一步降低,为智能化进入普通用户家庭进一步降低了门槛.

1 系统架构

在智能家居相关产品的控制方面,主要有以下几种不同的控制方式:用户可通过连接了有线宽带或者无线网络的台式机或笔记本对本地家居电器进行控制、用户也可以通过不同的智能设备(如智能手机、平板电脑)借助web友好型的控制界面通过因特网进行控制.由于针对用户提供了较灵活的控制方式,因此简化了用户的控制过程.因此系统灵活度较强,从而在整体上增加了智能家居产品的体验舒适度.本文所设计系统的相关系统架构如图1所示.

2 硬件系统设计

本文所提出的控制系统的硬件系统一共由三部分组成,如图2所示,分别是局域网通信模块(即WIFI模块),STC主控模块以及设备控制模块.其主要工作原理是先进行控制系统初始化工作,即通过局域网通信模块使STC单片机控制模块连接网络,再由用户通过本系统所提供的多种控制方式中的任意一种下达控制指令,此时WIFI模块会捕获用户所发出的信息指令,并将其传送给STC单片机控制模块,STC通过对指令进行分析译码后,通过继电器对相应的智能设备下达代表某个功能的指令(如完成智能设备的开关控制或参数调节),以此便以STC为核心形成了一个串行的控制网络,达到了对该控制网络下所有智能设备的控制形成了一个整体.

图1 系统架构图

图2 硬件系统结构图

2.1 STC控制模块

控制模块作为核心主控芯片,其主要由STC15W4K32S4充当.该款单片机在功耗方面相对较低、抗干扰能力相对较强.且其内部集成了时钟并无需外接晶振电路.因此减少了程序编写的难度.由于其本身自带4组异步串行通信接口,因此在控制扩展和数据采集扩展方面具有相对较优的表现.围绕STC搭建服务器,以1号串口主要负责控制模块和通信模块之间的通信,服务器通过网络接收客户端传送的数据,将其进行数据分析、指令提取、解析指令后,通过所解析指令对应的操作进行统一运算处理并将控制指令通过继电器下达至相应设备,以此完成一次用户对相应智能电器的控制处理,表1给出SCON串口1控制寄存器,表2给出 AUXR辅助寄存器,表3 给出TH1/TL1用来保存计数器的初始值.

表1 SCON串口1控制寄存器

表2 AUXR辅助寄存器

表3 TH1/TL1用来保存计数器的初始值

2.2 通信模块

本套系统所采用的WIFI通信模块是ESP8266,由于其具有成本低廉、单片机兼容性较好、带有异步串行接口、允许透明数据传输等优点,因此以其作为WIFI模块.详细引脚如图3所示.该模块的组网模式一共有三种,分别是SoftAP、Station、SoftAp+Station,这大大增加了部署网络的灵活度.

图3 ESP8266详细引脚

2.3 设备控制模块

本模块主要由若干继电器组成,STC单片机控制模块将指令下达至本模块,本模块通过继电器将指令进一步下发至相应的智能设备,以此完成相应指令在智能设备上的执行.

3 软件系统设计

软件系统的设计主要分为两部分.第一部分是串口初始化.第二部分是通信模块初始化.

3.1 串口初始化设计

由于需要使用串口进行通信,因此还要进行一些串口相关的设置.

本文所使用的STC单片机带有四组串口接口,一共提供四种不同的工作方式,具体如表4.

表4 工作方式表

3.2 通信模块初始化设计

本系统所选择的是第三种组网模式SoftAp+Station.在硬件系统中,通信模块主要负责使单片机控制模块连接网络,完成WIFI信号与串口信号相互之间的转换,并进一步使用户端和服务器端的数据能够基于本模块,在相应的两端完成数据的处理.

4 软件系统实现

4.1 串口初始化实现

本系统中主要使用使用1号串口,用于STC与通信模块的通信.使用3号串口,用于STC与遥控模块之间的通信,在初始化阶段,仅需工作方式以及设置串口的波特率、串口中断即可.因此,首先要做的便是对两个串口全部进行初始化设置.大致分为以下几步:

1) 以方式1作为两个串口的工作方式;

2) 将WIFI模块与遥控模块的波特率都设置为9600;

3)将T2设置为通信模块串口和遥控模块串口共享;

4)设置串口1的SCON为0X50,串口3的SCON设置为0X10;

5)通过AUXR=0X15启动T2,并设置T2L计数器初始值为0XE0,T2H为0XFE;

6) 由于遥控模块仅需负责发送控制数据,因此仅需开启串口1的中断即可.

4.2 WIFI通信模块初始化实现

通信模块的初始化如下:第一步,为了能使STC控制模块能正确地对通信模块传输数据.首先需要设置ESP8266的工作模式,此处设为SoftAp+Station,即STC控制模块通过串口向通信模块发送信息“AT+CWMODE=3”;再进一步设置AP相关的各项参数(如名称和密码).STC控制模块发送信息“AT+CWSAP=“ESP”,“123””借助串口到通信模块.此时可通过“AT+CWJAP=”进而使用pwd指令连接,此过程中仅需发送SSID和密码即可.最后,将通信模块进行重新启动操作,设置成多连接后,再通过“AT+CIPSERVER=1,5000”,开启服务器并设置端口号为5000.即完成了WIFI通信模块的全部初始化工作.

5 结 语

本文在对国内外已有成型产品的优缺点分析的基础上,进一步提出了一个轻量级智能家居系统的设计原型,在描述了智能控制系统的整体运行过程的基础上,针对系统中涉及到的各个模块分析了其工作原理,最终实现了一个轻量级物联网智能家居控制系统设计.

猜你喜欢
串口指令智能家居
智能家居在室内设计中的应用研究
基于 Verilog HDL 的多周期 CPU 设计与实现
《单一形状固定循环指令G90车外圆仿真》教案设计
基于API函数库实现串口数据通信的分析与设计
基于EM9000工控板高性能双串口通信模型设计与实现
玩转智能家居,让Siri成为你的私人管家 Apple HomeKit
智能家居数据采集及应用研究
关于ARM+FPGA组建PLC高速指令控制器的研究
MCS—51单片机中的多串口通讯技术的应用
智能家居未来感初体验