IoT设备接入基础(一)|学习笔记

简介: 快速学习IoT设备接入基础(一)

开发者学堂课程【物联网平台实操入门IoT设备接入基础(一)】学习笔记与课程紧密联系,让用户快速学习知识

课程地址:https://developer.aliyun.com/learning/course/1031/detail/15122


IoT设备接入基础(一)

今天主要介绍的是设备接入,会分成四块来介绍。第一块介绍的是IOT的一个介入架构,介入架构主要会分成几块来介绍,首先介绍整个IOT平台的全链路的一个架构,第二步会介绍一下接入层的一些能力,再介绍接入层的一些设计,这是第一部分。

第二部分会介绍设备的身份,主要是讲IOT平台有哪些身份体系。

第三部分介绍的是设备安全,因为现在平台上的各种设备,比如有指纹锁,监控,还有支付类的一些业务对安全的要求都比较高,所以也会讲解接入层对安全做了哪些保障。

第四部分会介绍设备支持的接入协议,包括怎么跟身份配合来接入平台,同时可能会简单讲解一些稳定性的保障,这些方面的事情,主要就分为四块。

 

一.IoT接入架构

首先来看一下第一块部分,第一块是整个全链路的接入,主要分成三部分。最左边的一部分主要是各种类型的设备和一些数据的上云,就是通过设备数据采集一些传感器上云,中间这部分是一个物联网平台,包括设备的接入,内部数据的处理,通过规则引擎做数据的流转,从物联网平台流出,物联网平台的数据流出有两种方式,一种就是流出到阿里云的云产品里面,由用户的业务服务器从这些云产品里获取设备上报的一些数据。第二种方式是通过用户自己搭建一个业务服务器,通过AMQP这个标准协议把数据从规则引擎直接流转到用户的业务服务器,这样可以减少中间通过云产品中转的代价。

image.png

从左到右主要是这三块,先讲解左边这部分。左边这部分是设备的接入,有各种设备。这些设备按通信类型一般会分为两种,一种是局网的设备,一种是广域网的设备。针对广域网设备,比如2g3g4g这种设备,可能直接通过广域网直接联络到中间的物联网平台。如果针对一些局网的设备,比如是一些灯泡之类的,可能它没法直接上云。它需要通过一些,比如它采用的是一些BLE,ZigBee,或者Modbus这种协议,首先它需要连到边缘网关,通过边缘网关来代理上云,这个是根据通信类型的两种连云方式。

还可以根据协议来分,可以分为标准协议接入和一些非标准协议接入,标准协议有很多,比如像物联网平台比较通用的是MQTT/CoAP/ HTTPS,还有行业的一些标准协议。非标准协议指的是私有协议,可能是各个设备厂商或者是企业自定义的协议。比如物联网平台支持的是MQTT/CoAP/ HTTPS这种标准协议,像行业的一些标准协议或者一些私有协议,一般要接入物联网平台是通过自建的一个接入服务器,在接入服务器上面集成泛化协议的sdk,再通过私有服务器将私有协议通过方法SDK转换成标准的MQTT/ HTTPS这种协议,通过这种方式连接到接入平台。

至于物联网平台,刚才也讲解到一个是设备接入,一个是消息的处理,一个是数据规则引擎,就是指数据流转出去。物联网平台支持一些基础的能力,包括设备管理,设备认证,物模型。物模型是指设备数据的物的描述。还有其他方面的能力,比如监控运维,数据分析,这些最基本的能力。大致就是这样的流程,从左边设备传感器上采集数据,到接入层,在接入层物联网平台做一些内部处理,通过规则引擎流转出去,最终流转到用户的业务服务器上。流转可分为两种方式,一种是MQTT协议,一种是通过云产品中转再流转到业务服务器。这个就是整个基础链路的一个全链路的架构。

第二部分是介绍接入服务器的能力,也就是接入服务器做了哪些事情。比如左边就是一个接入服务器的基础能力,它主要包括五块内容。第一部分就是安全保障。安全保障不管对于哪个平台来说肯定都是第一位。包括稳定性的保障,就相当于企业业务都在平台上面,如果平台稳定性出分歧会对企业业务形成损害,相当于完全不可用。特别是针对接入层,如果接入层出了问题,基本上所有设备都接入不上,所有业务都已经停滞了。所以说对用户的影响会非常大,稳定性保障也是非常重要的一部分。

