APP下载

船舶尾气监测系统设计

2018-10-13汪佳瑶安博文

现代计算机 2018年23期
关键词:字节尾气蓝牙

汪佳瑶,安博文

(上海海事大学信息工程学院,上海 201306)

0 引言

目前,海事部门对船舶尾气的排放监管依旧采用人工的方式,比较耗时且成本较高。随着电子技术的发展,智能移动设备得到迅速普及,如果能利用手中的移动设备来监测船舶尾气的排放,会大大提高海事部门的监管效率[1]。

本文根据船舶尾气监测系统软件应用的实际需求,利用蓝牙和Android相关技术,设计了无线连接控制气体检测装置以及在Android应用程序上实时显示监测数据的软件应用模块。相较于传统方式,该软件应用设计具有一定的智能化和便捷性。

1 相关技术

1.1 Android系统

Android系统是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发[2]。Android操作系统最早由Andy Rubin开发,2005年8月由Google收购注资。随后,Google以Apache免费开放源代码许可证的授权方式,发布了Android的源代码,开放源代码加速了Android普及与发展。

1.2 蓝牙技术

蓝牙是一种短距离的无线数据通信技术,能够在包括手机、无线耳机、笔记本电脑等众多设备间进行无线信息传输。蓝牙技术采用分散式网络结构以及快跳频和短包技术,支持点对点以及点对多点通信,工作频段为2.4GHz,数据速率为1Mb/s,并且采用时分双工传输方案实现全双工传输[3]。Android 2.0以上版本的SDK包含了对蓝牙网络协议栈的支持,使得蓝牙设备能够无线连接其他蓝牙设备进行数据交换[4]。此外,Android应用程序框架提供了访问蓝牙功能的API,调用这些API能够让应用程序无线连接其他蓝牙设备,实现交互功能。

2 船舶尾气监测系统软件设计

2.1 服务端软件设计

(1)数据库设计

数据库是本设计不可或缺的一部分,客户端和数据服务器是基于数据库进行数据通信的。本设计中采用的数据库是MySQL,MySQL是一种关系型数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。本设计的MySQL数据库的ER图设计如图1所示,其中实体部分主要由无人机、尾气设备、船舶三个部分组成。无人机包括经度,纬度和当前的时间信息,尾气传感设备包括SO2和NOx浓度。船舶包括MMSI、COG、SOG等信息。无人机通过搭载尾气传感设备的方式,一对一联系约束。气体检测装置中的尾气传感设备和船舶通过尾气检测,一对多联系约束。

图1 系统数据库ER图

(2)气体数据存储表

在服务端建立数据库存储表,存储船舶气体检测设备检测的气体数据,分为历史数据和最新数据表,历史数据表包括所有接受的数据,最新数据表只包括两类中最新一条接收的数据,方便客户端调用。

发送时单次发送的数据长度为18个字节,从第0字节到第17字节。其中,第0字节为起始位拟定为0xFF,第1-2字节为设备号用于确定数据发送设备的信息,第2-5字节位时间位Small Datetime,为所采集的数据的采集时间,该部分信息前2个字节存储base date(2018年1月1日之后的天数)。后2个字节存储午夜0点后的分钟数。第6-9字节为所采集的气体的浓度值,单位为ppb。第10-16个字节为无人机的经纬度,获取当前无人机的信息。为了防止信息的泄露或者不完整性,第17字节设置了校验码,校验码的检测标准为求和校验(第2字节至第10字节的和取反+1)。

2.2 蓝牙通信模块设计

(1)功能概要

Android应用程序通过蓝牙与气体检测装置配置命令的交互过程描述为:首先,Android应用程序打开蓝牙,搜索气体检测装置的蓝牙与其配对并建立连接。然后,Android应用程序发送一个开始采集的指令,气体检测设备收到指令并回复后,设备登记完成,气体检测装置开始采集信息。此时Android应用程序访问数据服务器,界面显示采集到的气体信息,并且实时刷新数据,直至采集结束。蓝牙控制模块流程图如图2所示。

图2 蓝牙控制模块流程图

(2)蓝牙通信的功能实现

本设计中主要是手机终端与气体检测装置中的蓝牙模块之间进行通信,从而控制气体检测装置的开关。该过程可以认为是客户端与服务器端之间的通信。在Android系统中,支持的蓝牙开发类在android.bluetooth包中,蓝牙设备的管理涉及到的类有Blue⁃toothAdapter与 BluetoothDevice两个类,其中,Blue⁃toothAdapter代表本地设备的蓝牙适配器,是所有蓝牙交互的入口点。该BluetoothAdapter可以执行基本的蓝牙任务,例如启动设备发现,查询配对的设备列表,使用已知的MAC地址实例化一个BluetoothDevice类,并创建一个BluetoothServerSocket监听来自其他设备的连接请求。BluetoothDevice类代表了一个远端蓝牙设备,使用它请求远端蓝牙设备连接,或者获取远端蓝牙设备的信息。

