基于物联网Android平台的水产养殖远程监控系统
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
度、水位、pH 值、溶氧度)清空,同时采用Leabharlann Baidu止 文件自动覆盖技术,即读取系统当前的时间(年、 日、月、时、分、秒单位),提炼出关键信息作为 保存文件的文件名,这样不同时刻保存的文件名称 都有所不同,区别传统的系统设计,保存不需提示 用户输入文件名称,用户只需要记住保存的时间即 可。
系统采用的 SQLite 数据库是 D.Richard Hipp 采 用 C 语言编写的开源嵌入式数据库,是一种与操作 系统无关的 SQL 数据库,具有系统开销小,检索效 率高的特性,嵌入式数据库无须独立运行的数据库 引擎,它是由程序直接调用相应的 API 去实现对数 据的存取操作。嵌入式数据库是一种具备了基本数 据库特性的数据文件。嵌入式数据库与其他数据库 产品的区别是,嵌入式数据库是程序驱动式, 而其 它数据库是引擎响应式。嵌入式数据库的一个很重 要的特点是体积非常小,同时,很多嵌入式数据库 在性能上也优于其他数据库,所以在高性能的应用 上也常见嵌入式数据库。
图 4 1 号鱼塘主控制流程图 Fig.4 Main control flow chart of 1# pound
本系统主要包含 5 个 Activity(选取了 2 个鱼 塘控制),6 个 XML 脚本文件,1 个 MySQLiteHelper 类[14-15],用来创建数据库,Activity 与 Activity 之间 通过 Intent 进行通信以及变量的数据传递,每个文 件的属性以及权限在全局配置文件 manifest.xml[16-17] 中定义。 2.4 数据存取模块设计
1 系统方案设计
系统主要分为底层模块(水质参数实时监测, 控制模块),服务器,本地现场监控,远程监控以 及 Android 手机客户端等模块。系统架构图如图 1 所示。
为了解决系统的野外供电问题,系统采用太阳 能供电方式对底层监测模块进行供电。设计选用了 SOC 系统芯片 CC2430,模块主要负责 pH 值、温 度、水位、溶解氧等环境参数的实时采集,采用 ZigBee 协议[9-10],将采集到的数据通过无线收发模 块发送,同时接收来自服务器的控制命令;溶解氧 传感器采用 DO-952 型溶解氧电极,pH 值传感器采 用上海雷磁公司生产的 E-201-C 型 pH 复合电极。
长荡湖实验基地系统的实际调试,各项指标均达到要求,温度测量精度达到 0.5℃,pH 值测量精度达到 0.3,溶解
氧的控制精度在±0.3 mg/L 以内,水位波动控制在平均±1 cm 左右,能够满足水产养殖的需要。
关键词:水产养殖,远程监控,传感器,物联网,Android
doi:10.3969/j.issn.1002-6819.2013.13.023
SOCKET(套接字)是一种抽象层,应用程序通过 它来发送和接收数据。使用 SOCKET 可以将应用程 序添加到网络中,并与处于同一网络中的其他应用 程序进行通信。一台计算机上的应用程序向 SOCKET 写入的信息能够被另一台计算机上的另 一个应用程序读取,反之亦然。根据不同的底层协 议实现,也会很多种不同的 SOCKET,本系统选用 基于 TCP/IP 协议的 SOCKET 通信方式。为了提高 系统的通信效率,将 SOCKET 通信的接收部分在独 立的线程 Thread 中执行,以保证系统的快速反应性 能。
控制节点的远程控制。系统不受时间地域限制,用户可以在任何具备网络覆盖的地方从手机上浏览并获取数据,
将数据从数据库中导出到用户的 SD 卡上,以 TXT 格式存储,系统多手机用户客户端可以共享一台服务器,具有
很高的性价比。系统采用 CC2430 作为底层管理芯片,控制部分采用模糊 PID 控制算法,系统通过在江苏省溧阳
第 13 期
李 慧等:基于物联网 Android 平台的水产养殖远程监控系统
177
为 AndroidSDK+JAVA JDK6+Eclipse3.5,服务器可 以同时与多个手机客户端进行通信,为每个客户端 分配 1 个端口号,用户登录进入系统之后首先从数 据库中获取服务器的 IP 地址和通信端口号,然后启 动接收 1 组环境参数,并赋值给各个鱼塘监控画面, 1 号鱼塘的具体实现流程如图 4。
在本系统设计中 2 处用到数据库,即在参数设 置以及数据存取模块中。在参数设置模块中,为了 提高系统的操作人性化,用户可以手动设置通信地 址和端口,添加到数据库中,一次设置可以永久保 存,在下次通信时系统自动搜索数据库,取出通信 参数和远程服务器进行通信,如果服务器地址发生 变化,只需要修改客户端的通信数据库中的通信参 数即可。在数据存取模块中,实现了对远程服务器 传送来的水质环境参数进行数据存储,更新以及实 时的查询记录功能,同时考虑到手机自带的 SQLite 数据库容量有限,系统可以将数据库中全部信息以 文本方式保存到用户的 SD 卡上,为了防止重复读 取数据库,在每次保存 TXT 之后将环境数据(温
第 29 卷 第 13 期 2013 年 7 月
农业工程学报 Transactions of the Chinese Society of Agricultural Engineering
Vol.29 No.13 Jul. 2013 175
基于物联网 Android 平台的水产养殖远程监控系统
李 慧 1,2,刘星桥 1,李 景 2,陆晓嵩 1,宦 娟 1
中图分类号:TP273,S24
文献标志码:A
文章编号:1002-6819(2013)-13-0175-07
李 慧,刘星桥,李 景,等. 基于物联网 Android 平台的水产养殖远程监控系统[J]. 农业工程学报,2013,29(13): 175-181. Li Hui, Liu Xingqiao, Li Jing, et al. Aquiculture remote monitoring system based on IOT Android platform[J]. Transactions of the Chinese Society of Agricultural Engineering (Transactions of the CSAE), 2013, 29(13): 175-181. (in Chinese with English abstract)
收稿日期:2013-01-14 修订日期:2013-06-05 基 金 项 目 : 江 苏 省 2013 年 普 通 高 校 研 究 生 科 研 创 新 计 划 项 目 ( CXLX13_669 ); 江 苏 高 校 优 势 学 科 建 设 工 程 资 助 项 目 ( PAPD , NO.6-2011);常州市科技支撑计划(CE20112016) 作者简介:李 慧(1980-),男(汉),江苏淮安人,讲师,江苏大学 博士生,主要从事测控技术以及物联网方面的研究。镇江 江苏省镇江 市学府路 301 号江苏大学电气信息工程学院电气楼 412 创新实验室, 212013。Email: 13645234923@163.com
图 2 Android 客户端架构图 Fig.2 Android framework of client
图 3 1 号鱼塘主控制界面 Fig.3 Main control interface of 1# pound
2.3 客户端主流程设计 Android 手机客户端系统测试采用联想 A288t
手机,Android2.3.5 版本,内核 2.6.35.7。开发环境
2.2 客户端界面设计 Android 系统采用脚本语言完成界面设计,本
系统主要包含登录界面,主功能界面,参数设置以 及若干鱼塘的主控制界面,在主功能界面中可以点 击进入各级主控制界面,1 号鱼塘的主控制界面如 图 3。在该控制界面实时接收 1 号鱼塘的温度、pH 值、水位、溶氧度等环境参数并显示,同时底层控 制[13]将电机的实时工作状态发送给手机,在主控界 面上通过灯泡的亮灭来表示,用户还可以通过点击 3 个 imagebutton 控件(3 个灯泡)来向底层控制模 块远程发送控制命令,控制增氧机、排水泵、补水 泵的启动和关闭,灯泡点亮代表发送启动电机命 令,灯泡熄灭代表发送停止电机工作命令。
在数据库首次创建时执行创建数据库方法,如 果数据库存在则自动打开数据库,然后创建数据表 格,在 onCreate 方法中查询如果表格不存在则调用 方法创建表格,在本设计中要创建 2 个表,一个用 来 管 理 通 信 参 数 , 命 名 为 ip_sevice , 参 数 ip varchar(20),port varchar(10),另外一个用来管理环 境参数,命名为 fish_csjc,参数为 wd varchar(20), ph varchar(20),sw varchar(20),rjy varchar(20)。
2.1 Android 客户端架构 Android 是 Google 开发的基于 Linux 平台的开
源手机操作系统。它包括操作系统、用户界面和应 用程序[11]。本系统采用客户机/服务器模式,服务器 部分采用 VB 结合 SQL 以及 SOCKET 编程实现, 客户机部分采用 Android JAVA 开发,利用自身数 据库 SQLite 实现数据存储,结合 SOCKET 完成网 络通信。最终编译之后打包生成 APK 文件[12],在 Android 手机上可以直接安装,相比传统的水产养 殖无线监控系统,本设计不受时间、地域、环境、 距离等因数限制,在用户手机上设计控制界面,操 作方便灵活,具体架构图如图 2 所示。
(1. 江苏大学电气信息工程学院,镇江 212013;2. 淮阴工学院电子与电气工程学院,淮安 223001)
摘 要:为了促进江苏省智能农业的发展,该文开发了一种基于物联网 Android 平台的水产养殖远程监控系统,
实现了对多传感器节点的信息(pH 值、温度、水位、溶解氧等环境参数)远程采集和数据存储功能,实现了对多
0引言
随着科学技术的高速发展,物联网已成为当前 世界经济和科技发展的战略制高点之一,发展物联 网对于促进经济发展和社会进步具有重要的现实 意义,物联网技术已经迅速深入到人们日常生活的 各个领域。目前国外,在农业生态环境监测领域, 美国、法国和日本等一些发达国家主要综合运用高 科技手段构建先进农业生态环境监测网络,通过先 进的传感器感知技术、数据融合传输技术以及互联 网技术建立覆盖全国的农业信息化平台,实现了对 农业生态环境的自动监测,保证农业生态环境的可 持续发展。例如,美国已形成了生态环境信息采集 -信息传输处理-信息发布的分层体系结构。法国利 用通信卫星技术对灾害性天气进行预报,对病虫害 进行测报。而在水质环境测量方面,水产养殖对环 境有着非常高的要求,这对水质监控的实时信息反 馈提出了很高的要求,国外的自动监控设备测量精
度较高,但在信息传输方面大多以有线方式,而且 成本较高,基于物联网 Android 平台的水产养殖远 程监控技术未见报道;而在国内,水质环境的监控基 本处于人工采样、化学分析的人工监测阶段,操作耗 时费力、精确度不高、实时性不好,少数便携式仪表 还存在使用维护困难等问题[1-4]。南京农业大学和中国 农业大学做了相关研究,取得了一些成果[5-8]。本监控 系统采用物联网技术,基于 Android 平台,系统实 时性强,采用手机无线通讯的方式对水质环境进行 实时监控、跟踪,系统操作简单、数据输出快而精 确,可以实现水产养殖全过程的连续或适时监控。
176
农业工程学报
2013 年
服务器模块主要用于接收数据并通过无线网与 Android 手机客户端进行网络通信[7];Android 手机
客户端主要完成同服务器的数据交互,以及自身的 数据库管理、网络通信等功能。
图 1 系统总体设计图 Fig.1 Whole layout of system
2 Android 客户端设计
Android 操纵 SQLite 数据库,与传统的高级语 言类似,采用 SQL 语句来完成数据的新增、修改等 操作,对新增记录采用 insert 语句,修改记录用 update 语句,删除用 delet 语句。在系统查询中采用 通过访问 Cursor 游标下标的方法来获得其中数据。
2.5 通信模块设计 通信模块主要采用 SOCKET 通信方式[18],