当前位置: 首页 > news >正文

物联网常见协议篇

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

一、物联网协议

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

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更适合状态传输模型,适用于物联网设备之间的状态信息传输。

总结

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

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

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

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

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

相关文章:

物联网常见协议篇

在物联网环境中,物联网协议承担着关键作用,而新手了解物联网协议如传输协议、通讯协议和行业协议等。 一、物联网协议 物联网协议是物联网环境中的关键组成部分,它承担着设备间通信和数据传输的重要任务。这些协议根据其作用的不同&#xff…...

Kubernetes-1

学习Kubernetes第一天 k8s-11、什么是Kubernetes2、配置Kubernetes2.1、准备三台全新的虚拟机2.2、关闭防火墙和SElinux2.3、修改主机名2.4、升级操作系统(三台一起操作)2.5、配置主机hosts文件,相互之间通过主机名互相访问2.6、配置master和node之间的免密通道2.7、…...

SpringMVC框架②

三、RequestMapping注解 3、RequestMapping注解的value属性 必须设置 发送一个请求最直观的表示方式就是一个请求路径 altenter 进入接口方法 再用 alte7 查看里面的属性 value值可以是数组 value{"test","test1"} 只满足任何一个请求地址就会调用此方…...

springboot230基于Spring Boot在线远程考试系统的设计与实现

在线远程考试系统设计与实现 摘 要 信息数据从传统到当代,是一直在变革当中,突如其来的互联网让传统的信息管理看到了革命性的曙光,因为传统信息管理从时效性,还是安全性,还是可操作性等各个方面来讲,遇到…...

盘点:国家智能算力中心

文章目录 1. Main2. My thoughtsReference 1. Main 按照《中国算力白皮书(2022年)》的定义,算力主要分为四部分:通用算力、智能算力、超算算力、边缘算力。通用算力以CPU芯片输出的计算能力为主;智能算力以GPU、FPGA、…...

【C++】7-2 寻找完美数 分数 10

7-2 寻找完美数 分数 10 全屏浏览 切换布局 作者 李祥 单位 湖北经济学院 所有真因子之和小于其本身的数称为亏数。 如:4 的真因子 1、2 之和为 3,小于 4,是亏数。 所有真因子之和大于其本身的数称为盈数。 如:12 的真因子 1…...

基于Mahout实现K-Means聚类

需求分析 需要对数据集进行预处理,选择合适的特征进行聚类分析,确定聚类的数量和初始中心点,调用Mahout提供的K-Means算法进行聚类计算,评估聚类结果的准确性和稳定性。同时,需要对Mahout的使用和参数调优进行深入学习…...

科技的成就(五十七)

535、Machine Learning "1959 年 7 月,塞缪尔首创 Machine Learning 一词。塞缪尔在“Some Studies in Machine Learning Using theGame of Checkers”一文中给 Machine Learning 下了个非正式定义:没有明确编程指令的情况下,能让计算机…...

动态IP代理技术在网络爬虫中的实际使用

目录 一、动态IP代理技术概述 二、动态IP代理技术的优势 三、动态IP代理技术的实际应用 四、注意事项 五、案例分析 六、结论 随着互联网的迅猛发展,网络爬虫成为了获取信息、分析数据的重要工具。然而,在进行大规模爬取时,爬虫常常面临…...

计算机网络:深入探索HTTP

引言: HTTP,全称超文本传输协议(Hypertext Transfer Protocol),是互联网上数据通信的基础。它定义了客户端(如浏览器)和服务器之间如何交互和传输数据。HTTP最初是为了支持Web浏览而设计的&…...

Netty(1)nio

一. NIO 基础 non-blocking io 非阻塞 IO 1. 三大组件 1.1 Channel & Buffer channel 有一点类似于 stream,它就是读写数据的双向通道,可以从 channel 将数据读入 buffer,也可以将 buffer 的数据写入 channel,而之前的 st…...

1.3 vue ui框架-element-ui框架

1 前言 ElementUI是一套基于VUE2.0的桌面端组件库,ElementUI提供了丰富的组件帮助开发人员快速构建功能强大、风格统一的页面。 ElementUI官网 https://element.eleme.io 2 安装 运行命令 cnpm i element-ui -S -S表示只在该项目下安装,不是全局安…...

关于MediaEval数据集的Dataset构建(Text部分-使用PLM BERT)

import random import numpy as np import pandas as pd import torch from transformers import BertModel,BertTokenizer from tqdm.auto import tqdm from torch.utils.data import Dataset import re """参考Game-On论文""" ""&qu…...

QML学习之Text

文本显示是界面开发中的重要内容,在Qt Quick模块中提供了 Text 项来进行文本的显示,其中可以使用 font 属性组对文本字体进行设置: font.bold:是否加粗,取值为true或false font.capitalization:大写策略&a…...

轮转数组(元素位置对调、数据的左旋、右旋)

189. 轮转数组 给定一个整数数组 nums,将数组中的元素向右轮转 k 个位置,其中 k 是非负数 示例 1: 输入: nums [1,2,3,4,5,6,7], k 3 输出: [5,6,7,1,2,3,4] 解释: 向右轮转 1 步: [7,1,2,3,4,5,6] 向右轮转 2 步: [6,7,1,2,3,4,5] 向右轮转 3 步: …...

喜迎乔迁,开启新章 ▏易我科技新办公区乔迁庆典隆重举行

