课时1:IoT设备接入基础(四)

简介: IoT设备接入基础

阿里云物联网平台入门训练营课时1:IoT设备接入基础(四)

课程地址https://developer.aliyun.com/trainingcamp/5fe77ddd74f743ebad9dbc8c5f47be9a?spm=a2c6h.26142516.J_2566289780.2.37c67cbd7bCsFs

课时1:IoT设备接入基础(四)


假设这个设备都是卖到欧洲去的,就在控制台上面把这些设备分发到德国上面去,就相当于把设备的元素写到德国这里以后,就相当于把设备分发到全球的某一个region上面去,分发完以后在设备接入的时候第一步不是直接接入,分发中心已经已经把这个问题处理掉了,所以他就会通过这个就近接入智能DNS域名。

如果是在国内还是比较简单,因为国内的话全球分发中心在上海,网络非常快速基本上都没有什么网络问题。

国内直接通过智能DNP网络然后直接到达上海分发地区,就能确定我的国内设备是在上海还是深圳还是北京。然后这个分发中心就会把设备所在的接入地址发给你,设备就把这个地址存起来下次连的时候就不用再做设备连接,就可以直接点到对应的最近的一个接入点上面,比如说上海,深圳,北京。

针对国外的设备,我们是这样做的,就相当于你设备首先通过DNS,然后DNS我能解析出来你这个设备,比如说是在美国,因为我这个全球分发中心在上海,就相当于知道所有的数据源。这个设备是在德国还是在美国只有全球分发中心知道,那我是怎么快速知道的,因为你设备在国外了,如果你连国内那肯定有网络问题,所以我们在这个中间支持了这个全球加速的通道,你可以认为这就是阿里云的全球加速。

就是通过一个专线,比如说你设备在美国,那你就在美国直接连美国的一个全球加速接入点,然后通过接入点记录以后,通过内部走专线直接走到国内,这样的话就是这样的话来保证就说国外的设备来获取就近接入点能快速稳定的来获取就近接入点。这边做的就是一个全球加速专线的一个东西。然后通过这三块东西一个是lOT,一个是分发中心,再加上加速来解决所有设备的一个全球就近接入的一个能力。

设备协议的介绍

 image.png

 讲一下我们设备的一个协议的介绍,就是平台支持设备及协议的一个接入介绍,一个最基础的就是MQTT这个也是现在物联网上面用的最多的一个协议。

然后他是一个基于TCP的一个通信就是一个Pub/Sub 发布订阅模式的异步通信协议。HTTP就是一个操作协议,这个就不介绍了HTTP大家应该都熟悉。

COAP然后他的话其实是基于IPv6的低功耗局域网设计的一个应承协议,他其实基于REST架构风格,跟HTTP协议格式挺像的,区别就是他是基于UDP的,HTTP他是基于TCP的。这个模式的话就是协议方面比较精简,在低功耗方面来说相对会比较多,然后右边就是这三种协议在不同场景下的一些情况。

首先是协议层,我们首先来对比一下MQTT协议和COAP协议。MQTT协议的协议层是TCPCOAP层的话是UDP,其实MQTTCOAP都是为了低功耗设计的。

通信方面就有差别MQTT的话是Pub/Sub 模式,COAP就是 模式其实就是这个消息对的PC模式。

然后底层的话,TLSDTLS其实都差不多,就是一个是在下面的,一个是上面,我觉得他主要区别是推送消息的一个实时性。比如说针对MQTT协议,因为他走的是TCP的长连接,所以如果你的业务服务器要往设备退一条消息,那么这个实时性是非常高的,就是基本上用服务推下去的时候设备就马上能收到,或者马上就能反馈,所以就说这个实时上面MQTT非常有优势。

COAP这个会有会有延迟,因为COAP的话就是所有的数据一般情况下都是通过设备主动去获取,然后服务端再返回。

COAP协议他设计的时候目的是他的协议类型有关他是走UDP,现在我们的网络一般都是接后面的,因为我们的接的一般是IPV4,然后IPV4的话大家也都知道IP全球都紧张,IPV4的话都是放在neit后面。

然后neit后面的话就会导致打洞的问题,然后那个打洞的话就会导致你这个COAP模式不能把消息走UNP直接下推下去。所以现在COAP一般用的比较少,但是我觉得什么时候我们把ipv6这块东西全部普及了,比如大家都是用ipv6这块,那其实就没有neit问题了。因为ipv6解决了就不会有IP资源这些问题,就是数量资源的问题。如果走ipv6的话,neit这个的话就可以不出现延迟问题,服务端也能快速的把消息推到设备端上面去。

所以说COAP他设计上面其实还是更加偏向于IPV 6的,这两个的话就是COAP的最大的一个区别。

他们的网络开销就是不管是COAP还是MQTT,其实设计的都是非常精简,所以在网络开销上面他们两个都差不多。

我觉得他们的主要区别其实还是在一个就是实时服务推送的一个问题。