第三个是海量设备的接入。海量设备的接入更多的是从系统架构上面来保障一些海量设备的接入问题。第四部分是一个全球就近接入,因为设备现在是各个国家都有,比如有美国,新加坡,那不能让国外的设备接入到国内来,那么网络稳定性这种方面,包括网络的稳定,发条消息的延迟,都可能会变得非常差,所以还支持全球接入的能力。第五个是支持多种标准协议,为什么是多种标准协议,因为设备的碎片化是非常严重的,比如有些设备是用电池的,有些设备摄像头可能相对来说能力还好。不同的设备,就像用电池的设备,让它用HTTP这种对流量耗的比较大的协议,对用户的设备来说肯定是一个很大的挑战,包括rome等。

所以针对不同的设备提供了不同的协议,可以让设备根据自己的设备自己的资源情况来选择各种不同的标准协议来接入。右边其实就是针对左边能力基础的实现,比如像就近接入,其实就相当于提供了八个地址和一些基础的能力,包括智能DNS,BGP网络,加速通道,全球设备分化中心,通过这些能力来支持全球就近接入。后面有专门一页来介绍这个全球就近接入。再上一层是指安全,上面写的高仿系统主要是用来防止DDOS的攻击。

负载均衡集群就是用来解决海量设备的接入,可以动态的随便扩展。通道安全是指TLS,DTLS,这种都是为了解决通道层面在数据上传的过程当中的数据安全问题,这是这一层。再上一层就是支持的协议种类,这部分就不具体介绍。最上面一层就是受到了稳定性保障,稳定性保障主要是分为几块。比如是通过隔离技术来保障稳定性,通过限流,降级能力来保证系统的稳定性,包括设计弱依赖,所有应用集群都是无单点这种问题来解决这种稳定性保障,稳定保障比较多,这里就列了几项,一个是隔离,一个是降级和限流。

image.png

再看一下接入层的架构设计,接入层的架构设计分成几块。第一块就是最左边的设备,有各种设备或者各种协议都有可能。中间这一层蓝色的部分包括设备揭接入,一些负载均衡的集群,DDOS的防御。后面是设备接入层,之后会对设备接入层针对这三个主要的能力全部进行讲解。后面就是标准协议层,这个设备接入层会把一些流量或者数据通过一些规则,路由到标准协议层,有不同的协议层来解析不同的协议。底层是网络和就近接入,这块内容到时会单独介绍。

首先来看这个接入层,接路层有三块核心的能力,一个是稳定性保障,接入层现在做的相对来说是比较薄的,就是核心的三个能力,一个就是并发建连。比如单机设备只能有1000KPS的来建TCP连接加TOS连接,主要做一些限流措施,更多的是防止很多设备都达到同一台ECS上面去把某台ECS的CPU打高,所以做了一些建连的限流。第二部分是连接的数量,就相当于单机四和八G,可能是蹭个二十万,三十万的TCP长连接,这个就相当于是防止,因为不做限连单击,可能连接数会非常多,导致机器的内存cpu耗光这种情况,主要做了一个有连接数量限流。

还有一个就是连接流量的限流,是指接入进来,比如现在物联网平台最多的可能就是MQTT的连接,通过MQTT连接上来,MQTT是个TCP长连接,那每个TCP长连接这个管道里每秒能发送的数据流量,像平台现在是256K,那主要是为了防止某一个单位设备流量太大。如果这个设备不做限制,那可能它发了100兆,但是单机的ECS可能也就100兆的流量处理能力会导致其他连接公平性会有损失,会导致其他数据不能处理,所以针对每个连接都做了一些流量的限制,就防止某个设备连接流量太大导致整一台机器上面的其它链接受影响。这是最基础的一个稳定性保障。

