网站首页  词典首页

请输入您要查询的论文:

 

标题 基于Android的温室监测系统
范文

    李小刚等

    摘要:针对温室环境参数实时监测的需要,结合无线传感器网络技术和智能手机通信技术,该文提出一种基于Android设备的温室无线监测系统的设计与实施方案。首先介绍无线监测系统的硬件平台,给出了系统的整体结构;在此基础上,开发电脑端软件作为服务器,基于Android SDK2.3开发手机端应用程序,该应用程序模块功能主要包括网络连接、接收数据、解析数据和显示数据等模块,并对各个模块的功能进行详细的分析和设计;最后进行了相关的实验测试。

    关键词:Android;无线传感器;智能手机;无线监测系统;实时

    中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2014)14-3402-03

    Abstract: For real-time monitoring of environmental parameters in greenhouse needs, combined with wireless sensor network technology and smart phone communication technology, this paper presents a greenhouse Android-based devices wireless monitoring system design and implementation. First introduced a wireless monitoring system hardware platform, given the overall structure of the system; On this basis, the development of the computer as a server-side software based on Android SDK2.3 develop mobile client application, the application module functions include network connection, receive data, parse the data and display data modules, and each module features a detailed analysis and design; Finally, a related experimental tests.

    Key words: android; wireless sensor; smart phones; wireless monitoring system; real-time

    3G网络的普及对于农业设施意味着新的机遇。作为农业设施的代表之一,温室环境监测和控制在国内外都受到了广泛的关注。伴随着无线网络技术的不断发展,温室远程监控的网络化也成为目前的热点。随着Android技术的不断成熟,温室远程移动端监控已是大势所趋。

    此研究介绍一种基于Android的温室监测系统,在该系统中Android手机使用Wifi或3G网络,通过TCP/IP协议与服务端链接,实现在Android手机端监测温室环境数据。

    1 系统设计

    1.1 系统总体设计

    该系统是基于Android的温室监测系统,包括基于Android的智能手机终端、PC服务端和无线传感器模块。该系统在相关的硬件平台基础上,将传感器采集到的数据传输并存储在服务器端,再从服务器端将采集到的数据发送给Android手机端,从而实现了手机实时监测温室环境的功能。系统原理如图1所示。

    在该系统中,无线多功能路由器连接了内部与外部网络,无线传感器模块与服务端采用动态IP的链接方式,对链接的设备进行IP分配,因此,对于同一个设备,链接网络的IP地址是不确定的,是随机变化的。虚拟服务器地图了端口上外部共有IP对内部私有IP的映射,通过映射,任何设备只要确认端口号,就能实现外网对局域网任意设备链接。这样任何接入该路由的Android手机都能动态获取IP地址,从而实现与服务端的Socket连接。链接成功之后,再用socket对象调用getInputStream()方法和read()来实现数据的接收,通过算法解析数据,以容易区别的数据显示出来。

    1.2 系统硬件平台

    该系统是选用成都感智索蓝科技有限公司的无线传感器为实验平台,该系统采用了一个带有GPRS网关的CC2530型号的Zigbee模块和六个带有温度、湿度和光照的传感器模块组成,采用CC2530芯片增强了传感器的地址识别和数据包处理引擎等性能。该系统中选用佩带GPRS网关的模块,此模块支持无线连接功能。

    该系统中配备了GPRS网关模块,用户既可以采用 USB 数据电缆连接到 PC 机,也可以采用 GPRS 无线方式与计算机外网IP连接。温室监测系统的硬件主要包括:

    1)传感器节点:采集温室环境中的数据,如温度、湿度和光照;

    2)总节点:接收传感器所采集到的数据;

    3)GPRS网关:支持GPRS分组方式实现数据传输。

    系统硬件如图2所示。

    1.3 服务器模块

    在此系统中设计了服务器模块,此模块在VS2010工具上用C#语言开发的软件,其中,该软件有处理和存储大量数据的功能,因为Android手机的性能有很大的局限性,在Android手机端去处理温室环境中传输的数据,这样会使软件崩溃,有可使手机一直处于等待状态(Android系统中处理数据时间超过5秒,应用程序就会处于无反应状态,要么等待,要么就是关闭),这样是不可行的;还有,如果将数据存储在手机端,更是不明智的选择,也会使手机的运行速度变慢;采用PC机作为中转站,这样就可以解决上面的两大问题,还可以筛选出偏离了温室环境中正常值的数据,发送到手机终端,提醒用户去处理温室中的环境变化。

    该软件模块功能主要有数据接收模块、数据处理模块、网络连接模块、数据存储模块和数据发送模块五个模块。

    1)网络连接模块:此模块的功能是实现服务端与无线传感器之间的链接;

    2)数据接收模块:该模块是接收无线传感器节点采集到的温室环境数据;

    3)数据发送模块:该模块是将接收到的数据发送给手机端;

    4)数据处理模块:此模块是将接收到的原始数据通过算法转换,解析为容易读懂的数据;

    5)数据存储模块:此模块的功能是用数据库存储原始数据和解析后的数据,方便数据分析。

    2 Android客户端设计

    基于Android手机的应用程序是通过Android SDK2.3来开发的,系统有网络连接模块、数据接收模块、数据解析模块和数据显示模块四大模块组成,如图3所示。

    2.1 网络连接模块

    网络连接模块主要是完成手机端与服务端网络连接的功能,通过输入的IP地址和端口实现了客户端与服务端的链接。

    在链接服务器之前,首先要判断手机是否处于网络连接状态,在Android中ConnecttivityManager类是监测手机的网络状态。本研究中使用WifiManager来管理我们的wifi连接,通过创建WifiManager类的对象,调用getWifiState()方法获取当前WiFi的状态,如果WiFi未启用,则创建ProgressDialog提醒用户等待,同时通过使用Thread(线程),调用setWifiEnabled(true)方法打开WiFi功能,再判断此网络是否可用。

    在手机网络正常的状态下,当手机启动“连接”界面时,系统会创建一个Thread(线程),它主要负责Socket连接的数据接收处理。该线程被激活后,系统首先会使用new Socket(IP,PORT)语句实例化一个Socket对象,该对象拥有IP地址和端口号两个形参,这两个参数指定了系统连接的目标地址。如果手机端与服务端链接正常,则用创建的Handler类对象调用sendEmptyMessage(LOG_SUCCESS)方法来处理更新界面。

    2.2 接收数据与解析模块

    为了方便,接收数据和解析数据模块放在一起研究,这俩模块的功能是完成服务端的数据接收功能,并同时解析成容易识别的数据。首先系统用创建的Socket对象调用getInputStream()方法新建一个InputStream流的对象,再创建一个byte类型的数组msgBuffer变量,用InputStream对象调用read(msgBuffer)方法将数据存入msgBuffer中,在用new String(msgBuffer, "UTF-8").trim()方法将字节型数据转换成字符串数据,然后Handler对象调用sendEmptyMessage(RECEIVE_MSG_SUCCED)方法,启动数据解析方法putDataToNodeList()。再此方法中通过算法,将数据解析成容易是别的数据,在解析后的数据中可以得到光照、温度、湿度、时间、节点物理地址和节点类型等等多种数据。原始数据解析结果如图4所示。

    2.3 数据显示模块

    数据显示模块的主要功能是将解析的数据,显示在手机界面中,让用户可读。显示界面是使用ScrollView和LinearLayout两种布局的套用实现的,在布局中添加了15个TextVIew控件,通过创建TextView控件的对象,调用setText()方法将数据显示在TextView空间中。当点击每条数据时,可以查看详细信息,如是哪个节点、在什么时间传输的数据等等详细信息。如图5所示。

    3 结束语

    本研究设计的远程监测温室系统,是基于Android手机上的APP应用程序。该程序通过与服务器进行通信连接,来获取温室环境中传感器采集到的数据,从而实现了手机端对温室环境进行监测,同时根据实际接收到的数据具体情况,判断温室环境是否处于农作物生长的最佳状态。本系统测试性能良好,能有效的对农业生产环境进行实时监测。

    参考文献:

    [1] 王小强,欧阳俊,黄宁淋.Zigbee无线传感器网络设计与实现[M].北京:化学工业出版社,2013.

    [2] 林城. Android 2.3 应用开发实战[M].北京:机械工业出版社,2011.

    [3] 刘平.Android手机访问服务器的一种数据交互方法[J].西安财经学院学报,2010(9).

    [4] 勒建林,刘晓燕.基于Android系统的无线监控系统[J].软件导刊,2011,10(6):71-72.

    [5] 刘乃安.无线局域网(WALN)原理、技术与应用[M].西安:西安电子科技大学出版社,2004.

    [6] 李刚. 疯狂Android讲义[M].北京:电子工业出版社,2011.

    [7] Andrew S. Tanenbaum,Davi J. Wetherall. 计算机网络[M].北京:清华大学出版社,2012.

    [8] Stevens W R. TCP/IP详解[M].北京:机械工业出版社,2000.

    该软件模块功能主要有数据接收模块、数据处理模块、网络连接模块、数据存储模块和数据发送模块五个模块。

    1)网络连接模块:此模块的功能是实现服务端与无线传感器之间的链接;

    2)数据接收模块:该模块是接收无线传感器节点采集到的温室环境数据;

    3)数据发送模块:该模块是将接收到的数据发送给手机端;

    4)数据处理模块:此模块是将接收到的原始数据通过算法转换,解析为容易读懂的数据;

    5)数据存储模块:此模块的功能是用数据库存储原始数据和解析后的数据,方便数据分析。

    2 Android客户端设计

    基于Android手机的应用程序是通过Android SDK2.3来开发的,系统有网络连接模块、数据接收模块、数据解析模块和数据显示模块四大模块组成,如图3所示。

    2.1 网络连接模块

    网络连接模块主要是完成手机端与服务端网络连接的功能,通过输入的IP地址和端口实现了客户端与服务端的链接。

    在链接服务器之前,首先要判断手机是否处于网络连接状态,在Android中ConnecttivityManager类是监测手机的网络状态。本研究中使用WifiManager来管理我们的wifi连接,通过创建WifiManager类的对象,调用getWifiState()方法获取当前WiFi的状态,如果WiFi未启用,则创建ProgressDialog提醒用户等待,同时通过使用Thread(线程),调用setWifiEnabled(true)方法打开WiFi功能,再判断此网络是否可用。

    在手机网络正常的状态下,当手机启动“连接”界面时,系统会创建一个Thread(线程),它主要负责Socket连接的数据接收处理。该线程被激活后,系统首先会使用new Socket(IP,PORT)语句实例化一个Socket对象,该对象拥有IP地址和端口号两个形参,这两个参数指定了系统连接的目标地址。如果手机端与服务端链接正常,则用创建的Handler类对象调用sendEmptyMessage(LOG_SUCCESS)方法来处理更新界面。

    2.2 接收数据与解析模块

    为了方便,接收数据和解析数据模块放在一起研究,这俩模块的功能是完成服务端的数据接收功能,并同时解析成容易识别的数据。首先系统用创建的Socket对象调用getInputStream()方法新建一个InputStream流的对象,再创建一个byte类型的数组msgBuffer变量,用InputStream对象调用read(msgBuffer)方法将数据存入msgBuffer中,在用new String(msgBuffer, "UTF-8").trim()方法将字节型数据转换成字符串数据,然后Handler对象调用sendEmptyMessage(RECEIVE_MSG_SUCCED)方法,启动数据解析方法putDataToNodeList()。再此方法中通过算法,将数据解析成容易是别的数据,在解析后的数据中可以得到光照、温度、湿度、时间、节点物理地址和节点类型等等多种数据。原始数据解析结果如图4所示。

    2.3 数据显示模块

    数据显示模块的主要功能是将解析的数据,显示在手机界面中,让用户可读。显示界面是使用ScrollView和LinearLayout两种布局的套用实现的,在布局中添加了15个TextVIew控件,通过创建TextView控件的对象,调用setText()方法将数据显示在TextView空间中。当点击每条数据时,可以查看详细信息,如是哪个节点、在什么时间传输的数据等等详细信息。如图5所示。

    3 结束语

    本研究设计的远程监测温室系统,是基于Android手机上的APP应用程序。该程序通过与服务器进行通信连接,来获取温室环境中传感器采集到的数据,从而实现了手机端对温室环境进行监测,同时根据实际接收到的数据具体情况,判断温室环境是否处于农作物生长的最佳状态。本系统测试性能良好,能有效的对农业生产环境进行实时监测。

    参考文献:

    [1] 王小强,欧阳俊,黄宁淋.Zigbee无线传感器网络设计与实现[M].北京:化学工业出版社,2013.

    [2] 林城. Android 2.3 应用开发实战[M].北京:机械工业出版社,2011.

    [3] 刘平.Android手机访问服务器的一种数据交互方法[J].西安财经学院学报,2010(9).

    [4] 勒建林,刘晓燕.基于Android系统的无线监控系统[J].软件导刊,2011,10(6):71-72.

    [5] 刘乃安.无线局域网(WALN)原理、技术与应用[M].西安:西安电子科技大学出版社,2004.

    [6] 李刚. 疯狂Android讲义[M].北京:电子工业出版社,2011.

    [7] Andrew S. Tanenbaum,Davi J. Wetherall. 计算机网络[M].北京:清华大学出版社,2012.

    [8] Stevens W R. TCP/IP详解[M].北京:机械工业出版社,2000.

    该软件模块功能主要有数据接收模块、数据处理模块、网络连接模块、数据存储模块和数据发送模块五个模块。

    1)网络连接模块:此模块的功能是实现服务端与无线传感器之间的链接;

    2)数据接收模块:该模块是接收无线传感器节点采集到的温室环境数据;

    3)数据发送模块:该模块是将接收到的数据发送给手机端;

    4)数据处理模块:此模块是将接收到的原始数据通过算法转换,解析为容易读懂的数据;

    5)数据存储模块:此模块的功能是用数据库存储原始数据和解析后的数据,方便数据分析。

    2 Android客户端设计

    基于Android手机的应用程序是通过Android SDK2.3来开发的,系统有网络连接模块、数据接收模块、数据解析模块和数据显示模块四大模块组成,如图3所示。

    2.1 网络连接模块

    网络连接模块主要是完成手机端与服务端网络连接的功能,通过输入的IP地址和端口实现了客户端与服务端的链接。

    在链接服务器之前,首先要判断手机是否处于网络连接状态,在Android中ConnecttivityManager类是监测手机的网络状态。本研究中使用WifiManager来管理我们的wifi连接,通过创建WifiManager类的对象,调用getWifiState()方法获取当前WiFi的状态,如果WiFi未启用,则创建ProgressDialog提醒用户等待,同时通过使用Thread(线程),调用setWifiEnabled(true)方法打开WiFi功能,再判断此网络是否可用。

    在手机网络正常的状态下,当手机启动“连接”界面时,系统会创建一个Thread(线程),它主要负责Socket连接的数据接收处理。该线程被激活后,系统首先会使用new Socket(IP,PORT)语句实例化一个Socket对象,该对象拥有IP地址和端口号两个形参,这两个参数指定了系统连接的目标地址。如果手机端与服务端链接正常,则用创建的Handler类对象调用sendEmptyMessage(LOG_SUCCESS)方法来处理更新界面。

    2.2 接收数据与解析模块

    为了方便,接收数据和解析数据模块放在一起研究,这俩模块的功能是完成服务端的数据接收功能,并同时解析成容易识别的数据。首先系统用创建的Socket对象调用getInputStream()方法新建一个InputStream流的对象,再创建一个byte类型的数组msgBuffer变量,用InputStream对象调用read(msgBuffer)方法将数据存入msgBuffer中,在用new String(msgBuffer, "UTF-8").trim()方法将字节型数据转换成字符串数据,然后Handler对象调用sendEmptyMessage(RECEIVE_MSG_SUCCED)方法,启动数据解析方法putDataToNodeList()。再此方法中通过算法,将数据解析成容易是别的数据,在解析后的数据中可以得到光照、温度、湿度、时间、节点物理地址和节点类型等等多种数据。原始数据解析结果如图4所示。

    2.3 数据显示模块

    数据显示模块的主要功能是将解析的数据,显示在手机界面中,让用户可读。显示界面是使用ScrollView和LinearLayout两种布局的套用实现的,在布局中添加了15个TextVIew控件,通过创建TextView控件的对象,调用setText()方法将数据显示在TextView空间中。当点击每条数据时,可以查看详细信息,如是哪个节点、在什么时间传输的数据等等详细信息。如图5所示。

    3 结束语

    本研究设计的远程监测温室系统,是基于Android手机上的APP应用程序。该程序通过与服务器进行通信连接,来获取温室环境中传感器采集到的数据,从而实现了手机端对温室环境进行监测,同时根据实际接收到的数据具体情况,判断温室环境是否处于农作物生长的最佳状态。本系统测试性能良好,能有效的对农业生产环境进行实时监测。

    参考文献:

    [1] 王小强,欧阳俊,黄宁淋.Zigbee无线传感器网络设计与实现[M].北京:化学工业出版社,2013.

    [2] 林城. Android 2.3 应用开发实战[M].北京:机械工业出版社,2011.

    [3] 刘平.Android手机访问服务器的一种数据交互方法[J].西安财经学院学报,2010(9).

    [4] 勒建林,刘晓燕.基于Android系统的无线监控系统[J].软件导刊,2011,10(6):71-72.

    [5] 刘乃安.无线局域网(WALN)原理、技术与应用[M].西安:西安电子科技大学出版社,2004.

    [6] 李刚. 疯狂Android讲义[M].北京:电子工业出版社,2011.

    [7] Andrew S. Tanenbaum,Davi J. Wetherall. 计算机网络[M].北京:清华大学出版社,2012.

    [8] Stevens W R. TCP/IP详解[M].北京:机械工业出版社,2000.

随便看

 

科学优质学术资源、百科知识分享平台,免费提供知识科普、生活经验分享、中外学术论文、各类范文、学术文献、教学资料、学术期刊、会议、报纸、杂志、工具书等各类资源检索、在线阅读和软件app下载服务。

 

Copyright © 2004-2023 puapp.net All Rights Reserved
更新时间:2025/2/11 2:31:08