APP下载

基于手机APP和单片机的智能家居控制系统

2020-02-04谢积锦

电子技术与软件工程 2020年12期
关键词:安卓温湿度智能家居

谢积锦

(北部湾大学钦州市大数据资源利用重点实验室 广西壮族自治区钦州市 535011)

1 引言

伴随着现代科技的层出不穷,移动设备更新换代,极大的方便了人们的交流,智能家居系统通过物联网平台,利用通讯和传感技术[1],使我们用手机就可以查看和控制家庭的环境和设备。远程的智能家居控制系统提高了人们的生活质量,有效的避免了资源的浪费,极大的方便了人们的生活。

本文将物联网中的云平台引入智能家居控制系统,然后使用手机安卓APP 访问物联网云平台或者向物联网云平台发送指令[2],最后由物联网云平台向下位机发送指令或者接收家居环境数据,做到实时监控家庭中的情况。本文智能家居系统需要解决如下三大问题:

(1)下位单片机控制系统能够准确的采集到户主家庭中的湿度数值、温度数值、光照强度数值等主要环境信息;

(2)下位单片机控制系统能够使用无线Wi-Fi 模块与物联网云平台服务器通讯,云平台不仅可以接收单片机控制系统采集的环境数据信息也可以反过来向单片机控制系统发送数据;

(3)安卓手机可以读取云平台的来自家庭单片机控制系统收集读取的环境数据还可以向云平台发送控制指令,进而可以实现家居的智能远程监控。

2 智能家居控制系统硬件设计

2.1 系统框架

本文设计的家居系统总体框图如图1 所示,包括主副单片机,Wi-Fi 通信模块,温湿度及燃气检测模块、驱动电机模块、灯光继电器模块、云平台和安卓系统,系统的最大特点是:家居主单片机配有显示控制屏可以本地操作,还可以通过云平台利用手机APP远程操控,两种方式无缝通信。

系统采用主控制和副控制两个控制器,两个控制器的功能不同,主控制负责发送控制指令和显示家庭主要情况,是人与家庭控制系统交互的窗口;副控制负责接收安卓设备指令和主控制的指令实现控制家庭电器设备及监控家居环境,两个控制器使用串口通信实现数据指令的传送。在STM32 主控器中,嵌入UCOSIII 操作系统和emWin 图形GUI,采用多任务控制的方式使系统控制更加简便清晰,控制界面更加友好。

2.2 STM32主副单片机控制器

STM32F103 是属于中低端的32 位ARM 微控制器[4],该芯片是ST 公司出品,其内核是Cortex-M3,用户可以很方便的开发,SM32F1 有很多优点:

图1:系统设计框图

(1)STM32F1 单片机拥有非常丰富的外设,芯片内部集成了诸如:USART、I2C、SPI、ADC、DAC、PWM 等外设,使用起来非常方便;

(2)STM32F1 单片机价格尤为低廉,本设计使用它可以节省家居系统的成本;

(3)实时性非常好,中断源多,响应快,尤为适用于智能系统。

2.3 无线Wi-Fi模块

本文采用ESP8266 无线Wi-Fi 模块实现单片机与云平台之间的通信,其为一款高性能的片上系统SOC,除了集成射频模组外[5],还有包含GPIO、SPI、I2C 等标准数据接口,数据传输稳定可靠,为将Wi-Fi 功能嵌入智能家居系统提供了便捷的解决方案。本文使用单片机的串行通信USART 接口与单片机的接收端(RXD)和发射端(TXD)进行无线数据传输。

2.4 数字温湿度传感器

本设计采用数字温湿度传感器DHT11 检测家庭的环境温度和湿度,由于其内部含有已校准数字信号输出的温湿度复合传感器[7],性能稳定,可快速感知外界环境的变化;采用单线制串行接口,与单片机MCU 通信方便,体积小,功耗低,温度测量范围0°~ 50°,误差为±1°,湿度测量范围在20%~ 95%,测量误差为±5%。温湿度传感器有四个引脚,VCC 和GND 为供电引脚,提供5V 电源。DATA 为数据输出引脚,它与单片机MCU 进行串行连接,一次可以完整传输40bit 的温度湿度数据。

2.5 可燃气体检测报警模块

图2:副控制程序流程图

MQ-9 气体传感器模块可以检测可燃气体的浓度,如果一氧化碳或者煤气等可燃气体或者有毒气体浓度过高,其相应引脚的电位发生改变[8],单片机根据这个引脚的信号就可以知道燃气浓度超限,产生危险警报。 MQ-9 气体传感器对一氧化碳、甲烷、液化气的灵敏度非常高,而且价格便也不贵,正应为它的成本低,可靠性好,使用方法简单,所以本文采用该传感器实现可燃气体的检测。该模块有四个引脚,除了电源引脚,DOUT 脚为TTL 高低电平输出端,AOUT 为模拟信号输出端,给其供电,然后即可使用。

2.6 窗帘控制模快硬件设计

