iOS物联网开发(IOT)

物联网,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))