物联网常见协议篇

在物联网环境中,物联网协议承担着关键作用,而新手了解物联网协议如传输协议、通讯协议和行业协议等。

一、物联网协议

物联网协议是物联网环境中的关键组成部分,它承担着设备间通信和数据传输的重要任务。这些协议根据其作用的不同,可以分为三种主要类型:传输协议、通信协议和行业协议。

1)传输协议主要负责子网内设备间的组网和通信。例如,Wi-Fi、Ethernet、NFC、Zigbee、Bluetooth、GPRS、3G/4G/5G等都是常见的传输协议。它们确保了在网络上传输的数据具有安全性和可靠性。这些协议在设备间建立连接并确保数据在子网内进行有效传输。

2)通信协议主要是在传统互联网的TCP/IP协议之上运行的设备通讯协议。例如MQTT、CoAP、HTTP等都是常见的通信协议。它们负责设备通过互联网进行数据交换和通信。这些协议在设备间建立和维护通信,使信息能够顺畅地在设备间传输。

二、传输协议

1)Modbus是一种主要应用于工业领域的通信协议,它允许控制器通过网络或直接与其他设备进行数据传输。在工业自动化领域,Modbus协议被广泛使用,它提供了可靠的数据传输和易于理解的报文格式。

2)OPC-UA是一种通用的通信协议,主要应用于远程访问设备。它可以使装载不同系统的设备通过网络在客户端与服务器之间进行数据传输。OPC-UA协议的优势在于它的通用性和可扩展性,可以满足各种不同的设备和系统的通信需求。

3)LoRa是一种低功耗的局域网无线标准,主要应用于智慧工地等公共和私人领域。它具有远距离通信的能力,同时由于功耗较低,使得LoRa设备可以持续工作较长时间。

4)ZigBee是一种广泛应用于短距离无线通信的协议。它具有低速、安全、低能耗等特点,可以在短距离内进行稳定的数据传输。ZigBee协议的优势在于它可以接入大量的设备,并且在工业、农业等监测设备密集的领域内具有广泛的应用。

5)Bluetooth,俗称“蓝牙”,是一种常见的短距离无线通信协议。它在众多通信设备以及家用设备中都有广泛的应用,具有较高的兼容性。但相比其他协议,Bluetooth的传输距离较短,功耗和成本也较高。

以ZigBee、Bluetooth、WiFi为例,三者在普及率、能耗、兼容性上各有优劣。ZigBee在工业、农业等领域拥有较大优势,但在智能家居等领域的应用受到限制;Bluetooth出现较早,具有较高的兼容性,但功耗和成本较高,传输距离有限;WiFi主要应用于家庭生活和办公环境中,相比蓝牙更容易受到干扰和屏蔽,安全性稍显不足。

在选择通信协议时,需要根据具体的应用场景和需求进行权衡。对于需要接入大量设备的工业领域,ZigBee可能是一个合适的选择;而在需要远程访问设备的场景下,OPC-UA则更具优势;对于智慧工地等需要远距离通信的场景,LoRa是一个不错的选择;而在家庭生活和办公环境中,WiFi则更为常见。

三、通讯协议

MQTT:MQTT(Message Queuing Telemetry Transport)是TCP/IP技术的一种扩展,具有较小的体积,特别适合硬件性能或网络传输速度受限的设备。作为物联网行业的重要通讯协议之一,它的应用范围涵盖了卫星链路、医疗、智能家居等多个领域。

HTTPS:HTTPS(Hypertext Transfer Protocol Secure)是一种以安全为目标的数据传输协议,它在传输过程中要求请求/响应机制,从而确保信息传输的安全性。由于可以进行加密通信,HTTPS在互联网中被广泛使用。

CoAP:CoAP(Constrained Application Protocol)是一种主要用于物联网的通讯协议,它基于REST框架构建,能够精简整体结构,从而降低能耗。这种协议通常被应用在水表、电表等一些要求结构精简的设备上。

TCP:TCP(Transmission Control Protocol)是一种基于字节流的通信协议,具有高度的灵活性。因此,它常常被应用在公司内部系统的搭建上,能够给予使用者较高的自由度。

UDP:UDP(User Datagram Protocol)是一种支持无连接的传输协议,专注于提供简单的事物信息传输,延迟与成本都相对较低。该技术主要被应用在流媒体的数据采集与发送上。

以下是MQTT和CoAP协议的比较:

MQTT是一个面向消息的发布/订阅模式协议,它是一种轻量级的通讯协议,适用于连接物联网设备,特别是在硬件资源和网络传输速度有限的情况下。它通过使用代理服务器来解耦生产者和消费者,允许客户端发布消息,并由代理服务器决定消息的路由和复制。虽然MQTT支持一些持久化功能,但它通常被用作实时数据通讯总线。

