摘要: 随着现代科技和信息化的发展,高科技不断融入百姓生活,智能家居控制APP也得益于移动设备的不断强化发展,而越来越普及。本文基于嵌入式平台STM32和Android操作系统进行ESP8266无线方式的智能家居控制APP的开发,集成了嵌入式技术、物联网技术、程序设计等信息化技术,为居家用户带来安保无忧、快速便捷、畅爽舒适的生活环境。
随着4G和移动互联设备的高速发展,高科技不断融入百姓生活,我们在随时随地都在使用移动互联设备与人通信、与人沟通、与人交流,为我们的工作生活提供极大的便利,效率得到明显提高。智能家居控制APP开发受益于移动设备的高速发展而得到广泛推广与应用,在家中随时使用便于随身携带的移动设备去操作控制家庭用具。
本设计将是收集以往依靠众多遥控器控制的作用于一部人人都会有的移动设备上,并且在其移动设备上开发出APP软件实现控制。为了证实研究,本设计使用控制电灯开关与亮度来说明控制功能的实现。
一、系统设计
在确定了开发体系的需求之后,对系统整体方案进行充分研究论证,决定采用STM32单片机构成的最小系统和串口wifi模块ESP8266等构成的系统组成,在智能手机上开发智能家居控制APP。其方案图如图1所示。
图1 系统方案图
二、硬件电路设计
2.1 STM32单片机最小系统
STM32系列单片机是一款低成本、低功耗、高性能、高效率嵌入式处理器,内含ARM Cortex-M3内核,有增强型103类、基本型101类、105类、以及互联型107类。本设计使用STM32F103“增强型”,其最小系统原理图如图2所示。其时钟频率最大能到72MHz、内含32K到128K的FLASH且有自执行程序的功能、功耗仅为36mA、成本低于16位但性能高于16位的处理器,在目前已研发的32位处理器是功耗最小的。
2.2 串口WiFi模块ESP8266
本设计使用移动终端无线方式控制智能家居,所以采用新一代嵌入式WiFi模块ESP8266,具有体积更小功耗更低的优点。内置UART接口,方便与STM32处理器相连,内置串口wifi模块且遵循TCP/IP协议栈和IEEE802.11协议栈,方便与WIFI、Ethernet设备进行通信,实现本设计的目的:串口设备能够更便捷地使用串口WiFi模块连接WIFI,在不变动任何配置的时候,传统串口设备仍能经因特网传输数据。即实现了STM32处理器与移动终端无线互联互通。
三、软件程序设计
Android是以C语言编写的Linux操作系统与C++语言为基础的Java语言开发界面的免费开源系统,在移动终端设备中广泛使用,尤其是智能手机,由谷歌和OHA(Open Handset Alliance,简称:OHA)开发。Android操作系统由三部分构成,最底层Linux内核、中间层Library库与Virtual Machine、最顶层APP应用软件。最底层Linux内核采用C语言编写,实现系统软件的功能(主要管理STM32的硬件资源);中间层Library库与Virtual Machine采用C或C++语言编写,为上层应用软件提供库的支持;最顶层APP应用软件采用Java语言编写,根据行业应用,各机构自主研发各类型的APP软件,涵盖通话、短信、画图、办公等常用APP软件。
图2 STM32F103增强型最小系统
3.1 Android操作系统简述
本设计涉及的主要内容APP开发,现在主流开发模式是基于移动平台Android操作系统上采用Java语言编写软件程序,该方案设计简洁、界面友好、使用方面。移动平台可以选用Android智能手机或平板。
3.2 移动设备终端设计流程
本设计以控制灯泡的开关和亮度调节为例,对移动设备端运行流程设计作出说明。其流程:首先在移动设备上打开实现智能家居控制APP,立即出现初始化界面,STM32系统完成初始化功能之后执行下一项指令;监听连接按钮是否按下进行ESP8266连接,如果连接失败返回上一级监听连接按钮是否按下循环。
四、系统实现与结论
由于物联网技术不断发展和运用,智能家居也越来越走寻常百姓家。本设计基于Android 操作系统开发出智能家居控制APP并通过STM32单片机实现对智能家居的无线控制,以控制灯泡为例制作出实物,如图8所示,实现了预订的功能。后续工作,可以在智能家居的使用范围进行功能的拓展。