APP下载

基于CortexM4与AndroidAPP的远端家庭环境监控系统设计

2019-11-16侯昌华包敬海梁燕葵陆民飞杨祥覃绍胜

物联网技术 2019年10期
关键词:云端客户端服务器

侯昌华 包敬海 梁燕葵 陆民飞 杨祥 覃绍胜

摘 要:设计基于ARM Cortex M4 (STM32F407ZGT6)的微型控制器,完成对设备端传感器(温度、湿度、光强、烟雾等)输入信号的采集(模拟量转数字量算法、条件组数字量滤波算法)与机械设备(门、窗、灯)的输出控制,并通过SIM-GPRS网关与腾讯云端主机建立网络连接;Android APP完成对客户端用户登录、信息查看以及对下控制交互页面,且通过HTTP网络通信与腾讯云主机上Tomcat7服务器承载的自定义Java Web服务程序实现访问,采用C/S架构,使客户端程序与服务器数据库直接建立连接,实现对智能设备端远程数据的查看与向下控制。

关键词:Cortex M4;远程网络;环境监控;Android APP;滤波算法;Tomcat7

中图分类号:TP277文献标识码:A文章编号:2095-1302(2019)10-0-03

0 引 言

随着信息智能化的迅速发展与应用管理水平的不断提高,人们对智能一体化设备以及自身安全信息管理平台的需求与关注度日趋增长[1],智能且安全的应用系统的需求日益增强。近年来,智能物联网领域涌现出一批具有影响力的企业和团队,研发出一系列应用产品,主要涵盖智能家居、车载电子、农林养殖及消费类电子等,在通信协议层主要采用蓝牙,WiFi,ZigBee,Z-wave,VESP等方案[2-3]。

然而,集成度较高的智能家居系统成本太高,而简单的控制系统难以满足远程控制的需求。为此,本文基于Cortex M4与Android APP设计一个远端家庭环境监控系统[4],利用ARM处理器对家居中的环境数据进行实时监控,并通过SIM900A网关设备与云端进行通信。同时,为方便用户使用,通过Android Studio设计APP应用软件程序。

1 系统组成框架

系统在正常网络设备的基础上可实现全天候、无季节、远距离的监测与控制,完成对设备端、云端以及客户端系统设备的搭建与数据通信关联。整体功能系统包括传感器输入、处理器输入输出、网络通信传输、基站中转、云端服务器、移动客户端Android APP,可用于对远端家庭环境室内安全信息传感器数据(温度、湿度、光强、烟雾等)的检测及对机械设备(门、窗、灯)的控制。整体框架可分为设备端、云端、客户端三部分,具体如图1所示。

2 系统实现原理

2.1 设备端系统实现

基于ARM Cortex M4 STM32F407ZGT6处理器,通过使用VC/C++计算机程序语言,在Keil MDK5嵌入式集成开发工具上实现对处理器逻辑应用I/O驱动程序的开发[5-7]。程序总体结构可分为硬件设备初始化块、多任务创建块、触摸屏响应块、图形化界面显示块、传感器数据更新块、网络通信块等。设备端系统软件程序设计采用模块化面向功能函数编程的设计,同时加入了多任务实时操作系统μC/OS-III与图形化界面库STemWin。

(1)初始化程序完成对硬件设备寄存器驱动、GUI库、μC/OS-III实时操作系统[8]的初始配置。

(2)Touch任务函数是μC/OS-III多任务系统下创建的子任务函数,调用STemWin接口API,对触摸屏触摸输入的有效命令进行检测与响应。

(3)EmWin任务函数是μC/OS-III多任务系统下创建的子任务函数,调用STemWin接口API实现LCD的界面显示,包括鼠标游标、主体界面(窗口、Logo图片、传感实时数据文本、触摸控键Button图片)的显示。

(4)Test任务函数是μC/OS-III多任务系统下创建的子任务函数,调用自定义的逻辑接口API函数实现对底层的控制访问,包括传感器数据的输入更新、机械设备的输出控制及网络服务的通信传输。

设备端系统软件程序流程如图2所示。

2.2 云端服务器系统实现

腾讯云Windows Server 2012R2主机搭载Tomcat7服务器,通过Java Web技术实现云端应用服务程序,并完成对智能设备端设备及客户端应用的网络请求、响应服务,以及网络数据传输、交互。网络端通信遵循HTTP协议,采用轻量级的“名值对”集合JSON数据格式封装、存储数据流[9-10]。云端系统软件程序框架如图3所示。

2.3 客户端系统实现

基于Android系统配置集成开发的移动应用软件,其UI界面设计与组件設置融合成型[11-12]。应用软件实现用户登录,获取传感器数据,利用控制命令进入个人信息页面。首先程序开启进入Logo登录界面,等待用户输入账号、密码并点击登录,后台服务程序获取用户账号、密码文本字符传送云端服务器数据库匹配校验,用户账号、密码由开发者在云端MySQL数据库自定义存入,用户无权更改。校验到用户存在后,云端服务器回馈登录成功代码,登录成功后进入默认界面(信息页面),底部控件栏可切换、选择查看页面。进入信息页面:定时更新及显示从云端服务器程序获取到的传感器数据信号量。进入控制页面:图形状态可由控键显示,并将当前状态传送至云端服务器程序。进入个人页面:静态文本字符显示用户个人信息。客户端系统软件程序流程如图4所示。

3 设计与研究

3.1 直流电源

