美文网首页iOS开发物联网
iOS物联网开发(IOT)

iOS物联网开发(IOT)

作者: JackHZG | 来源:发表于2019-11-10 00:17 被阅读0次

    物联网,Internet of things(IoT)。蓝牙设备、WIFI设备。
    应用领域:智能仓储、智慧物流、只能家庭、智能医疗、智能农业等
    蓝牙(Bluetooth):是一种无线技术标准,可实现固定设备、移动设备和楼宇个人域网之间的短距离数据交换。蓝牙可连接多个设备,克服了数据同步的难题。
    蓝牙一般距离是40-50m,实际使用的都是10m内,信号才比较正常。
    蓝牙是由蓝牙技术联盟管理。蓝牙技术联盟负责监督蓝牙规范的开发,管理认证项目,并维护商标权益。制造商的设备必须符合蓝牙技术联盟的标准才能以“蓝牙设备”的名义进入市场。蓝牙技术拥有一套专利网络,可发放给符合标准的设备。

    蓝牙4.0是2012年最新蓝牙版本,是3.0的升级版本,比3.0版本更省电、成本地、3毫秒低延迟、超长有效连接距离、AES-128加密等;通常用在蓝牙耳机、蓝牙音箱、智能硬件等设备上。

    蓝牙通讯流程

    服务端(外设)是提供数据的设备,向外广播信息

    客户端(中心)扫描并监听感兴趣的广播

    客户端搜到感兴趣的外设后,可以连接外设,并扫描外设的具体服务和通讯通道,之后即可通过通讯协议进行数据收发。

    以下是苹果官方交互流程:

    Central(中心) Peripheral(外设)


    服务端发送数据给客户端 外设发送广播信息

    CoreBluetooth框架结构

    中心设备

    当你使用本地中心设备与远程外围设备进行交互时,你会在蓝牙低功耗通信的中央设备上执行操作。除非你设置本地外围设备(并使用它来响应中央设备的请求),否则蓝牙交互都将在中央设备上进行。

    中心设备核心对象
    CBCentralManager

    CBCentralManager:蓝牙中心设备管理类,用来统一调度中心设备的开发(扫描、连接等)
    CBPeripheral:蓝牙外设,用于管理发现或连接的远程外围设备,包括扫描,发现和连接到广告外围设备。例如蓝牙血压计、心率监测仪。
    CBService:蓝牙外设的服务,可以是0~N个服务。
    CBCharacteristic:服务中的特征,每一个蓝牙服务中可以有0~N个特征,特征中包含数据信息。具有读、写、通知等属性。
    CBUUID:服务或特征的身份证,用来选择需要的服务和特征。比如心率检测仪的服务UUID:0x180D。

    外设设备

    外设设备核心对象
    CBPeripheralManager

    CBPeripheralManager:蓝牙外设开发时使用,用来开发蓝牙外设的中心管理类。
    CBCentral:蓝牙中心设备,例如用来连接蓝牙手环的手机。
    CBMutableService:外设开发的时候可以添加多个服务,可以用来创建服务
    CBMutableCharacteristic:每个服务中有多个特征,使用此类给服务添加特征。
    CBATTRequest:读或者写请求。它的实例对象有一个value属性,用来装载外设进行蓝牙读取或写入请求时的数据,一般在外设写入或者读取的回调方法中有这个参数。

    自定义UUID

    开发外设的Service或Characteristics不包含在常用的蓝牙UUID里面,可以打开Terminal,通过uuidgen命令生成一个128位的UUID
    比如:2516E2ED-CD3C-4DD0-826A-A4FEA79B4377

    参考文档:
    CoreBluetooth编程指南
    CoreBluetooth框架
    蓝牙官网

    相关文章

      网友评论

        本文标题:iOS物联网开发(IOT)

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