家庭中窗帘是必不可少的,用于遮挡阳光,本文采用减速直流电机控制窗帘的开合,减速直流电机虽然移动稍缓慢,但它的驱动力大,况且控制窗帘并不需要太快的速度,所以减速直流电机非常适用于控制家庭的窗帘。在此基础上,由于减速直流电机自带码盘,是编码电机,容易得到实时的电机速度值,根据速度反馈值引入先进PID 闭环控制算法精确控制电机转速。使用直流电机需要用到直流电机驱动,通过单片机操控驱动可以控制电机的转动方向和速度,电机采用L298N 进行驱动信号的放大,单片机发出电机控制信号IN1~IN4,经过L298N 进行隔离和处理之后得到OUT1~ OUT4 用于驱动电机按要求转动控制窗帘开闭到指定位置。

3 智能家居控制系统软体设计

3.1 STM32主控制器运行流程

图3:云平台互联架构

图4:操作界面

图5:手机操作界面

在主控制器中嵌入Ucos-III 实时操作系统和emWinGUI 图形界面,Ucos-III 是一种非常优秀的源码开放嵌入式实时操作系统,具有实时性强、可移植性好、多任务调度等优点,它的多任务功能可实现模块的添加和删除,使其性能和功耗得到有效的优化。emWin图像GUI 则提供良好的人机交互界面,使户主拥有更好的控制体验。主控制器程序一开始为初始化各种硬件资源,包括GPIO、TFTLCD 显示器、串口等,然后便是UCOS 系统的初始化,包括任务的创建和内存分配。

3.2 副控制器运行流程

依照方案,副控制器主要的作用是接收主控制器和安卓设备APP 的指令,并且执行相应的控制程序,包括照明设备、窗帘的控制和温度、湿度、光线强度的采集,副控制程序流程如图2 所示。

副控制程序中,上电初始化程序,初始化系统时钟、串口、定时器等外设设备,串口1 与主控制器通信,接收主控制的指令、传送温湿度等数据,接收中断发生时,接收到指令数据包,经过解析程序,得到指令,从而可以控制相应的设备。串口3 为与ESP8266无线Wi-Fi 模块通信的接口,主要作用是接收手机APP 的指令和上传温湿度数据。

3.3 DHT11时序设计

DHT11 温湿度湿度传感器模块可以测量家庭中的环境温度和湿度,此模块的数据是采用单总线传输的,单片机每发送一次起始信号[10],传感器模块就会返回一次当前环境的温度和湿度,它的数据包有40bit,其中8 位湿度整数数据、8 位湿度小数数据、8 位温度整数数据、8 位温度小数数据和8 位校验和。

编程时,模块总线空闲状态为高电平信号,单片机通过拉低数据线电平发送开始信号,等待传感器模块响应,之后模块便可以返回相应的温度数据,单片机将这些数据解析成我们所需要知道的数据。

4 云平台

无线Wi-Fi 只是解决了智能家居的近距离监控问题,有了云平台的加持,智能家居才真正进入智能状态,可远距离操控。本设计选择机智云平台,使用简单,它可以直接生成所需的安卓APP 代码程序,不用花大量的时间在搭建服务器和移植APP 上。机智云平台云端服务的主要构成如图3 所示,通过使用配套的开发工具极大的方便了开发者的开发,大大降低了物联网的开发难度。

引入云平台的步骤可概括为:

(1)注册机智云账号,创建新项目;

(2)创建一系列的数据点,包括项目产品所拥有的重要属性,例如:添加标识符、数据结构、数据类型等;

(3)使用MCU 开发,生成协议所需要的移植代码包;

(4)使用安卓开发工具开发友好的监控界面并与云平台连接,实现远程控制。

5 模拟试验

为了直观体现智能家居监控系统的性能,搭建了模拟模型,包括两块STM32 单片机、窗帘模拟设备、温湿度检测模块、电灯模拟设备和安卓手机等。

5.1 主单片机人机交互界面

主单片机的内容为家庭的控制中心,控制家庭所有电器设备,界面友好,操作简单,显示屏显示温度和湿度等数据,通过触屏按钮发送指令,指令由串口1 将数据指令发送到副控制器,操作界面如图4 所示。

经过测试,按下主控制器屏幕上的相应控制按钮,相应的模拟电器设备执行相应的动作,连续测试20 次,无其他误动作或故障产生,性能相对稳定,操作手感良好。

5.2 安卓手机与副单片机之间的通信测试

安卓手机的操作界面如图5 所示。可以看出,安卓设备操作界面可以通过虚拟按钮控制单片机和显示家庭中的环境温度、湿度和光照强度,从测试数据来看,屏幕显示当前温度、湿度分别为23度和52,与当前环境温度湿度值一样,这说明,安卓手机上显示的温度湿度值是正确的,证明本文设计的系统可实现远程家居监控。

6 结论

本设计借助了机智云物联网平台搭建饿一个智能家居控制系统,运用了C 语言作为编程语言,控制单片机,实现模块的控制和传感器的使用。本设计的最大特色就是可以远程控制和检测,通过数据网络监控家庭电器设备,可以提高家庭的安全性和可控性。本次设计经过测试,实现了家庭的监控和报警以及控制功能,实现了智能家居系统的网络化和信息化。

猜你喜欢

安卓温湿度智能家居
温湿度控制器在回收砂冷却系统中的应用
基于DSP的多路温湿度监测系统
文物表情包
基于温湿度控制的天气预测装置
基于Zigbee的无线通信技术在智能家居中的应用
蒸发冷却温湿度独立控制空调系统的应用
一种基于安卓系统的手机侧抓包分析方法
安卓L未至安卓M来了!安卓首泄漏M系统
基于LD3320的智能家居控制