这个接入层的基本能力,它主要有一些比较简单的基础能力,一个是证书的卸载,还有证书的管理工作,还有智能路由。智能路由主要是指这个设备接上来,通过这个路由根据实力I D,帮你达到某一个集群里面去,后面的标准协议层,是可以分成很多个集群,就相当于通过智能路由的能力,把设备或者实力根据租户id分发到不同的集群里面去,这样可以保障各个集群的隔离。前面提到有一些集群隔离,就是不同的用户在不同的集群里面。第三部分来介绍这个高级能力,高级能力主要是在session转移之前,来讲解这个连接是怎么设计的。

比如设备通过MQT协议上来,建一个tcp长连接到设备接入层,在设备接入层再建一个tcp长连接到协议层,就是整条设备的一条tcp链路是独享的,不会说这条tcp连接上面有多个设备,每个设备都是独享tcp连接的。这个session转移是什么意思?session转移在协议层可能会发布,在平时发布时会在这个集群,比如在MQTT这个集群有1000台机器,其中一台机器要发布,那在发布之前会把这一台机器上面的所有设备,通过这个session转移的能力帮你转移到另外一台MQTT上面去。通过这种转移可以做到在标准协议这一层发布时,设备是不会出现TCP长连接断开的一个问题。

因为现在认为整个是一条TCP长链接,所以不会出现通过session转移来解决,就说协议层发布时的一些设备断开连接的问题,这就是session转移的意思。第二部分就是应用热更新,它指的是统一接入层这一块。在应用更新的时候,它自己本身可能也会更新。比如能力升级的时候,可能也会更新。更新是怎么做的?因为这个是tcp长连接设备是直接连在这个统一接入层的,如果是正常情况,发布时把这个应用程序关掉,那就相当于所有设备都会断开连接。应用热更新是什么意思?就是在发布时,不会直接将老设备连接全部断开,相当于两个进程会同时存在,老进程就不再接收新的设备的建连。

所有设备的建连都会连到新的进程里,老进程再过一段时间以后,慢慢的设备都下线了,就是设备根据自己的情况下线以后,在设备数量变少以后,这个程序才会在统一接入层将老的进程进行慢慢连接关掉,相对来说是非常平稳,很多设备用户基本上都是感知不到,因为会留很长一段时间让设备自己去慢慢的下线。这就是热更新的能力。用来解决的是接入层发布时候的导致的设备断开连接的问题,这两个能力合起来以后,session转移跟应用层热更新两个功能合起来以后,基本上就是设备的接入层发布不会导致设备的连接断开,或者会导致设备在发布的过程当中设备发不了消息,这种情况都不会出现。

第三个是负载均衡能力,是指统一接入层怎么把连接分配到后面的MQTT里面,这个就是在MQTT协议层集群里跟统一接入层之间,有一个流量的感知的功能,比如根据这个MQTT集群,每台机器的负载的情况来选择下次连接设备,比如这边受到设备连接以后通过这个负载捐献机制,应该往哪台MQTT连接,往负载小的一台机器上面去打,就是这个意思。这就是整个IOT接入层的一个架构,主要是核心三部分,一部分是设备,一部分就是在统一接入层的一些基本能力,还有一部分就是协议的能力。这个架构基本上就介绍到这里。

image.png

