简介

日常生活照, 我们用手机NFC刷地铁, 追剧用wifi或者4G, 连蓝牙听音乐
手机上使用的这些通信技术也可以用在物联网上, 2g,3g物联网也会用到. 除了这些, 物联网也有一些专有的通信技术, 比如: LoRaSigFox
设备接入网络不仅有无线, 还有有线, 工厂中广泛用的PLC(Power Line Communication,电力载波通信)接入技术, 但是无线仍然是主流

物联网有海量的设备记录, 如果用有线的话, 那太不方便了, 所以接下来我们讨论的主要是无线

无线通信的4个重要参数

  1. 频段
  2. 信道
  3. 信道带宽
  4. 传输速率

    频段

    无线通信用的是电磁波. 在实际中, 电磁波是按频段来使用的
    image.png
    上面这个图展示整个频谱的频段分布.图中的分段基于电磁波不同的特性,而通信技术则需要考虑不同的使用需求和管理,对无线电波做更进一步的分段

wifi的频段是2.412GHz-2.484GHz. 这是一个非授权频段, 其他通信技术也可以用, 蓝牙也在这个频率范围. wifi和蓝牙在某些情况会互相干扰

有没有什么办法解决通信干扰?
其中一种有效方法是基于信道的跳频技术.

信道

信息是通过无线电传送的具体通道介质. 每种通信技术的频段会被划分, 规划成多个信道来使用.
**
比如,Wi-Fi 的频段被分为 14 个信道(中国可用的是 13 个信道,信道 14 排除在外)。这里需要注意的是,相邻信道的频段是存在重叠的。比如,Wi-Fi 的信道 1 频段是 2.401GHz~2.423GHz,信道 2 频段是 2.406GHz~2.428GHz

信道带宽

信道频段的最大值和最小值之差,就是信道覆盖的范围大小,也叫信道带宽。比如,Wi-Fi 信道 1 的带宽是 22MHz,它是由 2.423GHz 减去 2.401GHz 得到的.

需要注意的是,22MHz 是信道 1 的实际带宽,而它的有效带宽只有 20MHz,因为其中有 2MHz 是隔离频带。隔离频带主要是起保护作用的,就像高速公路上的隔离带

传输速率

在路上的时候, 我们会关注当前路段对车速的要求.
5G峰值20Gbps的传输速率为移动VR/AR应用提供了无限可能, 4G时代, 只能用网线来体验
传输速率会受到很多因素影响, 比如信道带宽和频率. 一般来说: 带宽越大, 传输速率越大, 就像路越宽可以承载通行的车辆越多. 频率越高, 电磁环境相对比较干净, 干扰少, 传输速率会更高, 就像平坦的道路可以自然通行更多的车辆.

另外, 为了提高传输速率, 越来越多的提高频段利用率的技术也被开发和利用, 比如正交频分复用. MIMO(Multiple-Input Multiple-Output)技术, 它是通过使用多重天线收发信号来提高传输速率.

总结

image.png
图中的12个信道只是举的例子. 实际, 不同的通信技术有不同的信道个数, 同一种技术不同的版本也会对信道做不同的划分.

WIFI

Wi-Fi 是 IEEE 802.11 无线网络标准的商品名。所以,支持 Wi-Fi 功能的设备上,都会标注 “兼容 IEEE 802.11b/g/n 2.4GHz” 之类的说明。其中,802.11b、802.11g、802.11n 就是 Wi-Fi 的不同版本。

后来, 推进了数字版本号
image.png
实际中需要注意的一个问题是: wifi的配网
因为wifi配网失败导致的退货非常多.
之所以需要wifi配网, 是因为物联网设备不像手机和电脑有便利的输入设备, 也没有显示. 所以我们无法像手机操作那样, 搜索wifi, 输入密码. 我们需要借助其他手段来完成这两件事:

  1. wifi设备需要连接上路由器(wifi热点或者AP), 实现数据上传和远程控制, 也就是获取到wifi热点的名称(SSID)和密码
  2. 获取到wifi的mac地址, 与用户账号一起上传服务器完成绑定

完成这两步才可以联网使用

一键配网

一键配网, 也就是在手机app上按一个按键, 就可以自动完成配网的一系列操作.
然后现实并没有这么美好.
工作原理: 通过手机或者wifi路由器发送UDP广播包的形式, 将wifi的SSID和密码广播出去. wifi设备在进入配网模式后, 会将接收到的广播包进行解析, 从而获取到wifi的SSID和密码, 然后连接上路由器. 同样,设备连接上后, 广播自己的mac地址, 这样手机app就可以接收到设备的mac地址完成绑定.

