基于iOS及BLE的便携气象监测系统终端设计

时间:2022-06-01 04:46:43

基于iOS及BLE的便携气象监测系统终端设计

摘 要:作为蓝牙4.0技术的核心规范,蓝牙低功耗(BLE)无线技术给移动应用程序开发人员提供了访问外部硬件通道,也使硬件工程师方便可靠地从每一个主流移动操作系统访问BLE( Bluetooth Low Energy )设备。研究了蓝牙低功耗技术协议原理及架构,介绍了蓝牙无线通信的几种模式。以iOS为平台提出了一种由BLE气象数据采集模块、iPhone手机以及手机上的专用APP构成的动态气象监测系统方案。

关键词关键词:iOS;iPhone;BLE;气象监测

DOIDOI:10.11907/rjdk.161944

中图分类号:TP319

文献标识码:A 文章编号文章编号:16727800(2016)011010303

0 引言

越来越多的手机及可穿戴设备使用蓝牙4.0技术。该技术优点:①低功耗:在静态状态,一节钮扣电池可支持数年之久;②低成本:蓝牙技术逐步成为智能手机标配;③开放性:以2.4GHz频段全球开放。蓝牙4.0技术使可穿戴设备炙手可热,小米手环、苹果公司的iBeacon等产品受到大众欢迎,加速了物联网革命的发展进程[1]。

1 BLE协议架构

气象数据监测系统采集模块使用Nordic自主研发的nRF51822蓝牙低功耗2.4GHz片上系统。nRF51822采用优化的32位ARM Cortex-M0处理器,使BLE模式达到-92.5dBm 敏感度,最高达+4dBm的输出功率,支持256KB片上闪存和16KB RAM,成为行业领先者。

蓝牙低功耗(BLE)协议栈分为应用程序、主机和控制器3个部分,如图1所示[2]。应用程序负责与实际用例相关的逻辑、用户界面和数据处理,实现产品特定功能;主机包含GAP、GATT、SMP、ATT、L2CAP以及HCI层,可管理两个或多个BLE设备相互间的通信;控制器主要用于收发编码过的无线信号,并通过解码这些信号获取内部信息包[3]。

(1)物理层(PHY)。包含模拟通信电路,负责调制解调,将模拟信号转换成数字信号[4]。

(2)链路层(LL)。负责管理设备协议栈状态,此层定义4个角色:①广告者(Advertiser):发送广告包的设备;②扫描仪(Scanner):扫描广告包设备;③主人(Master):启动连接并对连接进行管理的设备;④奴隶(Slave):接受连接请求并与控制者时间同步[5]。

(3)主机控制接口(HCI)是一个标准协议。允许主机和控制器在串行接口进行通信[6]。

(4)逻辑链路控制和自适应协议(L2CAP)。是一个协议多路复用器,负责将上层的多个协议封装成标准的BLE数据包格式,它支持分段和重组。

(5)安全管理协议(SMP)。既是一个协议也是一系列安全算法,负责为蓝牙协议栈提供生成和交换安全密钥能力,让各节点通过加密链接安全交流,信任远程设备身份[7]。

(6)属性协议(ATT)。是一个简单的客户端/服务器无状态协议,在BLE中,每个设备是一个客户端或一个服务器,或者两者兼有。

(7)通用访问配置(GAP)。允许BLE设备相互操作。它提供一个框架,任何BLE实现必须允许设备发现彼此、广播数据、建立安全连接以及执行其它基本操作标准。

(8)通用属性协议(GATT)。它是基于属性协议(ATT),添加了一个层结构和数据抽象模型,定义数据如何在应用程序之间组织和交换 [8]。

2 蓝牙无线通信原理

对BLE网络中的角色、蓝牙通信过程中广告包类型及通信模式介绍如下。

2.1 BLE网络中的角色

通用访问配置(GAP)定义了BLE网络中4个角色,每个特定设备可同时扮演一个或多个角色。

(1)广播角色(Broadcaster):定期发送广告包数据,不建立连接,使用链路层(LL)广告角色。

(2)观察角色(Observer):优化了广播设备收集数据的应用程序,观察者角色侦听从广播端嵌入在广告包中的数据,使用链路层(LL)扫描仪角色。

(3)中心角色(Central):相当于链路层(LL)主人角色,能够建立多个连接设备,是连接的发起者。中心角色通常由智能手机或平板电脑扮演。

(4)角色(Peripheral):相当于链路层(LL)奴隶角色,这个角色通过广告包使中心角色找到它,随后建立连接[9]。

2.2 广告包分类

