与全球网络相连接 有两种让设备连接到网络的方式,一种是由设备本身直接连接全球网络,另一种是在本地区域内使用网关来连接全球网络(图 3.21)。近来,“生活记录”型的设备越来越多,其结构更接近前面说的第二种方式,例如通过蓝牙把可穿戴设备和智能手机配对,通过智能手机向服务器发送数据。
与物联网设备相比,网关设备的硬件结构大多比较丰富,有的还支持再次发送数据和保存部分数据等功能。另外,网关设备还支持高级加密及数据压缩,在需要保证数据传输的安全性时,采用网关无疑是一个明智之选。 另一方面,直接连接网络时,则需要在物联网设备端实现再次发送等错误处理程序。虽然这点还需斟酌,不过如果采用直接连接方式,构建系统时就不用在意是否存在网关了。这样一来就能单纯地建立设备和服务器之间的连接了。 与网关设备的通信方式 物联网设备和网关设备进行通信的方式有很多种,既有有线的也有无线的。因为每种方式都各有利弊,所以需要大家根据设备的用途和特性来进行选择。 选择的标准包括通信时能够使用的协议、通信模块的大小、耗电量,等等。 在这里我们看一下各连接方式的特征。 有线连接 以太网 以太网连接方式采用网关设备和以太网电缆进行有线连接。这种方式不仅不怕无线电频率干扰,能够稳定通信,而且还有一大亮点,那就是能实现普通的 IP 通信协议,跟 PC 进行简单通信。说到缺点,则包括终端要在一定程度上具备丰富的执行环境(如单板计算机),以及尺寸容易偏大,设置场所受限等。 串行通信 串行通信连接方式是指采用 RS-232C 等串行通信来连接其他设备。这个方式的优点包括多数工业产品配备了用于串行通信的端口,容易与现有产品建立连接等。使用 RS-232C 串口时,设备大多使用 D-SUB 9端口(图 3.22)。如果网关设备也有串行端口,那么就能用 RS-232C口线直接连接设备来进行通信。这里的线包括直通线和交叉线两种,请大家按照设备的结构进行选择。 相反,如果网关设备上没有串行端口,就得用“USB 转串口线”来连接了。请各位注意,在这种情况下网关设备里必须安装有与转换芯片(转换芯片在转换线里)对应的驱动程序。如果安装了与 FTDI 芯片(转换芯片的事实标准)对应的驱动软件,就比较容易找到对应的线了(关于驱动程序,会在下一节讲解)。 想实现串行通信,就需要在收发信息的两方设定表示通信速度的参数“比特率”,以及要发送数据的大小。 语言、 Java、 Python 这些常用的编程语言都准备了这种串行通信程序库,是一个很好用的接口。
USB USB 是一个为大家熟知的接口。USB 的插头形形色色,但是在连 接网关的时候,多数情况下跟计算机一样,采用一种叫 Type-A 的插头。 此外, USB 有多种规格,每种规格传输数据的速度都不相同(表 3.2)。 表 3.2 USB 的规格、传输速度及供电能力
名称 | 最大数据传输速度 | 供电能力 |
---|---|---|
USB 1.0 | 12 Mbit/s | — |
USB 1.1 | 12 Mbit/s | — |
USB 2.0 | 480 Mbit/s | 500 mA |
USB 3.0 | 5 Gbit/s | 900 mA |
USB 3.1 | 10 Gbit/s | 100 mA |
要使用通过 USB 连接的设备,就得安装一种叫作设备驱动的软件。因此,用 USB 控制设备和接收数据时,有没有提供与设备对应的驱动就很重要了。打个比方,假设我们想把 USB 相机连接到网关来发送图像。如果想发送给 PC,单纯安装 USB 相机和相机的驱动就行了,而换成网关就不一样了。如果网关是在 Linux 上运行,那么就需要准备Linux 专用的驱动,制作获取图像的软件。 USB 在 PC 等通用机器上非常普及,其特征在于,比起 D-SUB 9 针等端口,这种端口的小尺寸占据了压倒性优势。
无线连接 Wi-Fi 如果采用 Wi-Fi 连接方式,通过 Wi-Fi 接入点就能够连接网络。通过它,可以在不便进行有线连接的环境中,实现移动型设备和 PC 及智能手机的联动,也就能更加容易地搭建出一个与本地区域内其他设备联动的系统了。 为了防止无线电频率干扰,需要注意接入点的设置。以下这些是所有无线连接方式都会面对的情况,那就是需要在安装设备的应用程序时考虑到通信断开的情况,例如先把数据保存在内部,等能连接上的时候再一口气发送过去等,这点工夫还是要费的。 此外,因为和蓝牙 4.0(后文再叙述)相比, Wi-Fi 耗电量高,所以不适合那些需要长时间进行通信的设备。 3G/LTE 3G/LTE 连接方式是通过移动运营商的通信线路来连接网络的。只要从运营商购买 SIM 卡,再把 SIM 卡插入设备里就能够通信了。采用这种连接方式时,只要在信号范围内就能连接上网络,不需要像 Wi-Fi 那样去在意接入点的设置。相反地,在工厂和地下这类信号不好的地方就无法通信了。想使用 3G/LTE,设备上需要配备用来插入 SIM 卡的插槽,这个条件大大地限制了硬件设计的发挥。除此之外,还会持续产生接入费用,所以也会对设备本身的价格与使用形式产生影响,例如采用月付费模式。另外,在某些情况下,开发终端是需要经过运营商审查的,这点请大家注意。
蓝牙 蓝牙是一种近距离无线通信标准,多数智能手机和笔记本电脑都有配备蓝牙。 2009 年,蓝牙 4.0 首次公开,它以内置电池的小型设备为主要应用对象,整合了超低功耗的 BLE(蓝牙低能耗, Bluetooth Low Energy)技术。根据设备的结构不同,它甚至可以实现靠一枚纽扣电池连续运行数年。此外,原本的蓝牙和 Wi-Fi 一样采用 2.4 GHz 频段,容易产生干扰,但是从 4.0 起,这个问题已经得到了大幅度的改善。 除了一对一通信, BLE 还能实现一对多通信,通信机器只要在物联网设备附近且能使用 BLE,就能通过广播发送任意消息了。从 iOS7 起,OS 就利用这种通信形式标准配备了 iBeacon 功能, iBeacon 能够测算环境中设置的 BLE 信号发送器,即 Beacon 的大概位置和 ID 信息(图.23)。这项功能可以给店铺附近的顾客发送最适合他们的广告和优惠券。这种方法也作为一种新的 O2O( Online to Offline :一种服务和方法,通过这种服务和方法可以实现 Web 网站和应用程序等线上信息与线下店铺销售的联动)服务而备受瞩目。
除此之外,蓝牙 4.2 还宣布支持 IPv6/6LoWPAN,设备可以通过网关直接连接互联网。从这些特征来看,蓝牙正逐渐占据物联网通信协议中的主要地位。蓝牙是一种在不断更新换代的通信标准。特别是从 v3.X 更新到4.X 时,曾出现非常大规模的兼容性问题。例如, BLE 连接不上支持3.0 的机器。蓝牙技术联盟 A( Bluetooth SGI)负责制定蓝牙的规格并意识到了这些兼容性上的差异问题,于是把那些能跟 v3.X 前面的机器通信的设备称作“蓝牙”,把只支持 v4.X 的机器称为 Bluetooth SMART,把能兼容所有版本的机器称为Bluetooth SMART READY,以此表示区分(表 3.3)。 表 3.3 蓝牙兼容支持表
版本 | 蓝牙 | SMART | SMARTREADY |
---|---|---|---|
1.X | ○ | × | ○ |
2.X | ○ | × | ○ |
3.X | ○ | × | ○ |
4.X | × | ○ | ○ |
这里需要注意的是,想把基于 BLE 的物联网设备连接到网关时, 网关必须支持 Bluetooth SMART 或是 Bluetooth SMART READY。顺带告诉各位,如果换成智能手机,那么只有 iPhone4S 及以后的机型,或者ndroid 4.3( API Level 18)之后的版本才支持 BLE。请在直接连接手机之前确认操作系统的版本。 IEEE 802.15.4/ZigBee IEEE 802.15.4/ZigBee 是一种使用 2.4 GHz 频段的近距离无线通信标准。其特征是虽然传输速度低,但是与 Wi-Fi 相比,其耗电量较少。如图 3.24 所示, ZigBee 可以采取多种网络形式。其中,网状网( mesh network)更是 ZigBee 的一大特征,它能在局部信号断开的情况下继续进行通信。只要采用这个方法,就能通过组合大量传感器来简单地搭建传感器网络。
另外,要把 ZigBee 跟 PC、智能手机联动,就需要给这些设备连接专用的接收器。跟蓝牙相比,这是 ZigBee 一个非常大的缺点,因为蓝牙上普遍标准安装了接收器。 易能森 易能森( EnOcean)是德国 GmbH 公司开发的一种无源无线传输技术。易能森是一个总称,它指的不仅是一种通信标准,还包括感测设备本身(图 3.25)。 易能森旗下设备齐全,包括运动传感器、开关、温度传感器、开关门传感器等形形色色的设备,这些设备都是利用能量采集技术自主发电的。例如,开关就是用按下开关的力量发电通信的,温度传感器则是利用太阳光进行发电并通信的。也就是说,一旦安装后就不用考虑布线和充电的问题了。
获得电波认证 事实上,在不同国家开发和使用无线通信设备时,是需要获得认证的。例如在日本国内,开发者就需要获得电波法 A 的认证(符合技术标准的证明等)。针对不同情况,有时需要履行一些手续,有时不用,因此建议各位在考虑出售产品时,先向熟悉那个国家电波法的专家咨询一下(详情会在第 5 章介绍)。