CoAP是一种面向状态的协议,主要用于在物联网设备之间传输状态信息。它基于REST框架构建,能够精简整体结构,降低能耗。CoAP通常用于状态传输模型,而不是完全基于事件。虽然CoAP支持观察资源,但它并不像MQTT那样适用于多对多的通讯模式。

在连接方式上,MQTT客户端建立长连接TCP,这通常表示没有问题。而CoAP客户端和服务器都使用UDP协议发送和接收数据包。在NAT环境中,可能需要使用隧道或端口转发等技术来允许CoAP连接。

在消息格式方面,MQTT不提供消息类型标记或其他元数据来帮助客户端理解消息,因此所有的客户端必须知道向上的数据格式才能进行通讯。相比之下,CoAP提供内置的支持内容协商和发现功能,允许设备相互探测以找到交换数据的方式。

综上所述,MQTT和CoAP都有各自的优点和适用场景。MQTT更适合多对多的通讯模式,适用于实时数据通讯总线,而CoAP更适合状态传输模型,适用于物联网设备之间的状态信息传输。

总结

掌握基础知识:传输协议、通讯协议和行业协议是物联网领域的基础知识,它们定义了设备之间如何进行数据传输、信息交换和行业应用的标准和规范。学习这些基础知识有助于新手建立起对物联网的基本概念和架构的理解。

理解设备通信:物联网设备之间需要进行大量的通信,而通信协议规定了设备之间如何进行信息的交换和传输。了解通讯协议可以帮助新手理解设备通信的原理和机制,从而更好地理解物联网的应用场景。

优化网络性能:传输协议和通讯协议对于网络性能的优化起着重要作用。了解这些协议可以帮助新手了解如何优化网络传输效率、提高信息传输的准确性和安全性,从而更好地满足物联网应用的需求。

适应行业需求:不同的行业和领域有不同的应用需求和标准,行业协议规定了特定行业中设备之间的通信标准和数据交换方式。了解行业协议可以帮助新手更好地适应特定行业的物联网应用需求,从而更好地将物联网技术与实际应用相结合。

提高就业竞争力:随着物联网的快速发展,相关领域的工作机会也在不断增加。了解传输协议、通讯协议和行业协议可以帮助新手在求职过程中提高自己的专业素养和技能水平,从而增强就业竞争力。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/711131.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Day06:基础入门-抓包技术HTTPS协议APP小程序PC应用WEB转发联动

目录 HTTP/HTTPS协议抓包工具 Web浏览器抓包 APP应用抓包 WX小程序&PC应用抓包 思维导图 章节知识点: 应用架构:Web/APP/云应用/三方服务/负载均衡等 安全产品:CDN/WAF/IDS/IPS/蜜罐/防火墙/杀毒等 渗透命令:文件上传下载…

关于webpack的一些记录