蓝牙通讯广告包分3种类型:①是否可连接。扫描仪在接收广告包时是否可开启连接,如果不能,则这个包只用来广播;②是否可扫描。在收到广告包时扫描仪是否可发起扫描请求;③是否定向。定向的广告包只包含广告者和目标扫描仪的蓝牙地址,不允许负载用户数据,所有的定向广告包都可连接,不定向广告包不针对任何特定扫描仪,可包含用户数据[10] 。

3 系统搭建

软件整体设计基于MVC(Model-View-Controller),即模型-视图-控制器,简称MVC。模型提供应用程序所需数据资源。视图是用户可以看到并与之交互的界面。控制器响应视图传递的用户事件,调用模型和视图资源满足用户需求。MVC模式分工明确,降低了模块之间的耦合性,是一种非常流行的设计模式[11]。

3.1 系统框架设计

系统通过蓝牙4.0传输协议接收气象数据采集模块发送的数据,在iPhone上进行气象数据处理分析及显示,系统框架如图2所示。

3.2 模型处理

本系统主要对温度、湿度、气压数据进行实时监测,并绘制相应的变化趋势图,提供气象预测功能。通常,气压随时间增加预示晴天,气压不断减小则更接近阴天或下雨,模型如表1所示。采用滑动均值滤波算法,采样间隔为30分钟。

3.3 数据库设计

数据库采用苹果自带的Core Data框架,它提供了对象-关系映射(ORM)功能,能够将OC对象转化成数据,保存在SQLite数据库文件中,也能够将数据还原成OC对象。本方案创建了两个实体对象:WeatherFob(气象设备对象)和WeatherReading(数据对象),是一对多关系,如图3所示。

3.4 蓝牙模块设计

BLE气象设备信号采集与处理采用CoreBluetooth框架,与第三方蓝牙4.0设备交互。为了减少数据传输开销,方案采用不可连接的蓝牙通信模式,将用户数据封装在广告包中进行广播,过程如图4所示。本方案创建了一个ConnectionManager对象,继承自NSObject类,遵守CBCentralManagerDelegate协议,实现协议中两个方法:

4 系统测试

方案将原始广告包打印在Xcode中的控制台,如图5所示,设备名称是WS,其中气象设备发送的数据包含在KCBAdvDataManufactureData对应关键字中,KCBAdvDataIsConnectable = 0代表该气象设备不可连接。系统将原始数据进行拆分解析显示在iPhone手机上,如图6所示。

5 结语

本方案充分利用了iOS设备强大的计算能力、灵活的

可编程性、足够的存储空间、网络连接功能、便携性等特点,使用蓝牙4.0技术很好地解决了设备能耗问题,使本方案成本更低、速度更快、距离更远,在花费较少的情况下,实现了便携气象监测系统功能。

参考文献:

[1] GENTILI M, SANNINO R, PETRACCA M. Bluevoice: voice communications over Bluetooth Low Energy in the internet of things scenario[J]. Computer Communications, 2016(1):116119.

[2] SEO J, CHO K, CHO W, et al. A discovery scheme based on carrier sensing in selforganizing Bluetooth Low Energy networks[J]. Journal of Network and Computer Applications, 2016(65): 7283.

[3] 徐金苟. 低能耗蓝牙 4.0 协议原理与实现方法[J]. 微型电脑应用, 2012, 28(10): 1619.

[4] 陈子龙, 张红雨, 李俊斌. 蓝牙 4.0 无线传感网数据采集及以太网传输设计[J]. 电声技术, 2013 (10): 7477.

[5] 范晨灿. 基于蓝牙 4.0 传输的 Android 手机心电监护系统 [D]. 杭州: 浙江大学, 2013.

[6] DEORDICA B, ALEXANDRU M. Advertisement using Bluetooth Low Energy[J]. Review of the Air Force Academy, 2014 (2): 6566.

[7] GALININA O, MIKHAYLOV K, ANDREEV S, et al. Smart home gateway system over Bluetooth low energy with wireless energy transfer capability[J]. EURASIP Journal on Wireless Communications and Networking, 2015(1): 118.

[8] ROSEVALL J, RUSU C, TALAVERA G, et al. A wireless sensor insole for collecting gait data[J]. Stud. Health Technol. Inform, 2014(200): 176178.

[9] PHAN R C W, MINGARD P. Analyzing the secure simple pairing in Bluetooth v4.0[J]. Wireless Personal Communications, 2012, 64(4): 719737.

[10] LIN Z M, CHANG C H, CHOU N K, et al. Bluetooth Low Energy (BLE) based blood pressure monitoring system[C].Intelligent Green Building and Smart Grid (IGBSG), 2014 International Conference on. IEEE, 2014: 14.

[11] 郭昊. 基于 ASP .NET MVC3 和jQuery的网站应用开发[D]. 武汉: 华中师范大学, 2013.

上一篇:浅谈如何构建有效的课堂 下一篇:关联分析技术在学生成绩分析中的应用