与蓝牙通信相关的类有BluetoothServerSocket和BluetoothSocket类,BluetoothServerSocket类用于监听来自客户端的连接请求,BluetoothSocket类代表了一个蓝牙套接字接口,能够获取输入、输出流并与其他蓝牙设备进行通信。

蓝牙通信的实现过程主要分为以下几个部分:

①声明权限。

为了在应用中使用蓝牙功能,需要在AndroidMani⁃fest.xml中申明以下权限:

②打开设备。

获取蓝牙适配器:

BluetoothAdapter mBluetoothAdapter=bluetoothManager.getAdapter()。

③查找附近已配对或可用设备。

mBluetoothAdapter.startDiscovery()。

④连接设备。

connected(socket,socket.getRemoteDevice())。

⑤设备间数据交互。

InputStream mInStream=socket.getInputStream();

mInStream.read(buffer);

OutputStream mOutStream=socket.getOutputStream();

mOutStream.write(buffer)。

通过广播接收者查看扫描到的蓝牙设备,该方式是异步传输,每扫描到一个设备,系统都会发送此广播(BluetoothDevice.ACTION_FOUNDE),通过 intent方式可以获取蓝牙设备BluetoothDevice。移动终端与尾气检测设备连接成功后,通过getInputStream()和getOut⁃putStream()方法获取输入流和输出流来处理传输,调用read(byte[])和write(byte[])来实现数据流的读和写。

(3)Android端蓝牙通信界面

图3和图4分别是蓝牙通信模块的搜索界面和蓝牙通信界面,通过蓝牙通信模块实现与尾气监测设备的交互、控制,当手机的蓝牙与设备的蓝牙模块建立连接后,发送一个指令start,蓝牙模块回复一个指令OK,设备开始采集信息。

2.3 监测数据显示模块设计

(1)功能概要

该模块主要是在手机App上显示监测数据信息,包括无人机的经纬度、编号信息以及二氧化硫和一氧化碳的浓度信息,让用户可以直观地监测船舶尾气的排放情况。显示的监测信息都是当前时刻的最新信息,体现了信息的即时性。

(2)监测数据显示

当气体检测设备开始采集信息时,手机控制端通过 HTTP协议访问数据服务器[5],使用 Android的HttpURLConnection类,并采用Get的方式发送请求。访问成功后,获取到JSON格式的数据,即有序的JSO⁃NArray数组对象,因此需要将JSON数据进行解析。首先,要新建JSONObject对象,再获取对应的数组,最后遍历数组中的每个值获得监测信息数据。

为了满足监测系统实时性的需求,利用Android中的多线程技术,设置了一个定时器,使得数据每隔五秒更新一次,手机界面能够显示当前时刻最新的数据。定时器是耗时操作,所以在UI主线程的基础下,另开一个子线程来实现定时器的功能,采用的是Handler+Thread方法。最终,监测数据显示模块的流程图如图5所示。

图3 蓝牙通信的搜索界面

图4 蓝牙模块的通信界面

图5 监测数据显示模块流程图

图6 监测数据显示界面

3 实验测试

系统软件应用设计完成后,结合气体检测装置,在港区进行测试。首先在服务端部署好相应的软件模块,然后打开手机Android应用程序的蓝牙通信界面和气体检测装置中蓝牙模块进行数据通信,实现两者的控制、交互。最后点击访问服务器的按钮,访问服务器,获取监测数据,最终检测信息显示界面如图6所示。界面结果表明,本文的设计能够实时准确地获取当前时刻的监测数据,包括无人机的经纬度、编号和气体浓度信息,无人机信息能够为后续的系统开发做铺垫,气体浓度信息可以使用户直观便捷地了解船舶尾气的排放情况。

4 结语

本文介绍了一种船舶尾气实时监测系统软件应用设计,利用蓝牙无线通信的特点和Android平台下数据显示的直观性、实时性,从服务端软件设计为入口点,设计了气体检测装置和移动智能终端的通信模块,最终在Android应用程序界面上呈现监测数据信息。结果显示,软件模块运行稳定,界面数据显示准确,实时性好,满足监管需求,具有良好的应用前景。

猜你喜欢

字节尾气蓝牙
蓝牙音箱的直线之美
活性炭生产尾气处理技术
No.8 字节跳动将推出独立出口电商APP
帮你轻松找到AirPods的神奇工具
No.10 “字节跳动手机”要来了?
建立“尾气治理”项目对汽车维修企业的影响分析
汽车维修企业“尾气治理”项目的建立与运营
“悲催”的开心鼠
蓝牙4.0落地加速
人类进入“泽它时代”