理论教育 基于蓝牙技术的测试数据自动上传方案

基于蓝牙技术的测试数据自动上传方案

时间:2023-06-18 理论教育 版权反馈
【摘要】:基于蓝牙U盘的检测数据自动上传原理如图3-22所示。图3-22基于蓝牙U盘的检测数据自动上传原理示意图传输蓝牙设备内文件,使用的是BLE通信协议,移动管理终端和蓝牙数据采集终端之间进行数据传输的流程如图3-23所示。移动APP通过以上协议,完成对蓝牙设备端刷新、获取文件、删除命令的发送、接收蓝牙设备端返回的温湿度数据和所存文件的功能。

基于蓝牙技术的测试数据自动上传方案

部分检测设备不存在SD卡或设备中SD卡替换较困难,针对此类设备,考虑利用设备提供的供数据拷贝和转移的USB接口,开发具有蓝牙无线连接和传输功能的U盘进行检测设备数据的获取和传输。

智能数据采集终端(蓝牙U盘)与移动管理终端(Pad)APP之间使用蓝牙方式进行数据传输,采集终端以U盘方式接入检测仪器,检测仪器将检测数据文件写入采集终端存储器内,移动APP实时扫描并读取采集终端内的检测数据文件。一台智能采集终端可兼容不同厂家、不同仪器的现场数据收集需要。基于蓝牙U盘的检测数据自动上传原理如图3-22所示。

图3-22 基于蓝牙U盘的检测数据自动上传原理示意图

传输蓝牙设备内文件,使用的是BLE(蓝牙低功耗设备)通信协议,移动管理终端和蓝牙数据采集终端之间进行数据传输的流程如图3-23所示。

图3-23 利用蓝牙进行数据无线上传的流程示意图

在 Android 移动端,通过系统API服务获取到蓝牙管理器(Bluetooth Manager),并以此蓝牙管理器得到蓝牙适配器(Bluetooth Adapter)与低功耗蓝牙设备扫描器(Bluetooth Le Scanner),开始扫描。与此同时,配置扫描(Scan Callback)回调接口,完成后续发现设备、连接设备并与设备通信等一系列操作。发现设备(Bluetooth Device)后,通过与指定设备连接,获得蓝牙中央处理器来使用和处理数据,通过蓝牙中央处理器可以连接设备(connect),发现服务(discover Services),并把相应地属性返回到蓝牙中央处理器,蓝牙中央处理器回调接口返回蓝牙的状态和周边提供的数据。通过蓝牙中央处理器回调接口实现其中的蓝牙服务发现(on Services Discovered)、蓝牙连接状态变化(on Connection State Change)、蓝牙数据写入(on Characteristic Write)、蓝牙数据读出(on Characteristic Read)、蓝牙数据传输变化(on Characteristic Changed)的方法,完成蓝牙服务创建、连接状态改变、与蓝牙设备读写通信等功能。其中,蓝牙数据特征值(BluetoothGattCharacteristic)作为移动APP与蓝牙设备通信的载体,将移动终端发送的命令“运送”至蓝牙设备,同时又将蓝牙设备数据处理结果返回至移动终端。

移动APP通过以上协议,完成对蓝牙设备端刷新、获取文件、删除命令的发送、接收蓝牙设备端返回的温湿度数据和所存文件的功能。

蓝牙U盘通信程序主要功能如图3-24所示。

图3-24 蓝牙智能数据采集终端功能示意图

数据采集移动终端通过C++程序,实现了ARM Linux下蓝牙SPP协议通信,包括实现目录浏览、文件读取和删除、温湿度数据读取和发送、U盘刷新重载、命令执行等功能。各模块功能如下:

(1)蓝牙初始化:主要对与蓝牙模块通信的UART(通用异步收发传输器)接口的波特率、数据位、停止位、校验位、等待时间等通信参数进行设置,确保其与蓝牙模块能够正常通信。(www.daowen.com)

(2)蓝牙通信设置:可以通过命令方式对蓝牙模块进行设置,包括波特率等通信参数、数据传输模式(命令方式、透传方式)、睡眠模式等。

(3)目录读取:主要刷新读取U盘内文件,将目录内容形成文件,并将文件通过蓝牙通信功能模块发送回移动APP。

(4)文件操作:包括对U盘内文件的读取、备份和删除功能。移动APP根据目录选择需要操作的文件,发送命令给蓝牙U盘,蓝牙U盘根据文件操作命令操作U盘文件。

(5)U盘重载:包括系统刷新读取检测装置以写入U盘内容,还有重新装载U盘驱动,使得检测装置或计算机能够识别系统对U盘内容的修改,以确保系统和检测装置对U盘操作的同步性。

(6)命令执行:通过特有标识,识别命令指令,并在系统下执行,实现移动APP通过远程命令方式对蓝牙U盘进行系统命令操作。

(7)自动更新:自动识别U盘内更新程序,完成程序自动更新,以及在系统启动时完成U盘的自我修复功能。

(8)温湿度读:直接获取缓存中的实时温湿度值,发送给移动APP。

(9)温湿度模块初始化:主要对与温湿度模块通信的UART接口的波特率、数据位、停止位、校验位、等待时间等通信参数进行设置,确保与温湿度模块能够正常通信。

(10)温湿度通信设置:可以通过命令方式对温湿度模块进行设置,包括波特率等通信参数。

(11)温湿度获取:采用独立线程方式,通过接口循环读取实时温湿度检测数据,识别并缓存温湿度数据。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