2024年1月18日,易我科技新办公区乔迁庆典在热烈而喜庆的氛围中隆重举行。新办公区的投入使用,标志着易我科技将以崭新姿态迈向新的发展阶段。 ▲ 易我科技新办公区 随着公司业务的不断发展和壮大,为了更好地适应公司发展的需要,…...

多个地区地图可视化

1. 配置Json文件 1.1 获得每个省份的json数据 打开 阿里云数据可视化平台 主页。 在搜索框中输入所需省份。 将json文件下载到本地。 1.2 将各省份的json数据进行融合 打开 geojson.io 主页 点击 open,上传刚刚下载的 json 文件,对多个省份不断…...

学习使用paddle来构造hrnet网络模型

1、首先阅读了hrnet的网络结构分析,了解到了网络构造如下: 参考博文姿态估计之2D人体姿态估计 - (HRNet)Deep High-Resolution Representation Learning for Human Pose Estimation(多家综合)-CSDN博客 最…...

Redis 多线程操作同一个Key如何保证一致性?

单线程模型:Redis 是单线程模型的,它通过一个事件循环来处理所有客户端请求,这意味着 Redis 在任何时刻只会处理一个请求,从而避免了并发访问同一个 Key 的问题。这种设计保证了数据的一致性。 乐观锁(Watch&#xff…...

单链表合并

【问题描述】 建立两个升序排列的单链表,表中元素的数据类型是整数,将建立的两个链表合并为 一个新的升序的单链表,并输出显示已合并好的有序的单链表 。 【输入形式】分别输入两组数据,两组数据以回车分隔;每组数据…...

七自由度机械臂嵌入式实时运动控制固件框架

1. 项目概述RobotControl_7Axis是一个面向七自由度(7-DOF)串联式机械臂的嵌入式运动控制固件框架,专为基于ARM Cortex-M系列微控制器(如STM32H743、STM32F429)的实时伺服驱动器节点设计。该项目并非通用机器人操作系统…...

企业级AI应用集成实战:基于Dify API与JWT实现员工工号一键登录

企业级AI应用集成实战:基于Dify API与JWT实现员工工号一键登录 当企业内部的AI应用需要与现有身份系统无缝对接时,如何在不影响用户体验的前提下实现安全高效的统一登录?本文将分享一套经过生产验证的后端集成方案,通过Dify的SSO …...

分层dfs,一种介于dfs与bfs之间的算法

在算法设计的深邃丛林中,深度优先搜索与广度优先搜索如同两条风格迥异的小径。前者沿着一条道路走到黑,不撞南墙不回头,却往往在最优解的门口徘徊——它难以回答"最少需要几步"这样的问题,因为一旦深入某个分支&#xf…...

React 自定义 Hook 的命名规范与调用规则详解

React 允许在普通函数中调用 Hook,但该函数必须是符合约定的自定义 Hook(即以 use 开头),且只能在 React 组件或其它自定义 Hook 内部调用;违反规则虽不一定立即报错,却会破坏依赖追踪、导致状态异常或未来…...

市电转低压直流这事儿玩过的人都知道,反激式拓扑是性价比首选。最近手头刚做完两个工业电源项目,正好拿6W和12W两个方案来唠唠实战细节

220V转12V成熟设计,做过相关认证。 两种电路。 1)6W,包含原理图和pcb,附芯片手册,包含变压器设计. 2) 12W,包含原理图和pcb,附 BOM,变压器参数,芯片手册。 备注:方案一芯片比方案二芯片价格偏低…...

在 Matplotlib 中fontweight一般怎么设置

fontweight一般怎么设置,还有其他设置吗fontweight一般怎么设置,还有其他设置吗⚖️ fontweight 的设置方法使用字符串(推荐)使用数字🎨 其他常用文本设置1. 字体基本属性2. 布局与外观属性3. 添加背景框 (bbox)&#…...

抢救你的数字青春:QQ空间记忆永久保存全攻略

抢救你的数字青春:QQ空间记忆永久保存全攻略 【免费下载链接】GetQzonehistory 获取QQ空间发布的历史说说 项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory 当你在整理旧物时偶然翻到泛黄的毕业照,是否会想起QQ空间里那些更鲜…...

开源文献管理工具如何重塑学术研究工作流:Zotero Reference深度解析

开源文献管理工具如何重塑学术研究工作流:Zotero Reference深度解析 【免费下载链接】zotero-reference PDF references add-on for Zotero. 项目地址: https://gitcode.com/gh_mirrors/zo/zotero-reference 在数字化科研时代,学术工作者平均每周…...

计算机毕业设计:Python智慧出行数据分析系统 Django框架 可视化 数据大屏 数据分析 大数据 机器学习 深度学习(建议收藏)✅

1、项目介绍 技术栈:Python语言、Django框架、ECharts可视化库、数据大屏技术。 功能模块: 首页模块数据大屏模块数据分析模块数据查看模块登录模块后台管理模块订单管理模块用户管理模块 项目介绍:滴滴出行数据分析平台基于Django框架开发&a…...

Vue Flow实战:如何为你的AI应用设计一个可嵌套循环的工作流节点?

Vue Flow高级实战:构建支持嵌套循环的AI工作流编辑器 在AI应用开发中,复杂业务流程往往需要可视化编排能力。想象一个场景:当用户输入触发多个条件判断时,系统需要循环执行某些操作直到满足特定条件,同时允许在循环内部…...