原理不复杂, 有几个出问题地方:

  1. 很多路由器厂商不支持UDP广播, 例如wifi放大器或者UDP广播的路由器会导致发广播包这步就失败了
  2. 目前很多路由器已经支持 2.4GHz 和 5GHz 两个频段(Wi-Fi 4 之后),这两个频段的网络是相互隔离的。手机很可能连接的是 5GHz 频段,那包含 SSID 和密码的广播包也在 5GHz 频段,而目前所有 Wi-Fi 智能设备都只支持 2.4GHz 频段,这就导致无法收到广播包。
  3. 2018 年之前的 Wi-Fi 产品(比如微信 AirKiss 2.0)存在广播包解析错误的问题,很可能发生解析的密码不正确的情况,导致无法连接路由器。
  4. 路由器不支持局域网通信(比如路由器的访客网络),或者空间中有几个 SSID 相同的 Wi-Fi 热点,手机和 Wi-Fi 设备分别在不同的路由器下面,会导致设备即使连接上了路由器,但是手机无法获取设备信息的广播包的情况。

解决办法: 小米米家的物联网平台的设备热点配网技术,就是一个值得借鉴的方式。它可以在不增加成本的情况下,保证基本 100% 的成功率。

设备热点配网技术是让 Wi-Fi 设备先进入 Wi-Fi AP 的模式,也就是说,由设备创建出一个 Wi-Fi 热点,然后让手机连接到这个热点,接着把路由器 Wi-Fi 的 SSID 和密码发送给 Wi-Fi 设备,同时手机也可以直接获取到设备的 MAC 地址。

这种方式的麻烦之处在于,你需要手动输入路由器 Wi-Fi 的密码。在苹果手机上,你还需要进入设置界面,手动选择连接智能设备的 Wi-Fi 热点。

其他 Wi-Fi 配网技术还有零配置配网、蓝牙配网、手机热点配网和路由器配网等技术方式
image.png

BLE

连接电源线、不需要关心功耗的设备往往优先考虑 Wi-Fi,那么功耗要求严格的设备要怎么办呢?
BLE 是一个不错的选择。它的频段是非授权的 2.400GHz-2.4835GHz,采用 40 个带宽 2MHz 的通道。其实它是 Bluetooth Low Energy 的缩写,也叫低功耗蓝牙,是对 Bluetooth 4.0 / 4.1 / 4.2 的统称。现在它已经成为低功耗物联网设备的首选,仅仅依靠一颗纽扣电池供电就可以工作数年。

而蓝牙 5 更是针对物联网增加了很多特性,比如 Mesh 组网、更远的通信距离、更快传输速率(BLE 4.2 的 2 倍)和更大数据承载量的广播包(BLE 4.2 的 8 倍),此外还有厘米级精度的定位功能。

BLE的数据通信主要基于广播包和GATT协议.
连接参数的调节对BLE设备的扫描和连接影响很大, 这些参数包括广播间隔, 最大连接间隔, 最小连接间隔和连接监听时间等, 他们都可以在设备的固件开发中进行调整. 比如广播间隔会影响扫描的响应速度, 也会对设备的功耗有影响, 所以要平衡功耗和响应速度的不同需求, 选择一个合适值.

如果扫描连接体验需要非常流畅迅速,你可以选择 20ms 的间隔,但是这会增加设备的功耗,减少待机时间;如果你能够容忍一定的扫描等待时间,那么可以选择 1-2 秒的广播间隔来降低功耗。

如果在安卓上开发, 有两点要注意:

  1. 不同厂商安卓手机芯片的解决方案是不同的, 他们的蓝牙协议实现存在很大差异. 需要开发者对不同手机进行充分测试, 保证开发应用在不同手机上可以正常运行
  2. 基于BLE可以进行地理位置定位, 所以从安卓6.0开始, 进行BLE开发时需要请求位置权限.

    LTE-Cat1 & NB-IoT

    LTE-Cat1 有一个独特优势是网络覆盖,它属于 4G 网络的低速类别,可以直接使用我们国家完善的 4G 的网络设施。而 NB-IoT 虽然已经发展多年,但是目前网络覆盖仍然不够理想,这也限制了这些年 NB-IoT 的广泛应用.
    不过NB-IOT大概率会成为5G的重要组成部分.

LTE-Cat1和NB-IoT分别适合那些场景呢?

LTE-Cat1带宽是20MHz, 上行速率是5Mbps, 下行速率10Mbps. 它有良好的移动特性, 功耗比NB-IoT大, 但是低于传统的2G/3G设备. 所以适合可穿戴设备, ATM机, 无人售货机和无人机这些场景.这些场景对数据传输速率有一定要求,但是又不需要达到 4G 的水平。

NB-IoT 的带宽是 180KHz,上行速率 16.9Kbps,下行速率是 26Kbps,功耗很低。所以它不适合移动环境,但却很适合智能抄表、智能灯杆和烟感报警器等低数据速率的场景。
image.png