(西北民族大学电气工程学院 甘肃 兰州 730124)
基于Android和Wifi的智能台灯设计
曾庆煌沙伊帆廖清杨
(西北民族大学电气工程学院甘肃兰州730124)
针对大部分传统风扇存在有许多弊端,如本文介绍了基于Wifi技术的智能开关的设计。该设计由STM32F103C8T6最小系统板、ESP8266无线Wifi模块、AMS1117-3.3稳压模块、Android平台控制软件以及三通道继电器模块构成。整个操作过程中,用户只需要将硬件系统通电,通过Android平台控制软件简单操作,达到了方便用户并且拥有安全保障的效果。
wifi;Android
(一)系统总体结构设计
由系统方案论证结果有,STM32微控制单元选择STM32F103C8T6芯片、Wifi无线通信模块选择ESP8266芯片、稳压模块选择AMS1117-3.3芯片以及三个继电器模块模拟家用电器开关。系统的总体结构图如图1-1所示:
图1-1 系统的总体结构图
在用户进行操作时,首先为STM32微控制单元模块通电稳压;然后由ESP8266无线通信模块产生一个AP热点,用户可以用Android机加入Wifi热点;用户在Android机上进入控制软件界面,按下控制按钮后,通过无线通信向STM32F103C8T6芯片反馈操控信息;最后STM32F103C8T6主控芯片对用户的操控信息进行解析,判断对某一继电器模块进行对应的操控动作。
(二)稳压电源电路的设计
设计的电源接入选择一个MiniUSB接口,首先将输入电压转换成一个5V电压输出,给硬件系统供电。将5V电压输入稳压芯片,使稳压芯片AMS1117-3.3输出一个3.3V的电压。而3.3V的电压正好可以使主控芯片STM32F103C8T6和Wifi芯片ESP8266正常工作。在系统上电的情况下,按下自锁开关SW-DPDT,系统上电,并为STM32F103C8T6芯片与ESP8266芯片供电,系统指示灯LED0点亮,系统正常开启。
(三)STM32微控制单元电路的设计
STM32微控制单元的正常工作电压为2.0-3.6V,所以在经过稳压芯片AMS1117-3.3降压后输出的3.3V电压可以直接接入STM32F103C8T6芯片上,为其供电。其中STM32F103C8T6芯片上的PA9和PA10引脚分别连接ESP8266芯片的URXD引脚和UTXD引脚进行串口数据发送与接收;PA13和PA14引脚分解连接到SWDIO引脚与SWCLK引脚上,为STM32F103C8T6芯片烧写满足课题设计要求的程序;PB8、PB9和PB10引脚分别接到三个继电器模块上,为继电器模块提供工作电压与工作电流;PD0与PD1引脚接入8M晶振模块,为STM32F103C8T6芯片提供一个时钟源;NRST引脚接入按钮复位电路,拥有使系统恢复到初始状态的功能。
(四)Wifi通信模块电路的设计
经过稳压芯片AMS1117-3.3输出的3.3V电压直接为Wifi模块电路供电。ESP8266芯片的8只引脚拥有不同的功能定义,在本课题设计中,为了达到课题要求,在搭建电路时需要注意到各个引脚的电路连接。UTXD引脚与URXD引脚连接到STM32F103C8T6芯片上的PA9和PA10引脚,进行串口的数据发送与接收;CH_PD引脚经过一个上拉电阻连接电源,设置为高电平模式;RESET引脚连接一个上拉电阻连接电源,设置为接收到外部的复位信号时,低电平复位、高电平工作;VCC3.3引脚接入3.3V电源为芯片供电;GPIO0引脚经由一个上拉电阻连接电源,设置为Flash Boot工作模式,并且控制Wifi芯片工作状态指示灯;GPIO2引脚由于芯片默认拉高,开机上电时必须是高电平并且禁止硬件下拉,所以直接经由一个上拉电阻连接电源,是之呈上拉状态。
(一)主程序流程设计
本次设计在操作流程时,其工作的程序流程为STM32F103C8T6通过USART接口与ESP8266连接设置开启无线热点,Android平台控制软件通过加入无线热点向STM32F103C8T6发送操作数据,STM32F103C8T6接收到数据并解析后对继电器模块进行通断操作,从而对开关进行相应的通断操作。整个操作过程中,用户只需要将硬件系统通电,通过Android平台控制软件简单操作,达到了方便用户并且拥有安全保障的效果。
(二)ESP8266驱动程序设计
在设计的系统中,STM32F103C8T6和Android平台的控制软件是通过Wifi功能实现的,从而得到用户在Android平台上选择的操作。ESP8266使用的是AT指令集,STM32F103C8T6只需要将AT指令通过USART接口发送给ESP8266,就可以完成相应的功能,为用户提供可以连接到系统的专用Wifi热点。在本次课题设计中ESP8266芯片驱动程序主要包括:USART串口初始化、AT指令发送程序。
(三)用户Android平台控制软件的设计
在整个控制软件设计中,首先需要配置Java开发环境安装JDK,安装JRE,然后配置环境变量。Android的环境变量需要配置ADB的使用,将开发平台的两个工具包配置到环境变量里。在开发环境中下载安装Eclipse,它是一个开放源代码、基于Java的可拓展开发平台,然后就可以进行控制Android平台的控制软件开发。Android平台的控制软件开发主要包括两个内容:一是控制软件界面设置,包括界面布局、按钮名称和显示连接与否的内容;二是控制界面中的每个按钮按下抬起所反馈的信息内容设计。
主要的成果有:提出了基于Wifi技术的智能台灯的设计,以开关为设计基础,实现了一个小型的物联网成品,系统结合软件和硬件两方面的设计,实现了数据从用户到底层硬件的控制;实现了Android系统一个简易的应用软件的编写,运用Android操作系统的开发软件,编写了适用于设计的简单控件,并打包成为APK安装包,可以供多位用户使用和普及;完成了以STM32F103C8T6芯片为中心的微控制单元,ESP8266芯片为核心的Wifi模块以及自己编写的Android系统友好控制软件三方面的搭建连接,可以使用户更加亲切地体验无线控制开关的方便。
西北民族大学电气工程学院“双E”项目资助,项目编号:20161815