当前位置: 首页 > 科技观察

什么是物联网?物联网常见协议最全讲解

时间:2023-03-14 14:31:57 科技观察

本文介绍了物联网的基础知识:什么是物联网,以及常见的物联网协议。1、什么是物联网?物联网(InternetofThings)的概念读者应该不陌生。物联网概念于1999年首次提出,曾被称为继计算机、互联网之后世界信息产业发展的第三次浪潮。它已经发展了20多年。现在,在我们的日常生活中,已经可以接触到很多物联网产品,比如各种智能家电、智能门锁等,这些都是物联网技术比较成熟的应用。物联网最早的定义是:通过射频识别等信息传感设备将所有物品连接到互联网上,实现智能识别和管理。当然,随着物联网发展到今天,它的定义和范围都在扩大和变化。以下是现代物联网的特点。1、物联网也就是互联网物联网,即物联网,是互联网的一部分。物联网利用互联网基础设施作为信息传输的载体,即现代物联网产品必须是“物”以某种方式连接到互联网,“物”通过网络上传/下载数据并与人进行交互。互联网。举一个通过手机APP远程启动汽车的例子,当用户通过APP完成启动操作后,命令从联网的手机发送到云平台,云平台找到车载电脑连接到互联网,然后发送命令。车端电脑执行启动命令,并将执行结果反馈给云平台;同时,用户的操作记录在云端,用户可以随时从App中查询历史远程开锁记录。这是一个典型的物联网场景,是一种互联网应用。“物”与互联网相连,数据和信息通过互联网进行交互。同时,数据像其他互联网应用程序一样被收集在云端。2、物联网的主体是“物”。前面说过,现代物联网应用是互联网应用,但是物联网应用与传统互联网应用还有一个很大的区别,那就是传统互联网生产和消费数据的主体是人,而现代物联网生产和消费数据的主体是物。在现代物联网的应用场景中,数据的生产者是“物”,比如智能设备或传感器,而数据的消费者往往是“物”。在智慧农业的应用中,孵化室内的温度传感器会定期将孵化室内的温度上传至控制中心。当温度低于一定阈值时,中心会根据预设规则远程开启供暖设备。在这个场景中,数据的生产者是温度传感器,数据的消费者是加热设备。两者都是“物”,人并不直接参与其中。物联网与传统互联网最大的区别:数据的生产者和消费者主要是物,数据内容也与“物”息息相关。3、物联网与人工智能人工智能可谓是近几年IT领域最热的词之一。纵观人工智能的发展路线,我们可以看到,人工智能的发展之所以能够突飞猛进,主要有两个原因。硬件的发展迅速缩短了深度学习神经网络的学习时间。大数据时代,获取大量数据的成本变得更低。其实第二个原因尤为重要。由于其特性,神经网络需要海量数据进行学习。可用于学习的有效数据量往往决定了最终训练出的神经网络的效果,甚至算法的重要性都可以排在数据量之后。智能家电、可穿戴设备等物联网设备每天都会产生海量数据。经过处理和清洗后,这些数据可以作为很好的训练数据反馈给神经网络。同时,训练好的神经网络可以重新应用到物联网设备上,形成良性循环。图1-1显示了物联网中使用人工智能方法进行数据收集-迭代的循环。通过物联网设备收集和训练数据。在数据中心训练后,将模型应用到物联网设备上,并评估下一次迭代的效果。物联网是人工智能落地的一个很好的应用场景。随着人工智能的飞速发展,同样在多年前提出的物联网理论和技术也将迎来新的春天。目前,互联网数据入口逐渐向几家巨头(如阿里、腾讯)靠拢,小公司获取数据的成本越来越高。物联网这个尚未完全开发的数据领域显得尤为重要。前端设备终将趋于雷同,出现同质化竞争,而如何收集和利用设备产生的海量数据,是你是否具有竞争优势的决定性因素。4、物联网的现状与展望随着5G时代的到来,物联网的发展将非常迅猛。与此同时,物联网方向的新融资也呈上升趋势。下面我们从应用场景的角度谈谈物联网行业的发展前景。物联网的应用场景非常广泛,包括:智慧城市、智慧建筑、车联网、智慧社区、智能家居、智慧医疗行业、工业物联网等。这意味着物联网行业有足够的细分市场,因此很难出现一家占据市场主导地位的公司。同时,因为市场足够大,能够生存的企业也足够多。这种情况在互联网行业并不常见。互联网行业的头部效应非常明显,大部分市场份额往往被两三个龙头企业占据。物联网模式比互联网模式更“重”。物联网的应用总是伴随着前端设备,这意味着用户的切换成本相对较高。毕竟,移除和重新安装设备比用手指重新下载应用程序要复杂得多。这也意味着,在物联网行业,资本的推动力相对较弱。如果你获得了先发优势,那么后来者单靠资本的力量想要追赶你或者将你挤出市场,将付出比互联网行业高得多的代价。因此,物联网行业仍然是一片蓝海,小规模的公司完全有能力与这个行业的大公司竞争。人工智能和区块链的热度降温后,物联网很可能成为下一个风口。作为一名程序员,在风吹来之前提前准备一些知识储备是非常有必要的。二、常见的物联网协议1、MQTT协议MQTT协议(MessageQueueTelemetryTransport,消息队列遥测传输协议)是由IBM的AndyStanford-Clark和Arcom的ArlenNipper于1999年为一个通过卫星连接输油管道的项目开发的网络开发。为了满足低功耗和低网络带宽的需求,MQTT协议在设计之初就包含了以下特点:数据传输QoS的简单实现轻量级、低带宽占用可以传输任何类型的数据Holdablesession(Session)经过多年的发展,MQTT协议的关注点不再只是嵌入式系统,而是更广阔的物联网世界。简单来说,MQTT协议有以下特点:基于TCP协议的应用层协议,采用C/S架构,采用订阅/发布模式,解耦消息的发送方和接收方,提供3种QoS(QualityofService)对于消息:Atmostonce,atleastonce,andonlyonce发送和接收消息是异步的,发送方不需要等待接收方回复。MQTT协议的架构由一个Broker和连接到Broker上的多个Client组成,如图2-1所示。MQTT协议可以为大量低功耗、工作网络环境不可靠的物联网设备提供通信保障。并且在移动互联网领域也颇有建树。很多AndroidApp的推送功能都是基于MQTT协议实现的,一些IM的实现也是基于MQTT协议实现的。2.MQTT-SN协议MQTT-SN(MQTTforSensorNetwork)协议是MQTT协议的传感器版本。MQTT协议虽然是一个轻量级的应用层协议,但是MQTT协议运行在TCP协议栈之上。TCP协议不适用于一些计算能力和功率非常有限的设备,比如传感器。MQTT-SN运行在UDP协议之上,同时保留了MQTT协议的大部分信令和特性,例如订阅和发布。MQTT-SN协议介绍了MQTT-SN网关的作用。网关负责将MQTT-SN协议转换为MQTT协议,并与远程MQTTBroker通信。MQTT-SN协议支持网关的自动发现。MQTT-SN协议的通信模型如图2-2所示。3.CoAP协议CoAP(ConstrainedApplicationProtocol)协议是一种运行在资源有限的设备上的协议。CoAP协议通常也运行在UDP协议之上。CoAP协议设计的非常紧凑,最小的数据包只有4个字节。CoAP协议采用C/S架构,采用类似于HTTP协议的请求-响应交互方式。设备可以通过类似于coap://192.168.1.150:5683/2ndfloor/temperature的URL来识别一个实体,并使用类似HTTP的PUT、GET、POST和DELET请求命令来获取或修改这个实体的状态。同时,CoAP提供了一种观察模式,观察者可以通过OBSERVE命令向CoAP服务器指定被观察的实体对象。当实体对象的状态发生变化时,观察者可以接收到实体对象的最新状态,类似于MQTT协议中的订阅功能。CoAP协议的通信模型如图2-3所示。4、LwM2M协议LwM2M(LightweightMachine-To-Machine)协议是开放移动联盟(OMA)定义的一套适用于物联网的轻量级协议。它使用RESTful接口提供设备接入、管理和通信功能,也适用于资源相对紧张的设备。LwM2M协议的架构如图2-4所示。LwM2M协议底层使用CoAP协议传输数据和信令。在LwM2M协议框架下,CoAP协议可以运行在UDP或SMS(短消息)之上,通过DTLS(DatagramTransportLayerSecurity)实现数据的安全传输。LwM2M协议架构主要包括三个实体——LwM2MBootstrapServer、LwM2MServer和LwM2MClient。LwM2MBootstrapServer负责引导LwM2MClient注册并连接到LwM2MServer,然后LwM2MServer和LwM2MClient可以通过协议规定的接口进行交互。5、HTTP协议前面我们说过,物联网也就是互联网。HTTP作为互联网广泛使用的协议,在适当的情况下也可以应用到物联网中。在一些计算和硬件资源丰富的设备上,比如运行Android操作系统的设备,可以像开发手机应用一样,使用HTTP协议来上传和下载数据。设备还可以使用运行在HTTP协议上的WebSocket主动从服务器接收数据。6.LoRaWAN协议LoRaWAN协议是由LoRa联盟提出并推广的一种低功耗广域网协议。它不同于我们之前介绍的几种协议。MQTT协议和CoAP协议都运行在应用层,底层使用TCP协议或UDP协议进行数据传输,整个协议栈运行在IP网络上。LoRaWAN协议是物理层/数据链路层协议,解决了设备如何接入互联网的问题,不运行在IP网络上。LoRa(LongRange)是一种无线通信技术,具有远距离、低功耗等特点。在上述场景中,用户可以使用LoRaWAN技术组网,在工程设备上安装支持LoRa的模块。通过LoRa中继设备,将数据发送到位于隧道外并可以上网的LoRa网关。LoRa网关再将数据封装成一个数据协议包,可以通过IP网络中的TCP协议或UDP协议(如MQTT协议)进行传输。),然后发送到云端数据中心。7.NB-IoT协议NB-IoT(NarrowBandInternetofThings)协议与LoRaWAN协议一样,是一种将设备连接到互联网物理层/数据链路层的协议。与LoRA不同,NB-IoT协议是在蜂窝网络上构建和运行的,带宽消耗低,可以直接部署到现有的GSM网络或LTE网络中。设备安装支持NB-IoT的芯片和对应的物联网卡,然后连接NB-IoT基站即可上网。而且NB-IoT协议不像LoRaWAN协议那样需要网关进行协议转换,连接的设备可以直接使用IP网络进行数据传输。与传统基站相比,NB-IoT协议的增益提升了约20dB,可以覆盖地下车库、管道、地下室等以往信号难以覆盖的地方。