相关实践学习
钉钉群中如何接收IoT温控器数据告警通知
本实验主要介绍如何将温控器设备以MQTT协议接入IoT物联网平台,通过云产品流转到函数计算FC,调用钉钉群机器人API,实时推送温湿度消息到钉钉群。
阿里云AIoT物联网开发实战
本课程将由物联网专家带你熟悉阿里云AIoT物联网领域全套云产品,7天轻松搭建基于Arduino的端到端物联网场景应用。 开始学习前,请先开通下方两个云产品,让学习更流畅: IoT物联网平台:https://iot.console.aliyun.com/ LinkWAN物联网络管理平台:https://linkwan.console.aliyun.com/service-open
相关文章
|
6月前
|
网络协议 物联网 5G
K3S 系列文章 -5G IoT 网关设备 POD 访问报错 DNS 'i/o timeout' 分析与解决
K3S 系列文章 -5G IoT 网关设备 POD 访问报错 DNS 'i/o timeout' 分析与解决
|
27天前
|
人工智能 安全 物联网
|
3月前
|
存储 监控 安全
使用IoT设备优化家庭生活的技术探索
【8月更文挑战第4天】IoT设备以其智能化、便捷性和高效性,正逐步成为现代家庭不可或缺的一部分。从智能照明到智能安防,从智能恒温器到智能厨房,再到智能语音助手,这些设备不仅优化了我们的家庭生活,还提升了我们的生活质量和幸福感。随着技术的不断进步和应用场景的不断拓展,我们有理由相信,未来的智能家居将会更加智能、更加人性化,为我们的生活带来更多惊喜和便利。
|
2月前
|
机器学习/深度学习 人工智能 算法
物联网(IoT)就像是一个大型派对,无数的设备都在欢快地交流着信息
【9月更文挑战第4天】在这个万物互联的时代,物联网(IoT)犹如一场盛大的派对,各类设备欢聚一堂。然而,如何让这些设备互相理解并协同工作呢?这就需要机器学习与人工智能的助力。例如,智能空调通过学习你的使用习惯来调节温度,使你更加舒适;智能安防系统则能识别异常行为并及时报警,保障家庭安全。此外,智能农业、交通等领域也因机器学习和人工智能的应用变得更加高效。下面通过一个简单的温度预测代码示例,展示机器学习在物联网中的实际应用,让我们一起感受其强大潜力。
55 0
|
3月前
|
存储 SQL JSON
【Azure IoT Hub】从设备端如何向IOT发送海量数据,可以使用从设备到IoT连接的直接传输吗?如何把IoT Hub中的数据存储到Azure Storage中?
【Azure IoT Hub】从设备端如何向IOT发送海量数据,可以使用从设备到IoT连接的直接传输吗?如何把IoT Hub中的数据存储到Azure Storage中?
|
5月前
|
传感器 安全 物联网
物联网(IoT)设备的硬件选型与集成技术博文
【6月更文挑战第28天】物联网设备硬件选型与集成聚焦关键要素:功能匹配、性能稳定性、兼容扩展及成本效益。嵌入式系统、通信协议、数据处理和安全性技术确保集成效果,支撑高效、智能的IoT系统,驱动家居、城市与工业自动化变革。
|
6月前
|
安全 物联网 测试技术
构建未来:Android与IoT设备的无缝交互深入探索软件自动化测试的未来趋势
【5月更文挑战第30天】在物联网(IoT)技术快速发展的当下,Android系统因其开放性和广泛的用户基础成为了连接智能设备的首选平台。本文将探讨如何通过现代Android开发技术实现智能手机与IoT设备的高效、稳定连接,并分析其中的挑战和解决方案。我们将深入挖掘Android系统的底层通信机制,提出创新的交互模式,并通过实例演示如何在Android应用中集成IoT控制功能,旨在为开发者提供一套可行的指导方案,促进IoT生态系统的进一步发展。
|
6月前
|
安全 物联网 Android开发
构建未来:Android与IoT设备的无缝集成
【5月更文挑战第10天】 在数字化时代的浪潮中,智能设备与互联网的结合日益紧密。本文深入探讨了Android系统如何通过其开放性和灵活性成为连接物联网(IoT)设备的关键枢纽。我们将分析Android平台与IoT设备集成的技术途径,探索它们如何共同塑造智能家居、可穿戴技术以及工业自动化等领域的未来。文中不仅阐述了当前的发展状况,还展望了未来的发展趋势,特别是安全性和隐私保护方面的挑战及对策。
127 1
|
6月前
|
消息中间件 弹性计算 物联网
【阿里云弹性计算】阿里云ECS在IoT领域的应用:支撑大规模设备连接与数据处理
【5月更文挑战第26天】阿里云ECS是弹性计算服务,支持IoT设备的连接与数据处理。通过MQTT协议实现设备快速接入,配合消息队列处理异构实时数据。ECS可用于部署数据处理工具、应用服务,如智能家居控制系统,通过弹性伸缩适应负载变化。结合阿里云其他服务,ECS为IoT提供完整解决方案,助力企业数字化转型。
92 0
|
6月前
|
新零售 JSON 物联网
振南技术干货集:制冷设备大型IoT监测项目研发纪实(7)
振南技术干货集:制冷设备大型IoT监测项目研发纪实(7)

热门文章

最新文章

下一篇
无影云桌面