共计 4948 个字符,预计需要花费 13 分钟才能阅读完成。
举荐语:这是一本从技术原理、工程实际、设计模式和最佳实际 4 个维度解说物联网零碎开发的著述,是作者 10 余年实践经验的总结。
付强,某智慧社区企业的联结创始人兼 CTO,资深 IoT 技术专家,有 10 余年从业教训,专一于物联网平台和产品的设计与开发,十分相熟各种物联网协定和物联网零碎的架构与开发。
一、什么是物联网?
物联网(Internet of Things)这个概念读者应该不会生疏。物联网的概念最早于 1999 年被提出来,曾被称为继计算机、互联网之后,世界信息产业倒退的第三次浪潮,到当初曾经倒退了 20 余年。现在,在日常生活中,咱们曾经能够接触到十分多的物联网产品,例如各种智能家电、智能门锁等,这些都是物联网技术比拟成熟的利用。
物联网最早的定义是:把所有物品通过射频辨认等信息传感设施与互联网连接起来,实现智能化辨认和治理。当然,物联网倒退到明天,它的定义和范畴曾经有了扩大与变动,上面是古代物联网具备的特点。
1.1 物联网也是互联网
物联网,即物的互联网,属于互联网的一部分。物联网将互联网的基础设施作为信息传递的载体,即古代的物联网产品肯定是“物”通过某种形式接入了互联网,而“物”通过互联网上传 / 下载数据,以及与人进行交互。
举个通过手机 App 近程启动汽车的例子,当用户通过 App 实现启动操作时,指令从已接入互联网的手机发送到云端平台,云端平台找到已接入互联网的车端电脑,而后下发指令,车端电脑执行启动命令,并将执行的后果反馈到云端平台;同时,用户的这次操作被记录在云端,用户能够随时从 App 上查问近程开锁记录历史。**
这就是一个典型的物联网场景,它是属于互联网利用的一种。“物”接入互联网,数据和信息通过互联网交互,同时数据和其余互联网利用一样汇聚到了云端。
1.2 物联网的主体是“物”
后面说古代物联网利用是一种互联网利用,然而物联网利用和传统互联网利用又有一个很大的不同,那就是传统互联网生产和生产数据的主体是人,而古代物联网生产和生产数据的主体是物。
在古代物联网的利用场景下,数据的生产方是“物”,比方智能设施或者传感器,数据的消费者往往也是“物”。
在智慧农业的利用中,孵化室中的温度传感器将孵化室中的温度周期性地上传到控制中心。当温度低于肯定阈值时,核心依照预设的规定近程关上加温设施。在这一场景中,数据的生产者是温度传感器,数据的消费者是加温设施,二者都是“物”,人并没有直接参与其中。
物联网和传统互联网最大的不同:数据的生产者和消费者次要是物,数据内容也是和“物”非亲非故的。
1.3 物联网和人工智能
人工智能堪称近年来 IT 畛域最火的词语之一。纵观人工智能的倒退路线,咱们能够看到,人工智能的倒退之所以可能突飞猛进,次要有以下两个起因。
- 硬件的倒退使得深度学习神经网络的学习工夫迅速缩短。
- 在大数据的时代,获取大量数据的老本变低。
事实上,第二个起因尤为重要,神经网络因为其个性,须要海量的数据进行学习,可供学习的无效数据量往往决定了最初训练出的神经网络的成果,甚至算法的重要性都能够排在数据量之后。
而物联网设施,比方智能家电、可穿戴设施等,每天都在产生海量的数据,这些数据通过解决和荡涤后,都能够作为不错的训练数据反哺神经网络。同时,训练进去的神经网络又能够从新利用到物联网设施中,进而造成一个良性循环。
图 1 - 1 所示为物联网利用人工智能办法进行数据采集 - 迭代的循环。通过物联网设施采集并训练数据,在数据中心实现训练后,将模型利用到物联网设施,并评估成果进行下一次迭代。
物联网是人工智能落地的一个十分好的利用场景。随着人工智能的迅速倒退,物联网这个同样在很多年前就提出的实践和技术,也会迎来新的春天。
目前,互联网数据入口慢慢朝几大巨头(例如阿里、腾讯)汇聚,规模较小的公司获取数据的代价越来越高,__物联网这块还未齐全开发的数据畛域就显得尤为重要__。
这也是本书侧重于物联网平台开发而略过前端设施开发的起因,因为前端设施最终会趋于雷同,呈现同质化竞争,而如何采集和应用好设施产生的海量数据,才是你是否具备竞争劣势的决定性因素。
1.4 物联网的现状与前景
随着 5G 时代的降临,物联网的倒退将会十分迅速。同时,物联网方向的新增融资也始终处于回升趋势。上面再从利用场景角度来谈一下物联网行业的发展前景。
物联网的利用场景十分宽泛,包含:
- 智慧城市
- 智慧修建
- 车联网
- 智慧社区
- 智能家居
- 智慧医疗
- 工业物联网
在不同的场景下,物联网利用的差别十分大,终端和网络架构的异构性强,这意味着在物联网行业存在足够多的细分市场,这就很难呈现一家在市场份额上具备统治力的公司,同时因为市场够大,所以可能让足够多的公司存活。这种状况在互联网行业是不常见的,互联网行业的头部效应非常明显,市场绝大部分份额往往被头部的两三家公司占据。
物联网模式绝对于互联网模式来说更“重”一些。物联网的利用总是随同着前端设施,这也就意味着用户的切换老本绝对较高,毕竟拆除设施、重新安装设施比动动手指从新下载一个利用要简单不少。这也就意味着,资本的推动力在物联网行业中绝对更弱。如果你获得了先发劣势,那么后来者想光靠资本的力量赶上或者将你挤出市场,那他付出的代价要比在互联网行业中大得多。
所以说,物联网行业目前依然是一片蓝海,小规模公司在这个行业中也齐全有能力和大规模公司同台竞争。在 AI 和区块链的热度冷却后,物联网很有可能会成为下一个风口。作为程序员,在风口降临之前,提前进行一些常识储备是十分有必要的。
二、常见的物联网协定
2.1 MQTT 协定
MQTT 协定(Message Queue Telemetry Transport,音讯队列遥测传输协定)是 IBM 的 Andy Stanford-Clark 和 Arcom 的 Arlen Nipper 于 1999 年为了一个通过卫星网络连接输油管道的我的项目开发的。为了满足低电量耗费和低网络带宽的需要,MQTT 协定在设计之初就蕴含了以下几个特点:
- 实现简略
- 提供数据传输的 QoS
- 轻量、占用带宽低
- 可传输任意类型的数据
- 可放弃的会话(Session)
随着多年的倒退,MQTT 协定的重点不再只是嵌入式零碎,而是更宽泛的物联网世界。
简略来说,MQTT 协定有以下个性:
- 基于 TCP 协定的应用层协定
- 采纳 C / S 架构
- 应用订阅 / 公布模式,将音讯的发送方和接受方解耦
- 提供 3 种音讯的 QoS(Quality of Service):至少一次、起码一次、只有一次
- 收发音讯都是异步的,发送方不须要期待接管方应答
MQTT 协定的架构由 Broker 和连贯到 Broker 的多个 Client 组成,如图 2 - 1 所示。
MQTT 协定能够为大量的低功率、工作网络环境不牢靠的物联网设施提供通信保障。而它在挪动互联网畛域也庸庸碌碌,很多 Android App 的推送性能都是基于 MQTT 协定实现的,一些 IM 的实现也是基于 MQTT 协定的。
2.2 MQTT-SN 协定
MQTT-SN(MQTT for Sensor Network)协定是 MQTT 协定的传感器版本。MQTT 协定尽管是轻量的应用层协定,然而 MQTT 协定是运行于 TCP 协定栈之上的,TCP 协定对于某些计算能力和电量十分无限的设施来说,比方传感器,就不太实用了。
MQTT-SN 运行在 UDP 协定上,同时保留了 MQTT 协定的大部分信令和个性,如订阅和公布等。MQTT-SN 协定引入了 MQTT-SN 网关这一角色,网关负责把 MQTT-SN 协定转换为 MQTT 协定,并和远端的 MQTT Broker 进行通信。MQTT-SN 协定反对网关的主动发现。MQTT-SN 协定的通信模型如图 2 - 2 所示。
2.3 CoAP 协定
CoAP(Constrained Application Protocol)协定是一种运行在资源比拟缓和的设施上的协定。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 所示。
2.4 LwM2M 协定
LwM2M(Lightweight Machine-To-Machine)协定是由 Open Mobile Alliance(OMA)定义的一套实用于物联网的轻量级协定。它应用 RESTful 接口,提供设施的接入、治理和通信性能,也实用于资源比拟缓和的设施。LwM2M 协定的架构如图 2 - 4 所示。
LwM2M 协定底层应用 CoAP 协定传输数据和信令。而在 LwM2M 协定的架构中,CoAP 协定能够运行在 UDP 或者 SMS(短信)之上,通过 DTLS(数据报传输层平安)来实现数据的平安传输。
LwM2M 协定架构次要蕴含 3 种实体—LwM2M Bootstrap Server、LwM2M Server 和 LwM2M Client。
LwM2M Bootstrap Server 负责疏导 LwM2M Client 注册并接入 LwM2M Server,之后 LwM2M Server 和 LwM2M Client 就能够通过协定指定的接口进行交互了。
2.5 HTTP 协定
正如咱们之前所讲,物联网也是互联网,HTTP 这个在互联网中广泛应用的协定,在适合的环境下也能够利用到物联网中。在一些计算和硬件资源比拟充分的设施上,比方运行安卓操作系统的设施,齐全能够应用 HTTP 协定上传和下载数据,就如同在开发挪动利用一样。设施也能够应用运行在 HTTP 协定上的 WebSocket 被动接管来自服务器的数据。
2.6 LoRaWAN 协定
LoRaWAN 协定是由 LoRa 联盟提出并推动的一种低功率广域网协定,它和咱们之前介绍的几种协定有所不同。MQTT 协定、CoAP 协定都是运行在应用层,底层应用 TCP 协定或者 UDP 协定进行数据传输,整个协定栈运行在 IP 网络上。而 LoRaWAN 协定则是物理层 / 数据链路层协定,它解决的是设施如何接入互联网的问题,并不运行在 IP 网络上。
LoRa(Long Range)是一种无线通信技术,它具备应用距离远、功耗低的特点。在下面的场景下,用户就能够应用 LoRaWAN 技术进行组网,在工程设施上装置反对 LoRA 的模块。通过 LoRa 的中继设施将数据发往位于隧道内部的、有互联网接入的 LoRa 网关,LoRa 网关再将数据封装成能够在 IP 网络中通过 TCP 协定或者 UDP 协定传输的数据协定包(比方 MQTT 协定),而后发往云端的数据中心。
2.7 NB-IoT 协定
NB-IoT(Narrow Band Internet of Things)协定和 LoRaWAN 协定一样,是将设施接入互联网的物理层 / 数据链路层的协定。
与 LoRA 不同的是,NB-IoT 协定构建和运行在蜂窝网络上,耗费的带宽较低,能够间接部署到现有的 GSM 网络或者 LTE 网络。设施装置反对 NB-IoT 的芯片和相应的物联网卡,而后连贯到 NB-IoT 基站就能够接入互联网。而且 NB-IoT 协定不像 LoRaWAN 协定那样须要网关进行协定转换,接入的设施能够间接应用 IP 网络进行数据传输。
NB-IoT 协定相比传统的基站,增益进步了约 20dB,能够笼罩到公开车库、管道、地下室等之前信号难以笼罩的中央。
本文经出版社受权公布,更多对于从 0 到 1 搭建物联网平台的办法,举荐浏览《物联网零碎开发:从 0 到 1 构建物联网 IoT 平台》。
举荐语:这是一本从技术原理、工程实际、设计模式和最佳实际 4 个维度解说物联网零碎开发的著述,是作者 10 余年实践经验的总结。
首先,通过代码实例循序渐进、深入浅出地介绍了物联网协定的原理与实际;而后,以一个性能齐备的综合性物联网平台的搭建过程为例,解说了如何从 0 到 1 搭建一个物联网平台;最初,总结了物联网平台开发中罕用的设计模式和最佳实际。
原文链接
本文为阿里云原创内容,未经容许不得转载。