zoukankan      html  css  js  c++  java
  • iOS开发之蓝牙(二)CoreBluetooth

    Core Bluetooth的使用场景

    运动手环、智能家居、嵌入式设备等等(金融刷卡器、心电测量器)

    Core Bluetooth测试比较麻烦,正常情况下,得至少有2台真实的蓝牙4.0设备

     Core Bluetooth的核心结构图

    Core Bluetooth的基本常识

     

    Core Bluetooth的基本常识

    • 每个蓝牙4.0设备都是通过服务(Service)和特征(Characteristic)来展示自己的 一个设备必然包含一个或多个服务,每个服务下面又包含若干个特征
    • 特征是与外界交互的最小单位 比如说,一台蓝牙4.0设备,用特征A来描述自己的出厂信息,用特征B来收发数据
    • 服务和特征都是用UUID来唯一标识的,通过UUID就能区别不同的服务和特征
    • 设备里面各个服务(service)和特征(characteristic)的功能,均由蓝牙设备硬件厂商提供,比如哪些是用来交互(读写),哪些可获取模块信息(只读)

    Core Bluetooth的开发步骤

    1. 建立中心设备
    2. 扫描外设(Discover Peripheral
    3. 连接外设(Connect Peripheral)
    4. 扫描外设中的服务和特征(Discover Services And Characteristics)
    5. 利用特征与外设做数据交互(Explore And Interact)
    6. 断开连接(Disconnect)

    蓝牙的现状

    绝大多数智能手机支持蓝牙 4.0BLE

    蓝牙芯片发展迅速,在性能和效率方面都有很大提高,且不断变得更小更便宜

    iBeacon + 蓝牙,前景一片光明

    应用之一:室内导航

    Estimote公司为iBeacon提供基站

    3iBeacon基站的预购价格为99美元(约合人民币610元)

    Estimote公司推出的iBeacon基站的最远传输距离为50m,但是他们推荐在10m范围内的使用效果最好

     一块纽扣电池就能为一个iBeacon基站提供长达 2 年的使用寿命,而且是在设备不断对外发射信号的情况下

    如何让iOS模拟器也能测试蓝牙4.0程序?

    1. 买一个CSR蓝牙4.0 USB适配器,插在Mac
    2. 在终端输入sudo nvram bluetoothHostControllerSwitchBehavior="never"
    3. 重启Mac
    4. Xcode 4.6调试代码,将程序跑在iOS 6.1的模拟器上(苹果把iOS 7.0模拟器对BLE的支持移除掉了)

    示例代码:https://github.com/dongbobo1992/iOSExamples

  • 相关阅读:
    DockerFile详解--转载
    httpd日志格式
    httpd2.4.6配置文件解释说明
    httpd基于域名虚拟主机配置
    HTTPD三种工作模型
    centos7配置iscsi
    DNS子域授权
    DNS缓存服务器与转发服务器
    函数式编程 pipe之函数柯里化
    typescript安装运行两种方法
  • 原文地址:https://www.cnblogs.com/dongwenbo/p/4285394.html
Copyright © 2011-2022 走看看