1、简介
之前做过无线相关的一些开发,如wifi,wia-pa(802.15.4)、uwb等,5G到来以后,IoT应该会有更大的发展,这里简单记录下相关技术。
电气和电子工程师协会(IEEE)有七个 802.15 技术任务组。这些组织为个人局域网的常用类型的无线技术设定了标准。这些 802.15 任务组包括:WPAN/蓝牙、Coexistence、高速率 WPAN、低速率 WPAN、mesh 网络、体域网和可见光通信。802.15.4标准为PHY和MAC网络层提供基于数据包的协议。其它标准都是以此为基础增加更多的层,从而提供增强的网络功能和性能。
在选择无线技术时必须详细考察许多设计因素:
• 设备的数据速率:视频流,测量每分钟的温度,或之间的其他参数。
• 到网关的范围或距离:房间内几英寸的距离,或农村地区超过1英里的范围。
• 环境:工厂中的危险环境,暴露在天气中的室外环境,来自电子设备的噪声或电磁干扰等。
• 需要加密或认证:对数据安全性有什么要求?
• 功耗:电池寿命,能效,可能需要连接交流电。
• 容量:联网设备的数量。
• 服务质量和可靠性。
• 网络拓扑:星形,网状,或其它拓扑。
• 单工或双工:单向还是双向通信。
• 合适和可用的频谱:许可还是免许可。
• 可用的IC、模块和设备。
• 成本:设计、制造或互联网接入服务费用。
• 开发平台:需要操作系统吗?需要哪些其它软件?
• 互联网接入:蜂窝、数字用户线路(DSL)、电缆、卫星。
• 可用标准的许可条件。
2、zigbee
802.15.4
ZigBee 协议提供128位 AES 加密。此外,该技术还支持 Mesh 网络,允许网络节点通过多个路径连接在一起。ZigBee 无线技术最常用的应用场景是智能家居设备领域。该技术将多个设备同时连接在一起的能力使其成为家庭网络环境的理想选择,用户可以实现智能锁、灯光、机器人和恒温器等设备之间的相互通信。
目前,所有的 ZigBee 设备都无法与其 他不同厂家的 ZigBee 设备直接进行通信。
3、wifi
802.11
802.11b、802.11g 和 802.11n 在2.4GHz ISM 频段上运行。该频段容易受到一些蓝牙设备以及一些微波炉和移动电话的干扰。
路由器的wifi芯片完成以太网到wifi数据帧的转换。
4、蓝牙和BLE
802.15.1
蓝牙和低功耗蓝牙 是用于短距离数据传输的无线技术。该技术经常用于可连接用户手机和平板的小型设备。例如,该技术多用于各种语音系统。
低功耗蓝牙比标准蓝牙功率更小,用于健身跟踪器、智能手表或者其他连接设备的小型硬件,以实现无线数据传输,且不会严重影响用户手机中的电池电量。BLE 最近才开始被广泛应用。该技术最初由智能手机制造商诺基亚于2006年推出,但直到2010年才成为蓝牙标准的一部分。如今,BLE 被称为智能蓝牙,已经得到了大多数智能手机和电脑制造商的支持,以及大多数主流操作系统包括 Windows 8、OS X、Linux、Windows Phone、Android和iOS的支持。使用蓝牙的公司通常隶属于蓝牙特别兴趣小组(SIG)。
4.1 BLE
Android BLE 使用的蓝牙协议是 GATT 协议。提供了Serivice和Characteristic进行设备之间的通讯。
蓝牙 4.0 支持单模和双模两种部署方式,其中单模即是我们说的 BLE低功耗蓝牙(Bluetooth Low Energy),而双模指的是 Classic Bluetooth + BLE 。
4.2 基本概念
central和peripheral
蓝牙应用开发中,存在两种角色,分别是central和peripheral(pə’rɪfərəl) ,中文就是中心和外设。比如手机去连接智能设备,那手机就是central,智能设备就是peripheral。大多时候都是central去连接peripheral的场景,所以我们就来说他的流程
广播和连接
peripheral会发出广播(advertisement:ædvɚ’taɪzmənt),central扫描到广播后,可以对设备进行连接,发出connect请求,peripheral接收到请求后,同意连接后,central和peripheral就建立了连接。
连接后的操作
write,read,notify,indecate, response or not … 这个在后面详细说
indecate和notify的区别就在于,indecate是一定会收到数据,notify有可能会丢失数据(不会有central收到数据的回应),write也分为response和noresponse,如果是response,那么write成功回收到peripheral的确认消息,但是会降低写入的速率。
协议
每个具体的智能设备,都约定了一组数据格式,这个就是数据协议,例如手环中获取到数据0X001023,其中第2位到第5位表示步数,那么就2310就是步数的16进制的数据,转换成10进制就是8976步,需要注意的是,设备端都是小端模式,所以取4位时候,高字节在前低字节在后。
一般开发流程
已iOS为例,android也和这个是类似的。
- 建立中心角色
- 扫描外设(discover)
- 连接外设(connect)
- 扫描外设中的服务和特征(discover)
- 4.1 获取外设的services
- 4.2 获取外设的Characteristics,获取Characteristics的值,获取Characteristics的Descriptor和Descriptor的值
- 与外设做数据交互(explore and interact)
- 订阅Characteristic的通知
- 断开连接(disconnect)
5、WiMAX
802.16
6、2G/3G/4G/5G
依赖于运营商基站,采用PDP隧道协议接入互联网。
7、6LoWPAN
LoRa
NB-IoT
RFID
NFC
....
参考链接:
https://www.ednchina.com/news/201607270800.html
https://blog.csdn.net/mouse1598189/article/details/86695405
https://blog.csdn.net/andrewniu/article/details/80857814
http://blog.chinaunix.net/uid-21411227-id-5750680.html
https://blog.csdn.net/tongziwei1991/article/details/815883144