文章目录 webpack基础配置开发模式的一些配置实际生产的一些优化提升开发体验提升打包构建速度减少代码体积优化代码运行性能 webpack 是一个用于现代 JavaScript 应用程序的静态模块打包工具。当 webpack 处理应用程序时,它会在内部构建一个依赖图(dependency grap…

最佳实践:Websocket 长连接状态如何保持

WebSocket 是一种支持通过单个 TCP 连接进行全双工通信的协议,相较于传统的 HTTP 协议,它更适合需要实时交互的应用场景。此协议在现代 Web 应用中扮演着至关重要的角色,尤其是在需要实时更新和通信的场合下维持持久连接。本文将探讨 WebSock…

图神经网络/生物信息交叉 Paper reading

目录 1. SMILES字符串 2. 利用图马尔可夫神经网络(GMNN)来进行关联性预测 3. 图池化算法 4. 合成致死性(SL)预测 5. 蛋白质溶解度研究 6. 药物疾病关联预测(DAA) 7. tRNA-疾病关系预测 8.异构体功能…

安卓手机安装termux、kali linux及基本配置

相关阅读:Termux 高级终端安装使用配置教程 | 国光 百度安全验证 该文安装的 kali liunx 应该是简易版的,没有相关工具 一、下载安装termux 建议通过 f-droid 应用市场下载链接termux,点击即直接下载。 二、配置termux 1.更换镜像源 te…

如何访问内网服务器?

访问内网服务器是在网络架构中常见的需求。内网服务器是指在一个局域网中运行的服务器,可以提供各种服务,如文件共享、网站托管等。由于安全性的考虑,内网服务器一般不直接暴露在公网中,所以需要通过特定的方法来访问。 一种常见的…

1. 开发环境搭建

文章目录 前端 前后端分离项目 前端:管理端web页面 , 用户端小程序后端:SpringBoot 前端 基于Nginx运行

TypeError: `dumps_kwargs` keyword arguments are no longer supported

TypeError: dumps_kwargs keyword arguments are no longer supported 1. 问题描述2. 解决方法 1. 问题描述 使用 FastChat 启动私有大语言模型,通过一些 UI 工具进行访问时,报以下错误。 略 2024-02-29 09:26:14 | ERROR | stderr | yield f"…

基于语义解析的KBQA——代码和论文详细分析

根据论文:Semantic Parsing on Freebase from Question-Answer Pairs,分析其代码和步骤,以加强对这一流程的深入理解,重点关注模型的输入、输出和具体方法。 前言 提供阅读本文的前提知识,引用自Semantic Parsing on…

Java实战:Spring Boot实现WebSocket实时通信

本文将详细介绍如何在Spring Boot应用程序中实现WebSocket实时通信。我们将探讨WebSocket的基本概念,以及如何使用Spring Boot和Spring WebSocket模块来实现WebSocket服务器和客户端。此外,我们将通过具体的示例来展示如何在Spring Boot应用程序中配置和…

【探索AI】十二 深度学习之第2周:深度神经网络(一)深度神经网络的结构与设计

第2周:深度神经网络 将从以下几个部分开始学习,第1周的概述有需要详细讲解的的同学自行百度; 深度神经网络的结构与设计 深度学习的参数初始化策略 过拟合与正则化技术 批标准化与Dropout 实践:使用深度学习框架构建简单的深度神…

《More Effective C++》- 极精简版 1-10条

本文章属于专栏《业界Cpp进阶建议整理》 本文列出《More Effective C》的1-10条的个人理解的极精简版本。 1、仔细区分pointers和references 使用引用的情况: 一旦代表的该对象就不能改变,应该选择reference(优势是使用时不需要判是否空&…

微信小程序的医院食堂订餐系统uniapp+vue+springboot/django/php

针对患者订餐的管理现状,本微信小程序的患者订餐主要实现以下几个目标: 1.系统界面简洁,操作简便。 2.拥有精准,高效的查询功能。 3.能使管理人员能够及时的获得精确的信息。 4.对数据内容的管理安全,…

安卓websocket(客服端和服务端写在app端) 案例

废话不多说直接上代码 首选导入 implementation "org.java-websocket:Java-WebSocket:1.4.0" package com.zx.qnncpds.androidwbsocket;import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.Button;import a…

腾讯:《智能科技 跨界相变——2024数字科技前沿应用趋势》

1月23日,腾讯发布了题为《智能科技 跨界相变——2024数字科技前沿应用趋势》的报告,报告从计算重塑、智能升维、沉浸交互、未来连接四个方面,对100多项未来技术和重点方向给出了趋势性判断。并表示我们正驶向一个由连接衍生交互、由计算催生智…

把简单留给用户,把复杂交给 AI

2024 年伊始,Kyligence 联合创始人兼 CEO 韩卿(Luke)分享了对 AI 与数据行业的一些战略思考,以及对中美企业服务市场的见解,引发业界同仁的广泛共鸣。正值 Kyligence 成立 8 周年,恰逢 AI 技术应用风起云涌…

leetcode 2.29

Leetcode hot100 二分查找1. 搜索插入位置2. 搜索二维矩阵 二分查找 1. 搜索插入位置 搜索插入位置 标准二分的写法: 复杂度分析 时间复杂度:O(log⁡n),其中 n 为数组的长度。二分查找所需的时间复杂度为 O(log⁡n)。 空间复杂度&#xff1…

FLask会话技术和Flask模板语言

二、FLask会话技术和Flask模板语言 1.会话技术 cookie 客户端的会话技术:让服务器认识浏览器,常用于登录 cookie本身由浏览器保存,通过Response将cookie写到浏览器上,下一次访问,浏览器会根据不同的规则携带cookie过…

ssm656基于JAVA的校园失物招领平台的设计与实现

** 🍅点赞收藏关注 → 私信领取本源代码、数据库🍅 本人在Java毕业设计领域有多年的经验,陆续会更新更多优质的Java实战项目希望你能有所收获,少走一些弯路。🍅关注我不迷路🍅** 一 、设计说明 1.1 课题…

(k8s中)docker netty OOM问题记录

1、首先查看docker的内存占用情况: docker top 容器名 -u 查看内存cpu占用率(容器名来自kubectl describe pod xxx或者docker ps) 可以看出内存一直增长,作为IO代理这是不正常的。 2、修改启动参数和配置文件 需要注意的是为了…