低功耗蓝牙

BLE——低功耗蓝牙(Bluetooth Low Energy)

旧时模样 提交于 2019-11-27 22:33:31
1、简介 以下蓝牙协议特指低功耗蓝牙协议。 蓝牙协议是由SIG制定并维护的通信协议,蓝牙协议栈是蓝牙协议的具体实现。 各厂商都根据蓝牙协议实现了自己的一套函数库——蓝牙协议栈,所以不同厂商的蓝牙协议栈之间存在差别,但都遵循 SIG 制定的蓝牙协议。 蓝牙技术的实质是建立通用无线接口及其控制软件的标准,使移动通信与计算机网络之间能实现无缝连接。蓝牙通讯最初设计初衷是方便移动电话(手机)与配件之间进行低成本、低功耗无线通信连接。通俗地说,蓝牙最初就是为了替代串口,实现无线串口的功能。 蓝牙4.1就是一个大杂烩:BR/EDR沿用旧的蓝牙规范,LE抄袭802.15.4,AMP直接使用802.11。以上操作的目的是为了提高蓝牙的兼容性和易用性,但是需要在功耗和传输速率之间取得平衡,整体来说,这个设计并不十分优雅,只是存在即合理。 标准号:IEEE 802.15.1 核心:低功耗技术,即Low Energy RF 规格 工作频段:2.4GHz~2.4835GHz,ISM(Industrial,Scientific and Medical)频段; 工作频道:40个频道,每个频道2MHz的间隔,3个广播信道(37-2402MHz,38-2426MHz,39-2480MHz),37个数据信道,广播报文还是数据报文由信道决定; 调制方式:GFSK,调制指数为0.5 中心频率容限:±150kHz 功耗

低功耗蓝牙UUID三种格式转换

元气小坏坏 提交于 2019-11-27 20:35:33
熟悉BLE技术同学应该对UUID不陌生,服务、特征值、描述都是有UUID格式定义。 蓝牙广播中对服务UUID格式定义都有三种16 bit UUID、32 bit UUID、128 bit UUID。 但是熟悉安卓开发的小伙伴都知道接口都UUID格式,fromString时候16bit的UUID该咋办呢? 16bit和32bit的UUID与128bit的值之间转换关系: 128_bit_UUID = 16_bit_UUID * 2^96 + Bluetooth_Base_UUID 128_bit_UUID = 32_bit_UUID * 2^96 + Bluetooth_Base_UUID 其中 Bluetooth_Base_UUID定义为 00000000-0000-1000-8000-00805F9B34FB 如果你想说这是啥呀,那我这样说你应该可以明白点: 若16 bit UUID为xxxx,那么128 bit UUID为0000xxxx-0000-1000-8000-00805F9B34FB 若32 bit UUID为xxxxxxxx,那么128 bit UUID为xxxxxxxx-0000-1000-8000-00805F9B34FB 来源: https://www.cnblogs.com/Free-Thinker/p/11375265.html