CB蓝牙相关基础整理

作者: 石丘 | 来源:发表于2015-08-07 09:15 被阅读226次
    从电磁波说起

    电磁波是由同相且互相垂直的电场与磁场在空间中衍生发射的震荡粒子波,是以波动的形式传播的电磁场,具有波粒二象性。电磁波不依靠介质传播,电磁波在真空中速率固定,速度为光速。

    电磁波伴随的电场方向,磁场方向,传播方向三者互相垂直,因此电磁波是横波。

    当其能阶跃迁过辐射临界点,便以光的形式向外辐射,此阶段波体为光子,太阳光是电磁波的一种可见的辐射形态。

    电磁辐射由低频率到高频率,主要分为:无线电波、微波、红外线、可见光、紫外线、X射线和伽马射线。

    人眼可接收到的电磁波,称为可见光(波长380~780nm)。

    通常意义上所指有电磁辐射特性的电磁波是指无线电波、微波、红外线、可见光、紫外线。而X射线及γ射线通常被认为是放射性辐射特性的

    从科学的角度来说,电磁波是能量的一种,凡是高于绝对零度(摄氏温标零下273.15摄氏度)的物体,都会释出电磁波.且温度越高,放出的电磁波波长就越短.
    无线电波3000米~0.3毫米(微波0.1~100厘米)
    红外线0.3毫米~0.75微米(其中:近红外为0.763微米,中红外为36微米,远红外为615微米,超远红外为15300微米)
    可见光0.7微米~0.4微米
    紫外线0.4微米~10纳米
    X射线10纳米~0.1纳米
    γ射线0.1纳米~1皮米
    高能射线小于1皮米
    传真(电视)用的波长是3~6米
    雷达用的波长在3米到几毫米。

    无线电波:
    ULF = 特低频
    ELF = 极低频
    1 甚低频(VLF) 3~30千赫(KHz) 甚长波 100~10km
    2 低频 (LF) 30~300千赫(KHz) 长波 10~1km
    3 中频 (MF) 300~3000千赫(KHz) 中波 1000~100m
    4 高频 (HF) 3~30兆赫(MHz) 短波 100~10m
    5 甚高频(VHF) 30~300兆赫(MHz) 米波 10~1m
    6 特高频Ultra High Frequency(UHF) 频率为 300~3000兆赫(MHz) 该波段的无线电波又称为分米波.
    这个频段的无线电波常用于广播电视领域,我国广播电视在这个频段使用470到806MHz.这个频段的电波可以用小而短的天线作收发,适合移动通信.
    例如:军用航空无线手机:(800MHz,1.5GHz);无线网络:(2.4GHz);业余无线电:(430MHz,1200MHz,2400MHz)。

    微波:
    7 超高频(SHF) 3~30吉赫(GHz) 厘米波 10~1cm
    8 极高频(EHF) 30~300吉赫(GHz) 毫米波 10~1mm
    9 至高频 300~3000吉赫(GHz) 丝米波 1~0.1mm

    γ = 伽马射线
    X射线:
    HX = 硬X射线
    SX = 软X射线
    紫外线:
    EUV = 极端紫外线
    NUV = 近紫外线
    红外线:
    NIR = 近红外线
    MIR =中红外线
    FIR = 远红外线

    计算

    c=λf
    c:波速(光速是一个常量,真空中约等于3×10^8m/s) 单位:m/s
    c=299792.458km/s≈3×108m/s
    f:频率(单位:Hz,1MHz=1000kHz=1×106Hz)电磁每秒钟变动的次数便是频率f,Hz 是频率的单位。频率是指电脉冲,交流电波形,电磁波,声波和机械的振动周期循环时,1秒钟重复的次数
    λ:波长(单位:m)
    真空中电磁波的波速为c,它等于波长λ和频率f的乘积
    c=λf
    波长越长频率越低
    波长λ =300/频率F(GHz)mm

    现在可以了解蓝牙了

    蓝牙是一种无线技术标准,可实现固定设备、移动设备和楼宇个人域网之间的短距离数据交换(使用2.4—2.485GHz的ISM波段的UHF无线电波)。
    2.4GHz频段为各国共同的ISM频段。因此无线局域网、蓝牙、ZigBee等无线网络,均可工作在2.4GHz频段上。
    也就是说蓝牙就是波长1.25~1.20米 频率2.4—2.485GHz的电磁波

    传统蓝牙数据传输速率小于 3Mbps,典型数据传输距离为 2-10m,蓝牙技术的典型应用是在两部手机之间进行小量数据的传输。
    Smart Ready(双模) 可以和 Smart Ready、传统蓝牙(BR) ,以及 Smart(单模)之间相互连接和通信。
    传统蓝牙可以和 Smart Ready、传统蓝牙之间连接和通信
    Smart 可以和 Smart、Smart Ready 之间连接和通信

    BLE简介

    BLE 是一种标准,该标准定义了短距离、低数据传输速率无线通信所需要的一系列通信协议。
    基于 BLE 的无线网络所使用的工作频段为 868MHz、915MHz 和 2.4GHz,最大数据传输速率为 250kbps。
    BLE 规范中定义了 GAP(Generic Access Profile)和 GATT(Generic Attribute)两个基本配置文件。
    协议中的 GAP 层负责设备访问模式和进程,包括设备发现,建立连接。终止连接。初始化安全特征和设备配置。
    协议栈中的 GATT 层用于已连接的蓝牙设备之间的数据通信。

    BLE 特点

    总体而言,BLE 技术具有如下特点:
    (1)高可靠性
    蓝牙技术联盟 SIG 在指定蓝牙 4.0 规范时已经考虑到传输过程中的内在的不确定性,在射频,基带协议,链路管理协议中采用可靠性措施,包括:差错检测和矫正,进行数据编解码,数据加噪等,提供蓝牙传输的可靠性,使用自适应调频技术,减少和其他 2.4G 无线电波的串扰。
    (2)低成本、低功耗
    低功耗蓝牙支持两种部署方式:双模式和单模式,一般智能机上采用双模,外设一般采用 BLE 单模。BLE 技术可以应用于 8-bit MCU(微控制单元,单片机),外接几个阻容器件构成的滤波电路和PCB(Printed Circuit Board)天线(电路板上的天线)即可实现网络节点的构建。
    低功耗设计:蓝牙 4.0 强化了在数据传输上的低功耗性能,功耗较传统蓝牙降低了 90%。传统蓝牙设备的待机耗电量一直是其缺陷之一,这与传统蓝牙技术采用 16——32个频道进行广播有很大关系,而低功耗蓝牙仅适用 3 个广播通道,且每次广播时射频的开启时间也有传统的 22.5ms 减少到 0.6~1.2ms,这两个协议规范的改变,大幅降低了因为广播数据导致的待机功耗。
    低功耗蓝牙设计用深度睡眠状态来替换传统蓝牙的空闲状态,在深度睡眠状态下,主机Host长时间处于超低的负载循环Duty Cycle(工作周期)状态,只在需要运作时由控制器来启动,由于主机较控制器消耗的能源更多,因此这样的设计也节省了更多的能源。
    例如,一般情况下,市面上每节 5 号电池的电量为 1500mA.h,对于两节 5 号电池供电的终端节点而言,总电量为 3000mA.h,即电池以 ImA 电流放电,可以连续放电3000h(理论值),如果放电电流为 lOOmA,则可以连续放电 30h。
    ·终端节点在数据发送期间需要的瞬时电流是 29mA;·数据接收期间所需要的瞬时电流为 24mA。再加上各种传感器所需的工作电流,为了讨论问题方便,假设各种传感器所需的工
    作电流为 30mA(这个工作电流已经很大了),那么数据发送期间所需要的总电 流为59mA,数据接收期间所需要的总电流为 54mA,为了讨论问题方便,总电流取 60mA,表面上 2 节 5 号电池可以供终端节点连续工作 50h。 但是,对应实际系统,终端节点对数据的采集一般是定时采集,例如采集 50s 数据,由于温度变化减慢,所以可以定时采集,在此假设终端节点每小时工作 50s,其他时间都在休眠(其他时间都在休眠,休眠时工作电流在微安级'所以可以忽略不计)。
    那么实际上情况是:系统采用 2 节 5 号电池供电,终端节点工作电流为 60mA,每小时工作 50s(其他时间都在休眠,休眠时工作电流在微安级,所以可以忽略不计),可以计算出2节5号电池可以供终端节点工作时间为:3600h=150天,即大约半年时间,这也就是很多介绍 BLE 技术的书籍中提到的“对于 BLE 终端节点' 使用 2 节 5 号电池供电,可以工作半年的时间”的理论侬据。请读者注意,上述分析是针对的终端节点,对于路由节点和协调器而言,要一直供电来确保数据的正确路由,所以一般不谈低功耗问题。
    (3)快速启动、瞬间连接
    此前蓝牙版本的启动速度非常缓慢,2.1 版本的蓝牙启动连接需要 6s 时间,而蓝牙4.0 版本仅需要 3ms 即可完成,几乎是瞬间连接。
    (4)传输距离极大提供
    传统蓝牙传输距离一般 2-10m,而蓝牙 4.0 的有效传输距离可以达到 60~100m,传输距离提升了10 倍,极大开拓了蓝牙技术的应用前景。
    (5)高安全性
    为了保证数据传输的安全性,使用 AES-128 CCM 加密算法进行数据包加密认证,对于初学阶段,安全性问题可以暂时不考虑。
    (6)低数据速率
    无线控制系统对数据传输的可靠性和安全性、系统功耗和成本等方面有着特殊的要求,因此,目前的无线网络协议没有很好地解决这些特殊的要求。

    iOS下的蓝牙

    iOS下的链接外部设备的框架有两个
    ExternalAccessory.framework
    外部附件框架 出现于iOS3.0用这个框架需要获取License:MFI认证查询.
    CoreBluetooth.framework
    蓝牙中心框架 需要支持蓝牙4.0以上的设备,出现于iOS6.0.

    还有两个仅支持iOS设备之间的传输,传输内容仅限于沙盒或者照片库中用户选择的文件.
    GameKit.framework
    iOS7之前的蓝牙通讯框架,从iOS7开始过期,只能在同一个应用之间进行传输.
    MultipeerConnectivity.framework
    iOS7开始引入的新的蓝牙通讯开发框架,用于取代GameKit.

    CoreBluetooth

    Bluetooth low energy wireless technology蓝牙低功耗无线技术
    iOS的蓝牙框架CoreBluetooth是建立在蓝牙4.0协议上的
    所以先看下哪些设备支持4.0
    iphone 4s及之后手机全部支持
    ipod nano 7同上
    ipod touch 5同上
    The new iPad 即iPad3从3开始包括3及之后的4、mini系列、air全部支持

    相关概念

    central 和peripheral 即中心和周边设备


    官方文档截图

    对应client - server模式 就是 手机是客户端要获取数据(wants data) 蓝牙设备是服务器拥有数据(has data)

    CBCentralManager 中心管理器,主要用来搜索外设,连接外设以及处理外设断开的情况.

    CBPeripheral 用于在蓝牙中心管理器成功连接外设之后的一系列动作,如:读取外设的服务号CBService,特征值号CBCharacteristic以及对这些特征值号进行读写操作等

    扫描peripheral 然后去连接这个设备 连接上之后你就可以去发现里面的服务services 再从services中发现characteristic 而characteristic就是你能操作的最小单位

    BLE最多可以同时连接

    相关文章

      网友评论

      • iii余光:最多可以同时连接多少个外围设备呢
        石丘:@LH正能量 拿到peripheral的identifier 就可以调用这个方法根据identifier直接获取per 然后connect 不需要scan
        iii余光:@石丘 对头 能说一下 retrievePeripheralsWithIdentifiers 的具体作用么 我现在打算用它来做恢复重连的机制 我们以前的机制是用scan 之后再连接 然后隔一段时间scan 扫到就去连接 保证外围设备在唤醒发广播的时候可以自动重连上 现在我想换一个机制 用上面的方法 你有什么更好的方案么 可以交流下
        石丘:@LH正能量 以前有限制7个 现在没限制了 不过多了还是会不稳定

      本文标题:CB蓝牙相关基础整理

      本文链接:https://www.haomeiwen.com/subject/kyrbqttx.html