楼主
三分钟了解物联网蓝牙通信如何设计
4496
0
发表于 2021-2-22 11:42:55
蓝牙BLE,是物联网低功耗近距离传输的最佳手段之一。本文主要讲:蓝牙BLE协议的那些事
主机和从机的关系
BLE系统中,有主机(Central)和从机(Peripheral)。
从机负责发送广播,主机负责收听广播并发起连接。
主机不发广播,从机无法主动连接主机,只能由主机主动连接从机。
一个主机能够连接多个从机,一个从机只能被一个主机连接。
因此在各种物联网和智能硬件应用中,主要是以手机作为主机,外围设备做为从机。一般都是1主对1从或1主对多从的使用。例如一台手机挂了好几个手环。
反面案例:我们以前遇到一个特殊场景,充分体现了BLE连接的局限性:有一款智能锁,要求用手环能开锁,用手机也能开锁,但要求手环也能连接手机。
只实现前两个功能很容易,智能锁作为从机,手机作为主机,手环也作为主机。但是要实现手环连手机,双主机是无法连接的,就需要其中一个作为从机,这种情况下只能让手环的BLE做成双模的。最终因为不靠谱,放弃掉了这套设计方案。
广播,也能传数据
蓝牙BLE,主机和从机不连接,也能够发数据。这就是iBeacon、微信摇一摇蓝牙基站。
从机发送广播,广播内容中可以包含31字节的数据。这些数据可以被从机周围所有的BLE主机接收到。
BLE室内定位标签,用的也是这种方式,标签不断的发送广播,BLE基站收到广播信息,并根据信号强度判断所处的位置。
广播,可以理解为不断的向外发射电磁波,感觉是比较耗电的。但是BLE本身发射功率很低,每次广播只需要1mS的时间,广播间隔可以调大到10秒以上,所以实际上耗电量非常小。一个iBeacon的基站,靠纽扣电池都可以工作大半年。
连接
广播,只能做到从机到主机的单向小数据传输。
BLE连接之后,就可以做到双向传输了。虽然速度只有几K,但也足够传输控制指令和传感器信息这些简单数据了。
从机一旦被连接,就无法发送广播,也无法被其他设备连接。
从机这么容易被抢占,岂不是设备也很容易被入侵?从机可以和主机约定一个自己做的“握手协议”,如果握手不成功,就把主机给踢出去,然后继续广播等待其他主机。
像很多ofo和摩拜的共享单车,可以用BLE软件连上去,并且发送数据过去。只不过发了数据过去单车不会理你的。
BLE的安全性
从上面讲的特性来看,BLE的胜在低功耗和方便使用,但安全性不太好。
未加密的BLE数据,就是公开数据。如果要加密,必须对BLE上传输的明文做加密才行。BLE的智能锁,都需要在密钥算法上加密, 不能直接就发明文了。也要做到动态密钥,防止被截获之后仿造的密钥。
来源:燚智能头条号