163
1 引言
在日常生活中,室内外的温度监测在生产和生活中广泛使用,建立有效方便的实时监控具有重要意义。Android系统作为终端平台流行的操作系统,广泛用于各种方便携带的智能终端。因此,建立基于Android平台的实时监控系统已广泛应用于许多领域[1]。此外,WiFi技术现在也是时下流行的技术,目前WiFi的的研究也是越来越多,表明基于WiFi技术的应用正在广泛应用。由于WiFi技术具有耗电低、信息传输方便等特点,基于Android产品终端发展非常迅速,采用基于Android平台与WiFi的相关应用也越来越多[2],如基于WiFi技术和Android的室内定位系统[3]、多功能传控机顶盒系统[4]、井下定位和通讯系统[5]等产品。然而,目前温度采集系统都是采用单片机和温度传感器再加上一个显示屏来对温度的实时控制,对距离较远的温度采集来说这类
设计有很大的缺陷,它不能够很好的实现人机间的交互,而基于Android和WiFi的技术的温度采集系统能够很好的实现人机间的交互随时随地的了解温度信息。为此,设计基于Android平台和WiFi技术的温度采集软件系统对实现方便实时的温度监测具有重要意义。
2 基于Android平台和WIFI技术的温度采集软件系统设计
2.1 温度采集软件系统整体架构
整个程序的运行流程如下,检查是否打开WiFi,和链接正确的WiFi去检测温度信息[6]。Android编程是基于Java语言的编程, 这里选用的是用Eclipse编程。这里主要是实现一个人机的交互界面,建立温度采集与显示功能,Android中提供了很好的图形显示以及丰富的控件,这里设置了一个网卡的开关、两个Button来控制连接那个无线网和断开已连接的无线网络、定义了一个TextView来显示
温度信息。此外放置五个控件其中只有两button和一个Toggle Button设置了点击事件,并给出相应提示,具体软件整体功能架构如图1所示。系统主要功能包括WiFi模块的编程和基于Android平台界面设计等编程,下面小节将对WiFi模块进行了分析和编程,主要利用W i F i 模块的管理类
收稿日期:2018-08-20
*基金项目:2015年国家大学生创新创业训练计划资助项目(项目编号:201511319008)作者简介:珺匡仁(1998—),男,江西吉安人,本科,研究方向:监测系统设计。
基于Android 平台的温度采集软件系统设计*
匡仁珺  刘久春  包学才  王建浩  马向进
(南昌工程学院 信息工程学院,江西南昌  330099)
摘要:温度的实时监控广泛应用于工农业生产中,手机终端温度采集监测系统的设计对实时掌握温度监控具有重要意义。为实现这一
目标,设计了基于proteus建立的温度采集硬件和手机端Android平台的采集软件系统。首先,在分析了WiFi管理类WiFiManager应用的基础上,建立了整个系统的程序设计流程,然后通过WiFi的工具类的WiFi的操作,设计了Android的界面和交互功能,如连接WiFi的功能、接收消息等,最后实现了温度实时采集显示等系统功能,为搭建的基于Android平台的实时温度信息采集系统提供了技术实现参考。
关键词:Android;WiFi管理类;WiFiManager应用中图分类号:TP273文献标识码:A 文章编号:1007-9416(2018)09-0163-02
设计开发
DOI:10.19695/jki12-1369.2018.09.80
图1  硬件图                                                                                          图2  UI界面图. All Rights Reserved.
164
第  36  卷                      数字技术与应用    www.szjsyyy
WiFiManager进行设计。Android的编程包括两部分,一是对layout 文件夹设计。二是在Activity里对系统功能进行编程,实现界面的人机交互。
2.2 WIFI模块功能设计
Android系统中自带了WiFi模块,需要调用WiFi管理类里的方法和类,设计WiFi工具类WiFiAdmin去管理相应操作。具体设计如下:在WiFiAdmin类里首先定义了一个构造方法,定义一个带参的构造方法,并初始化mWiFiManager和mWiFiInfo去管理WiFi模块。其中WiFiManager可以说是WiFi的入口,也叫WiFi管理类[6],得到它的对象然后利用它里面封装的方法去开启和关闭无线WLAN、扫描周围的热点、得到周围热点的信息参数等。WiFi通信也是socket通信,socket通信需要的是一个端口号和一个IP地址。端口号可以设置一个不小于1024的数字。但是,IP地址得要都动态获取,所以就需要调用它来动态获取IP地址,如下所示:
mWiFiInfo = ConnectionInfo();模块程序具体设计如下:
(1)打开和关闭无线网卡功能设计。进入界面后首先通过mWiFiManager.isWiFiEnabled()语句判断无线网卡是否打开,然后才进行无线网卡的打开和关闭操作。(2)扫描周边AP。将获取的热点加入到用list数组中,并利用WiFiManager里面有一个startScan ()方法去扫描周围的热点AP,即WiFiManager.startScan();然后可以把这些热点保存起来,由于周围的热点是一个不定的数组,所以不
能用数组去保存它的热点AP,需要定义一个list列表来保存热点。(3)连接指定的网络。通过调用Android系统自带的WiFi模块去连接想要的网络,调用系统自带的WiFi连接应用,利用listView来保存扫面到的热点,然后查看到热点的信息参数,配置热点参数信息后点击连接自己想要的热点。(4)断开当前WiFi。当不需要连接WiFi的时候,需要断开WiFi,主要采用的方法,一种是直接关闭WLAN;另一种方法是先得到当前网络的信息,利用网线当前的ID来断开当前连接,没有实际关闭无线网卡。(5)获取当前连接到无线网络的IP地址。要想得到当前连接无线网络的信息,必须先得到WiFiInfo的对象,这里IP地址的使用也通过WiFiinfo对象来获取,接下来要先判断一下WiFi是否连接,如果已连接,WiFiInfo对象就不为空,利用是否为空来作为判断进而得到IP地址。
2.3 界面及交互功能程序设计
对于Android的开发一下主要是两个部分的开发,首先要对用户的交互功能进行确定,然后在对功能进行编码。这里面由于要用到IP地址来进行连接通信,所以首先要得到连接的无线网络的IP地址,获取IP地址有三种方案:一是在代码里面对IP地址事先设定;二是在U I 界面上自己填写I P 地址;三是通过W i F i 模块的封装类WiFiInfo来动态的得到IP地址。
第一种方案只能连接同一个IP地址相同的无线网络,操作不够灵活;第二种的话每一次都要去填写IP地址,操作起来用户会比较
Software System Design of Temperature Acquisition Based on Android Platform
Kuang Ren-jun,LIU Jiu-chun,BAO Xue-cai,WANG Jian-hao,MA Xiang-jin
(School of Information Engineering, Nanchang Institute of Technology, Nanchang Jiangxi 330099)
Abstract:Real-time monitoring of temperature is widely used in industrial and agricultural production. The temperature monitoring system design based on the mobile terminal has important significance for temperature collection and real time control. To achieve this goal, temperature acquisition hardware system based on proteus and the software system of the mobile terminal based on the Android platform are designed. First of all,based on the analysis of the WiFi management class WiFiManager application, the design process for whole system is established. Then, through the WiFi tool class and WiFi operation, the Android interface and interactive features are designed, such as the WiFi connection function, receiving the message. Finally, the display system functions of temperature real-time acquisition is achieved. It provides the technical reference for the implementation that builds the real-time temperature information acquisition system based on Android platform.
Key words:Android;WiFi management class; WiFiManager applications.
烦,不能适应具体应用;第三种方案比较灵活,能够自动获取到已连接WiFi的IP地址。下面的界面及交互功能采用第一种方案为例进行说明,具体如下:
(1)页面UI布局程序。包含的控件有:四个TextView、一个ToggleButton、两个Button。我们可以通过这些控件控制整个APP的功能。(2)Activity主程序。主要利用socket编程,利用线程和handler 机制去对W i F i 传递过来的数据进行操作。首先,需要得到WiFiAdmin(上面已经解释,这个是自己定义的WiFi工具类,WiFi 模块的操作全放在这个类里)的对象mWiFiAdmin,利用它对WiFi 进行操作。
3 系统的测试与验证
为验证软件系统功能,硬件部分是采用Proteus软件仿真[7],温度采集部分系统如图1所示。硬件系统定时采集经串口转WIFI模块发送温度信息,手机Android端接收信息并显示,通过多次数据的发送和接收,观察UI界面是否可以及时的更新温度信息。
通过对WIFI连接以及Socket通信的测试,通过硬件系统采集的温度信息能有效传输到设计的软件系统,如图2所示,硬件采集的温度通过串口转WIFI传至软件系统日显示,温度显示一致,证明了软件系统设计的有效性。
4 结语
本系统利用了Android和WiFi技术设计开发一套温度采集系统的软件,软件设计基于Eclipse进行开发,详细介绍了基于WiFi的工具类开发与使用并在Android的Activity里面实现了WiFi的通信。此外,设计了温度采集系统的UI交互界面,对布局及交互功能开发进行阐述,实现了温度的自动判定、读取等功能,为后续开发更完善的基于Android平台的温度采集系统提供了技术基础。参考文献
[1]郑建,贺超.Android 和Chrome 的发展与未来[J].移动通信,2010,34(11):80-82.
android软件[2]张烨.基于Android 平台WIFI 的实现及应用[D].北京邮电大学,2012.
[3]王阳,叶芝慧,冯奇,等.基于 Android 的室内 WiFi 定位系统设计与实现[J].电子测量技术,2016,39(9):16-19.
[4]蔡黎,代妮娜,戴闽鲁.基于Android平台和WiFi传控的多功能机顶盒设计[J].电视技术,2013,37(21):24-27.
[5]侯捷.基于WIFI的煤矿井下通信系统设计[J].中国新通信,2015,(6):111-111.
[6]Rogers R, Meike B, Mednieks Z. Android 应用开发[M].北京:人民邮电出版社,2010.
[7]刘磊.Proteus 与PC 机虚拟串口通信[J].科技信息:学术版,2008,(30):226+229.
. All Rights Reserved.

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。