本文主要从5大方面具体介绍了关于物联网通讯的相关知识,分别是什么是物联网通信、物联网通信有哪些通信技术、有哪些协议、协议是如何选择的以及物联网通讯技术选型考量因素。enjoy~ 通信对物联网来说十分常用且关键,无论是近距离无线传输技术还是移动通信技术,都影响着物联网的发展。 随着时代进步和发展,社会逐步进入互联网+,各类传感器采集数据越来越丰富,大数据应用随之而来,人们考虑把各类设备直接纳入互联网以方便数据采集、管理以及分析计算。 简而言之,物联网智能化已经不再局限于小型设备、小网络阶段,而是进入到完整的智能工业化领域,智能物联网化在大数据、云计算、虚拟现实上步入成熟,并纳入互联网+整个大生态环境。 一、什么是物联网通信 物联网的概念是在1999年提出的,简单而言,物联网就是"物物相连的互联网",其核心就是将所有物品通过射频识别等信息传感设备与互联网连接起来,实现智能化识别和管理。物联网是指各类传感器和现有的互联网相互衔接的一个新技术。 1. 物联网分为有线连接和无线连接 连接方式可以分成有线连接和无线连接,我们这里讲的连接,其目的都是要进行通信,因此也就分别使用有线通信技术和无线通信技术。 2. 物联网通信分为短距离通信和长距离通信 有很多的场合人和物只需要跟附近的通信终端通信,例如在家里,办公室,工厂等等。这个场景一般局域网或者wifi就可以。但是也存在长距离的应用场景,例如两个城市之间的网络要连接起来,在高速上的车辆或乘客,甚至是海洋上的渔船。 通常我们把通信距离在100m以内的通信称之为短距离通信,而通信距离超过1000m的称之为长距离通信。 现实中有很多种通信技术可以满足各种不同的通信需求,但是还没有哪一种通信技术可以满足所有的通信需求。 二、物联网通信有哪些通信技术 通信技术主要是强调信息从信源到目的地的传输过程所使用的技术,还有一个问题是各种通信技术之间如何能协同工作呢? 为此,国际标准化组织提出了开放系统互连参考模型OSI,也就是网络分成了物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。也就是这个伟大的标准最终形成了互联网,以及无所不连的物联网。 1. 有线通信:以太网 以太网(Ethernet)是一种局域网通信技术, IEEE组织的IEEE 802.3标准制定了以太网的技术标准,它规定了包括物理层的连线、电子信号和介质访问层协议的内容。 以太网使用双绞线作为传输媒介,在没有中继的情况下,最远可以覆盖200米的范围。最普及的以太网类型数据传输速率为100Mb/s,更新的标准则支持1KMb/s和10KMb/s的速率。 2. 有线通信:串口通信技术 串口(Serial port)是一种非常通用的用于设备之间通信的接口,也广泛用于设备以及仪器仪表之间的通信。常见的串口有RS-232(使用 25 针或 9 针连接器)和工业电脑应用的半双工RS-485与全双工RS-422。 3. 有线通信:Modbus 和同前面几种通信技术不一样,通常认为Modbus只是使用串行方式进行通信的应用层协议标准,它并不包含电气方面的规范。 Modbus最初是Modicon于1979年为使用可编程逻辑控制器(PLC)通信而发表的,后来衍生出Modbus RTU,Modbus ASCII和Modbus TCP三种模式,前两种所用的物理接口是上面介绍的串口,后一种使用Ethernet接口。 4. 无线短距通信:Wi-Fi Wi-Fi是一种无线局域网通信技术,全称Wireless-Fidelity,无线保真,通信距离通常在几十米。 Wi-Fi的缺点是通信距离有限,稳定性差,功耗较大,组网能力差。 5. 无线短距通信:蓝牙 蓝牙(BlueTooth)是一种设备之间进行无线通信的技术,曾经标准化为IEEE 802.15.1,现在蓝牙技术联盟(SIG)来负责维护其技术标准,蓝牙标准最新版本蓝牙5在2016年6月被宣布。 蓝牙使用短波特高频(UHF)无线电波,经由2.4至2.485GHz的ISM频段来进行通信,通信距离从几米到几百米不等。 Bultooth Smart技术的蓝牙设备之间可以直接"对话"。但是蓝牙的缺点主要是其各个版本不兼容,安全性差(4.0以后得到改进),组网能力差,以及在2.4GHz频率上的电波干扰问题等等。 6. 无线短距通信:ZigBee ZigBee被标准化为IEEE 802.15.4,工作频段有三个:868MHz-868.6MHz、902MHz-928MHz和2.4GHz-2.4835GHz,其中最后一个频段世界范围内通用,16个信道,并且该频段为免付费、免申请的无线电频段。 三个频段传输速率分别为20kbps,40kbps以及250kbps。但是实际中ZigBee远没有像Wi-Fi或者蓝牙那样得到广泛的应用,这是由于它复杂,成本高,抗干扰性差,ZigBee协议没有开源,以及和IP协议不的对接比较复杂等等又限制了它在实际中的应用。 7. 无线短距通信:LoRa LoRa来源于Long Range这个单词,是一种长距离通信的通信技术。LoRa技术基于线性Chirp扩频调制,延续了移频键控调制的低功耗特性,但是大大增加了通信范围。 LoRa技术应用典型场景包括:超长电池寿命(几年),节点之间长距离通信,低速率(如每小时只要传递几次数据)。和NB-IoT技术一样,也可以牺牲低功耗指标来提高速率。 8. 无线远距通信GPRS GPRS是通用分组无线电服务(General Packet Radio Service)的缩写,GPRS是终端和通信基站之间的一种远程通信技术。 最后,由于移动通信终端的普及,其成本已经大大降低,因此在物联网中采用GPRS通信技术,其硬件成本相比Wi-Fi或者ZigBee都有较大的优势。 但是GPRS终端在通信时要使用电信运营商的基础设施,因此需要缴纳一定的费用,即数据流量费,这个服务费用限制了大量设备连接到网络。 GPRS的速率较低,是另外一个问题。GPRS通信质量受信号强弱影响较大,无信号覆盖或者较弱的地方通信效果很差,可能影响业务的完成。 9. 无线近距通信:NFC NFC,Near-field communication,中文常翻译为近场通信。NFC是一种短距高频的无线电技术,属于RFID技术的一种,工作频率在13.56MHz,有效工作距离在20cm以内。其传输速度有106Kb/s、212Kb/s或者424Kb/s三种。通过卡、读卡器以及点对点三种业务模式进行数据读取与交换。 但是NFC没有其他无线通信那种无线信号被窃听的风险,但是其NFC卡过于简单以及被动式响应的设计也是不安全的因素。见到报道的风险例如:即NFC银行卡内的交易信息,很容易被其他读卡器,甚至智能手机读取。 三、物联网通信有哪些协议 我们将物联网协议分为两类,一类是传输协议,另一类是通信协议。 传输协议通常负责子网中设备之间的联网和通信。 我们之前已经为每个人做过一门科学,并且对文章进行了详细介绍。 通信协议主要是运行在传统Internet TCP / IP协议上的设备通信协议,并负责通过Internet在设备之间进行数据交换和通信。 1. HTTP协议 HTTP协议是典型的CS通讯模式,由客户端主动发起连接,向服务器请求XML或JSON数据。该协议最早是为了适用web浏览器的上网浏览场景和设计的,目前在PC、手机、pad等终端上都应用广泛,但并不适用于物联网场景。 2. REST/HTTP(松耦合服务调用) REST(RepresentationalState Transfer),表征状态转换,是基于HTTP协议开发的一种通信风格,目前还不是标准。 适用范围:REST/HTTP主要为了简化互联网中的系统架构,快速实现客户端和服务器之间交互的松耦合,降低了客户端和服务器之间的交互延迟。因此适合在物联网的应用层面,通过REST开放物联网中资源,实现服务被其他应用所调用。 3. CoAP协议 CoAP(ConstrainedApplication Protocol),受限应用协议,应用于无线传感网中协议。 适用范围:CoAP是简化了HTTP协议的RESTful API,CoAP是6LowPAN协议栈中的应用层协议,它适用于在资源受限的通信的IP网络。 4. MQTT协议(低带宽) MQTT(MessageQueuing Telemetry Transport),消息队列遥测传输,由IBM开发的即时通讯协议,相比来说比较适合物联网场景的通讯协议。 MQTT协议采用发布/订阅模式,所有的物联网终端都通过TCP连接到云端,云端通过主题的方式管理各个设备关注的通讯内容,负责将设备与设备之间消息的转发。 5. DDS协议(高可靠性、实时) DDS(DataDistribution Service for Real-Time Systems),面向实时系统的数据分布服务,这是大名鼎鼎的OMG组织提出的协议,其权威性应该能证明该协议的未来应用前景。 6. AMQP协议(互操作性) AMQP(AdvancedMessage Queuing Protocol),先进消息队列协议,这是OASIS组织提出的,该组织曾提出OSLC(OpenSource Lifecyle)标准,用于业务系统例如PLM,ERP,MES等进行数据交换。 适用范围:最早应用于金融系统之间的交易消息传递,在物联网应用中,主要适用于移动手持设备与后台数据中心的通信和分析。 7. XMPP协议(即时通信) XMPP(ExtensibleMessaging and Presence Protocol)可扩展通讯和表示协议,XMPP的前身是Jabber,一个开源形式组织产生的网络即时通信协议。XMPP目前被IETF国际标准组织完成了标准化工作。 即时通信的应用程序,还能用在网络管理、内容供稿、协同工具、档案共享、游戏、远端系统监控等。 8. JMS(Java Message Service) JMS(JavaMessage Service),JAVA消息服务,这是JAVA平台中著名的消息队列协议。 Java消息服务(JavaMessage Service)应用程序接口,是一个Java平台中关于面向消息中间件(MOM)的API,用于在两个应用程序之间,或分布式系统中发送消息,进行异步通信。Java消息服务是一个与具体平台无关的API,绝大多数MOM提供商都对JMS提供支持。 四、物联网协议的选择 1. 发布/订阅服务更适合物联网环境下通信 DDS、MQTT、AMQP和JMS都是基于发布/订阅模式,发布/订阅框架具有服务自发现、动态扩展、事件过滤的特点,它解决了物联网系统在应用层的数据源快速获取、物的加入和退出、兴趣订阅、降低带宽流量等问题,实现物的联接在空间上松耦合(双方无需知道通信地址)、时间上松耦合和同步松耦合。 2. 服务质量(QoS)是物联网通信中的重要考虑因素 在服务策略的帮助下,DDS能够有效地控制和管理网络带宽、内存空间等资源的使用,同时也能控制数据的可靠性、实时性和数据的生存时间,通过灵活使用这些服务质量策略,DDS不仅能在窄带的无线环境上,也能在宽带的有线通信环境上开发出满足实时性需求的数据分发系统。 五、物联网通讯技术选型考量因素 上面介绍了几种通讯技术,下面,我们介绍选择通讯技术时需要考量的几个点。 1. 覆盖范围 覆盖范围是指节点(终端)和网关(基站)的有效通信范围,是衡量通信技术的一个重要指标。物联网的应用通常是具备数据量小、设备数量多、分布散等特点,因此覆盖范围便是很重要的一个因素。 覆盖范围越大需要的基站数量也就越少,同时基站和布设的成本以及难度也会大大降低。在覆盖范围上LoRa、NB-IOT、ZETA的覆盖范围都是在数十公里上的,ZigBee和蓝牙都是在百米以内。 如果你的应用场景需要覆盖范围广是硬性指标,那么就不用考虑后面两种了。从上图可以看来,通常情况下通讯频段越低其覆盖范围越大,这里主要是因为越低的频段在空气和物体中传播时衰减越小,反之亦然。 2. 通信速率 通信速率是节点或网关在一定时间内可以传输数据的数量。假设一个网关的通信速率是10kbps(1280字节),一个传感器的一次数据是8字节。 那么也就是说这个网关或节点最多每秒可以收发1280字节/8字节=160个传感器的数据。当然这只是理论值,实际会因避免数据冲突以及数据下发等因素影响。通讯速率和网关的信道数量有关,信道越多速率越高。 在常用通讯技术上来说一般是速率越高越好,不过在物联网行业本身特性就没有特别大的数据量需要传输,因此在考虑通讯速率时主要考虑在一个区域下有多少设备?会产生多大的并发数据量?什么通讯技术的网关可以承载这些数量,以此选择适合的通讯技术并预留一些冗余即可。 3. 通信频段 频段指的是电磁波的频率范围,单位为Hz,我们常说的2.4G或5GWIFI其实指的就是频段。无线电的频段是有免授权和授权两种类型的,像是WIFI用的2.4G、5G和LoRa在中国使用的470~510MHz等都是免授权频段,因此我们可以直接免费使用。 还有一些频段是受国家管制的,是需要向国家申请才可使用。因此我们选择频段的时候需要考虑频段是否需要授权,如果是非授权频段也要考试频段是否拥挤?以及如何处理同频段干扰问题。 无线电的频段越高其数据的传输速率也就越高,当然功耗随之增加。物联网行业很多的设备通常都是数据量小、使用电池供电,所以需要设备尽可能降的低功耗,像是WiFi这种高功耗的通讯技术使用场景就非常有限了,通常只会用在小范围内的有源设备上。 4. 运营商网络&私有网络 运营商网络是指联通、移动、电信等公司搭建的通讯网络,这类网络的网关是运营商搭建的,因此是不可以通过此类网络实现本地设备的局域网通讯,也无法实现本地多数据源的边缘计算。 运营商网络覆盖范围大、信号稳定、用户接入即可使用,当然也是需要支付通讯费用。 像是共享单车这类数据量小、设备分散且不固定的应用场景,使用运营商网络是最适合的,但如果是场地固定、设备集中或需要多数据源以及大量数据的边缘计算场景,那么搭建私有网络是比较合适的,这样会省去很多通讯费用,并且数据的响应速度也会比较快。 5. 功耗 功耗是物联网行业一直要做取舍和头疼的问题,除了上面说的频段越高,传输速率越大,能耗越高之外,还有一个影响功耗的因素就是通讯协议。 像是WIFI这类通讯协议相对比较复杂,并且会保持长连接,因此会比较费电。而像是LoRa、ZigBee、NB-IOT这类技术的通讯协议简单报文长度短,且具备多种工作模式,可以根据应用场景调整工作模式从而实现减低功耗的目的。 6. 单跳&多跳通讯 单跳的通讯方式是节点——网关——云端,也就是说节点的数据通过网关直接上云,不可以在网关之间进行路由转发。 这种方式单个网关的信号范围就是其可以使用的范围,如果想覆盖更大或更远的范围则只能增加网关,但是每个网关需要连接以太网进将数据上云,因此网关的联网成本和复杂度较高,需要网关布设的地方同时具备电源和网络覆盖。 多跳通讯方式是节点——网关——中继——云端的架构,也就是说数据可以在网关和中继之间做路由跳转,最后通一个网关将多个中继下终端的数据上云。 这种多跳方式可以通过增加中继覆盖更大或更远的范围,并且只需要一个网关具备数据上云能力即可。这样的话哪些中继设备只需要有电源供应即可,甚至可以使用电池供电,这样布设成本和布设难度将大大降低。 这种方式最适合的应用场景是高压线路的通讯等范围大、数据量小方面的应用,因为一般高压电基站都是在空旷的田野或山区中假设,相联网相对比较麻烦,通过多跳通讯只要一个网关能联网上云就可以带动很多网关的数据上云。 LoRa等通讯都是属于单跳通讯,ZETA、ZigBee、WIFI、蓝牙等通讯是属于多跳通讯。在使用多跳通讯的时候需要注意的是上云网关通讯速率的大小直接限制了通过它上云网关的总通讯速率大小。 总结 在万物互联的时代,不同场景下的各种传感器如何选择合适的物联网通信方式至关重要,对于系统的稳定性和可靠性有很大影响。了解各种通信技术和通信协议是硬件AI产品经理的必修课。