欢迎来到天天文库
浏览记录
ID:31359278
大小:110.50 KB
页数:7页
时间:2019-01-09
《基于ios及ble的便携气象监测系统终端设计》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、基于iOS及BLE的便携气象监测系统终端设计 摘要:作为蓝牙4.0技术的核心规范,蓝牙低功耗(BLE)无线技术给移动应用程序开发人员提供了访问外部硬件通道,也使硬件工程师方便可靠地从每一个主流移动操作系统访问BLE(BluetoothLowEnergy)设备。研究了蓝牙低功耗技术协议原理及架构,介绍了蓝牙无线通信的几种模式。以iOS为平台提出了一种由BLE气象数据采集模块、iPhone手机以及手机上的专用APP构成的动态气象监测系统方案。 关键词关键词:iOS;iPhone;BLE;气象监测 DOIDOI:10.11907/rjdk.1
2、61944 中图分类号:TP319 文献标识码:A文章编号文章编号:16727800(2016)011010303 0引言 越来越多的手机及可穿戴设备使用蓝牙4.0技术。该技术优点:①低功耗:在静态状态,一节钮扣电池可支持数年之久;②低成本:蓝牙技术逐步成为智能手机标配;③开放性:以2.4GHz频段全球开放。蓝牙4.0技术使可穿戴设备炙手可热,小米手环、苹果公司的iBeacon等产品受到大众欢迎,加速了物联网革命的发展进程[1]。 1BLE协议架构 气象数据监测系统采集模块使用Nordic自主研发的nRF51822蓝牙低功耗2.4
3、GHz片上系统。nRF51822采用优化的32位ARM7Cortex-M0处理器,使BLE模式达到-92.5dBm敏感度,最高达+4dBm的输出功率,支持256KB片上闪存和16KBRAM,成为行业领先者。 蓝牙低功耗(BLE)协议栈分为应用程序、主机和控制器3个部分,如图1所示[2]。应用程序负责与实际用例相关的逻辑、用户界面和数据处理,实现产品特定功能;主机包含GAP、GATT、SMP、ATT、L2CAP以及HCI层,可管理两个或多个BLE设备相互间的通信;控制器主要用于收发编码过的无线信号,并通过解码这些信号获取内部信息包[3]。
4、(1)物理层(PHY)。包含模拟通信电路,负责调制解调,将模拟信号转换成数字信号[4]。 (2)链路层(LL)。负责管理设备协议栈状态,此层定义4个角色:①广告者(Advertiser):发送广告包的设备;②扫描仪(Scanner):扫描广告包设备;③主人(Master):启动连接并对连接进行管理的设备;④奴隶(Slave):接受连接请求并与控制者时间同步[5]。 (3)主机控制接口(HCI)是一个标准协议。允许主机和控制器在串行接口进行通信[6]。 (4)逻辑链路控制和自适应协议(L2CAP)。是一个协议多路复用器,负责将上层的多个协
5、议封装成标准的BLE数据包格式,它支持分段和重组。 (5)安全管理协议(SMP)。既是一个协议也是一系列安全算法,负责为蓝牙协议栈提供生成和交换安全密钥能力,让各节点通过加密链接安全交流,信任远程设备身份[7]。 (6)属性协议(ATT)。是一个简单的客户端/服务器无状态协议,在BLE中,每个设备是一个客户端或一个服务器,或者两者兼有。7 (7)通用访问配置(GAP)。允许BLE设备相互操作。它提供一个框架,任何BLE实现必须允许设备发现彼此、广播数据、建立安全连接以及执行其它基本操作标准。 (8)通用属性协议(GATT)。它是基于属
6、性协议(ATT),添加了一个层结构和数据抽象模型,定义数据如何在应用程序之间组织和交换[8]。 2蓝牙无线通信原理 对BLE网络中的角色、蓝牙通信过程中广告包类型及通信模式介绍如下。 2.1BLE网络中的角色 通用访问配置(GAP)定义了BLE网络中4个角色,每个特定设备可同时扮演一个或多个角色。 (1)广播角色(Broadcaster):定期发送广告包数据,不建立连接,使用链路层(LL)广告角色。 (2)观察角色(Observer):优化了广播设备收集数据的应用程序,观察者角色侦听从广播端嵌入在广告包中的数据,使用链路层(LL)
7、扫描仪角色。 (3)中心角色(Central):相当于链路层(LL)主人角色,能够建立多个连接设备,是连接的发起者。中心角色通常由智能手机或平板电脑扮演。 (4)外围角色(Peripheral):相当于链路层(LL)奴隶角色,这个角色通过广告包使中心角色找到它,随后建立连接[9]。 2.2广告包分类7 蓝牙通讯广告包分3种类型:①是否可连接。扫描仪在接收广告包时是否可开启连接,如果不能,则这个包只用来广播;②是否可扫描。在收到广告包时扫描仪是否可发起扫描请求;③是否定向。定向的广告包只包含广告者和目标扫描仪的蓝牙地址,不允许负载用户数
8、据,所有的定向广告包都可连接,不定向广告包不针对任何特定扫描仪,可包含用户数据[10]。 3系统搭建 软件整体设计基于MVC(Model-View-Contro
此文档下载收益归作者所有