HTTP的话,主要问题的话其实就是一个功耗问题,就是说你在嵌入式设备上面,HTTP一般还是用的不是太多,就是因为你HTTP光是一些文本协议就存起来,全靠资源包括花一些网络流量,包括一些解析,这个解析起来也是挺麻烦的因为他是文本匹配,跟MQTT,COAP比解析起来会比较麻烦一些。

它的实时推送也是一样,它的实时推送系统的话也会延迟,延期比较大因为它主要还是Req/Rsp模式,但是HTTP,比如说你走H2,那其实这个推送的实时性还是能解决的。

但是一般我们现在不走HTTP我们平台还是更多支持多种模式是Req/Rsp就是没有把HTTP做成一种长连接的HTTP,一般做成短连接的HTTP

不是用来解决Req/Rsp的问题,然后网络开销的话,有些设备流量要求比较高,如果用HTTP的话对流量的损耗还是比较大。


接入协议-MQTT介绍

下面主要介绍一下我们接入协议阿里云MQTT的一些协议。

MQTTMQTT3.1/MQTT3.1.1主要支持的能力有PUB,SUB。然后服务质量有QOS0QSO1,QOS2然后包括clean scssion和遗嘱和保留消息这种这种能力。

然后他的特性主要是六个。

第一点:阿里云MQTT特性就做针对协议,这主要支持PUB,SUB,PING,PONG,CONNECT,ONNECTUNSUNB

第二点:这个协议也支持clean scssion这种能力,但是对这些遗嘱保留消息其实是不支持的。

就比如说这个遗嘱主要是用在断开连接的时候再发一条遗嘱消息出来,平台是通过离线消息在线消息就是用户没法自定义,但是可以知道设备离线消息设备是否离线了是否上线我们会把上线消息离线消息在控制台透出。

跟它will,实现比较像,跟遗嘱实现比较像,但是缺少了一些自定义的能力,然后这个保留消息主要是用在保留最后一条消息在设备订阅TAOPKE的时候,还没有找到一个比较合适的场景,所以现在还没支持。

第三点:不支持will,retain msg

第四点:支持Qoso,QoS1不支持QoS2

第五点:本来按协议标准SUB QoS的话都是可以支持的,SUB QoS消息也可以支持Qoso,QoS1但是我们现在只能支持这种比较简单的,就是PUB信息上面支持。

相关文章
|
6月前
|
网络协议 物联网 5G
K3S 系列文章 -5G IoT 网关设备 POD 访问报错 DNS 'i/o timeout' 分析与解决
K3S 系列文章 -5G IoT 网关设备 POD 访问报错 DNS 'i/o timeout' 分析与解决
|
1月前
|
人工智能 安全 物联网
|
3月前
|
存储 监控 安全
使用IoT设备优化家庭生活的技术探索
【8月更文挑战第4天】IoT设备以其智能化、便捷性和高效性,正逐步成为现代家庭不可或缺的一部分。从智能照明到智能安防,从智能恒温器到智能厨房,再到智能语音助手,这些设备不仅优化了我们的家庭生活,还提升了我们的生活质量和幸福感。随着技术的不断进步和应用场景的不断拓展,我们有理由相信,未来的智能家居将会更加智能、更加人性化,为我们的生活带来更多惊喜和便利。
|
2月前
|
机器学习/深度学习 人工智能 算法
物联网(IoT)就像是一个大型派对,无数的设备都在欢快地交流着信息
【9月更文挑战第4天】在这个万物互联的时代,物联网(IoT)犹如一场盛大的派对,各类设备欢聚一堂。然而,如何让这些设备互相理解并协同工作呢?这就需要机器学习与人工智能的助力。例如,智能空调通过学习你的使用习惯来调节温度,使你更加舒适;智能安防系统则能识别异常行为并及时报警,保障家庭安全。此外,智能农业、交通等领域也因机器学习和人工智能的应用变得更加高效。下面通过一个简单的温度预测代码示例,展示机器学习在物联网中的实际应用,让我们一起感受其强大潜力。
61 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设备集成的技术途径,探索它们如何共同塑造智能家居、可穿戴技术以及工业自动化等领域的未来。文中不仅阐述了当前的发展状况,还展望了未来的发展趋势,特别是安全性和隐私保护方面的挑战及对策。
139 1
|
6月前
|
消息中间件 弹性计算 物联网
【阿里云弹性计算】阿里云ECS在IoT领域的应用:支撑大规模设备连接与数据处理
【5月更文挑战第26天】阿里云ECS是弹性计算服务,支持IoT设备的连接与数据处理。通过MQTT协议实现设备快速接入,配合消息队列处理异构实时数据。ECS可用于部署数据处理工具、应用服务,如智能家居控制系统,通过弹性伸缩适应负载变化。结合阿里云其他服务,ECS为IoT提供完整解决方案,助力企业数字化转型。
94 0
|
6月前
|
新零售 JSON 物联网
振南技术干货集:制冷设备大型IoT监测项目研发纪实(7)
振南技术干货集:制冷设备大型IoT监测项目研发纪实(7)