利用LM2596和AMS1117核心器件组合成典型的稳压电路,调制出5 V/3.3 V的直流稳压电源供给设备系统的各个子模块。

3.2 传感器

系统采用接触式测温器件DS18B20测量温度,经测试分析,温度示数取决于器件表面感应到的热量。采用电阻式感湿器件DHT11测量湿度,采集到的数据信息量与空气湿润度成正比关系。采用数字集成器件BH1750测量光照强度。采用表面电离子式N型半导体气体敏感器件MQ-2测量烟雾浓度,从而进行模拟量输出。传感器指标数据见表1所列。

3.3 TFT LCD模组

设备端交互界面选用4.3寸触摸显示一体LCD电容屏显示,采用控制驱动屏数据/命令总线FSMC,通过调用STemWin GUI库,实现交互界面的主体框架窗口、位图、文本显示和触摸点击响应。

3.4 网络通信

设备端网络通信网关选用SIM900A(GSM/GPRS)模块(串口(RXD/TXD)),需提供12 V工作电源。插入有数据流量支持GPRS通信的SIM卡(物联卡/普通电话卡),通过配套的AT指令集配置SIM900A模块为HTTP通信模式,使本地设备与公网IP云主机服务器建立网络访问,最终实现设备端数据的远程网络传输。

3.5 云服务器

远程在线操作公网IP的腾讯云主机,安装并配置Tomcat7服务器与MyEclipse 集成开发工具,将Tomcat7配置绑定于MyEclipse,由MyEclipse工具操纵Tomcat7。启动Tomcat7服务器后,在PC浏览器输入云主机Tomcat7 服务器的URL参数(IP+端口),测试并验证服务器通网访问是否成功。使用MyEclipse环境创建Java Web 工程,通过HttpServlet实现客户端与服务器、设备端与服务器的交互[13-14]。

3.6 Android APP

在PC机上使用Android Studio 3.0集成开发工具与Android 6.0版智能手机开发者模式进行USB通信ADB在线调试,通过C/S架构完成用户登录网路服务器数据验证[15-16],用户点击界面Button控制命令进行网络数据上传,可实时获取并更新温湿度、光照强度及个人用户信息。

3.7 模拟量转换数字量算法

4 结 语

本文设计了一套综合性联网控制设备系统,软件方面应用Android APP软件开发技术、Java Web后端服务器程序开发技术、中级嵌入式驱动系统开发技术、网络编程TCP/HTTP技术等;硬件方面应用电源管理技术、数字模拟量传感器技术、嵌入式硬件系统技术等,实现对温湿度、光照强度、烟雾浓度的采集,以及对机械开关的输出控制,并可实现远端监控。本文系统具有一定的实用性,值得深入研究及应用推广。

参 考 文 献

[1]谭英奇,邢志强.智能家居功能可重构系统研究[J].仪器仪表用户,2019,26(2):9-11.

[2]顾旻荃.智能家居的发展与展望[J].电子世界,2018(19):87,89.

[3]赖世杰,苏小婷,孙万霞,等.中国智能家居发展状况分析[J].现代商贸工业,2018,39(20):190-192.

[4] SHAMIM HOSSAIN M, ABDUR R M,MUHAMMAD G. Cyber-physical cloud-oriented multi-sensory smart home framework for elderly people:an energy efficiency perspective [J]. Journal of parallel and distributed computing,2017(5):11-12.

[5]李静.基于物联网技术的小型游船监控系统研究与设计[D].桂林:广西师范大学,2018.

[6]张文潇,王鑫.基于STM32的以太网通信模块设计[J].信息通信,2017(12):118-119.

[7]崔琳,朱磊,刘小龙,等.基于STM32F407的小阻值测量系统设计与实现[J].国外电子测量技术,2018,37(2):84-89.

[8] CAI G H,LIANG C,HUANGQ,et al.A remote intelligent control system based on ZigBee wireless technology [J]. Applied mechanics and materials,2014(9):71-74.

[9]张汉林,潘俊虹,柯哲星,等.基于微信小程序的“微代”校园服务平台[J].电脑编程技巧与维护,2018(12):77-79.

[10]石明翔,田济玮,李文齐,等.基于云服务的异构数据库管理系统的设计与实现[J].計算机时代,2018(12):25-28,31.

[11]饶丰江,苏兆盛,田凡.使用安卓设备调试自动化设备的设计与实现[J].计算机测量与控制,2018(12):80-83.

[12]范宇,王忠,杨琪.基于安卓的老年人健康监测系统[J].信息技术与信息化,2018(8):75-78,82.

[13]赵恒.Java Web应用程序安全技术[J].电子技术与软件工程,2019(4):194.

[14]范国婷,曹飞虎,王秀友,等.基于Java Web的进销存管理系统研究[J].电脑知识与技术,2019,15(2):42-44.

[15]冯明,陈倩.浅谈云智能信息化管理平台的构建[J].智能计算机与应用,2019(1):233-234.

[16]史桂红.基于Android及JSON的天气预报APP设计与实现[J].苏州市职业大学学报,2019,30(1):27-32.

猜你喜欢

云端客户端服务器
云端之城
通信控制服务器(CCS)维护终端的设计与实现
县级台在突发事件报道中如何应用手机客户端
孵化垂直频道:新闻客户端新策略
基于Vanconnect的智能家居瘦客户端的设计与实现
美人如画隔云端
中国服务器市场份额出炉
行走在云端
云端创意
得形忘意的服务器标准