物联网常见协议篇
在物联网环境中,物联网协议承担着关键作用,而新手了解物联网协议如传输协议、通讯协议和行业协议等。
一、物联网协议
物联网协议是物联网环境中的关键组成部分,它承担着设备间通信和数据传输的重要任务。这些协议根据其作用的不同,可以分为三种主要类型:传输协议、通信协议和行业协议。
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更适合状态传输模型,适用于物联网设备之间的状态信息传输。
总结
掌握基础知识:传输协议、通讯协议和行业协议是物联网领域的基础知识,它们定义了设备之间如何进行数据传输、信息交换和行业应用的标准和规范。学习这些基础知识有助于新手建立起对物联网的基本概念和架构的理解。
理解设备通信:物联网设备之间需要进行大量的通信,而通信协议规定了设备之间如何进行信息的交换和传输。了解通讯协议可以帮助新手理解设备通信的原理和机制,从而更好地理解物联网的应用场景。
优化网络性能:传输协议和通讯协议对于网络性能的优化起着重要作用。了解这些协议可以帮助新手了解如何优化网络传输效率、提高信息传输的准确性和安全性,从而更好地满足物联网应用的需求。
适应行业需求:不同的行业和领域有不同的应用需求和标准,行业协议规定了特定行业中设备之间的通信标准和数据交换方式。了解行业协议可以帮助新手更好地适应特定行业的物联网应用需求,从而更好地将物联网技术与实际应用相结合。
提高就业竞争力:随着物联网的快速发展,相关领域的工作机会也在不断增加。了解传输协议、通讯协议和行业协议可以帮助新手在求职过程中提高自己的专业素养和技能水平,从而增强就业竞争力。
相关文章:
物联网常见协议篇
在物联网环境中,物联网协议承担着关键作用,而新手了解物联网协议如传输协议、通讯协议和行业协议等。 一、物联网协议 物联网协议是物联网环境中的关键组成部分,它承担着设备间通信和数据传输的重要任务。这些协议根据其作用的不同ÿ…...

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ÿ…...
单链表合并
【问题描述】 建立两个升序排列的单链表,表中元素的数据类型是整数,将建立的两个链表合并为 一个新的升序的单链表,并输出显示已合并好的有序的单链表 。 【输入形式】分别输入两组数据,两组数据以回车分隔;每组数据…...
[特殊字符] 智能合约中的数据是如何在区块链中保持一致的?
🧠 智能合约中的数据是如何在区块链中保持一致的? 为什么所有区块链节点都能得出相同结果?合约调用这么复杂,状态真能保持一致吗?本篇带你从底层视角理解“状态一致性”的真相。 一、智能合约的数据存储在哪里…...
【杂谈】-递归进化:人工智能的自我改进与监管挑战
递归进化:人工智能的自我改进与监管挑战 文章目录 递归进化:人工智能的自我改进与监管挑战1、自我改进型人工智能的崛起2、人工智能如何挑战人类监管?3、确保人工智能受控的策略4、人类在人工智能发展中的角色5、平衡自主性与控制力6、总结与…...

关于iview组件中使用 table , 绑定序号分页后序号从1开始的解决方案
问题描述:iview使用table 中type: "index",分页之后 ,索引还是从1开始,试过绑定后台返回数据的id, 这种方法可行,就是后台返回数据的每个页面id都不完全是按照从1开始的升序,因此百度了下,找到了…...

Python爬虫(一):爬虫伪装
一、网站防爬机制概述 在当今互联网环境中,具有一定规模或盈利性质的网站几乎都实施了各种防爬措施。这些措施主要分为两大类: 身份验证机制:直接将未经授权的爬虫阻挡在外反爬技术体系:通过各种技术手段增加爬虫获取数据的难度…...

蓝桥杯3498 01串的熵
问题描述 对于一个长度为 23333333的 01 串, 如果其信息熵为 11625907.5798, 且 0 出现次数比 1 少, 那么这个 01 串中 0 出现了多少次? #include<iostream> #include<cmath> using namespace std;int n 23333333;int main() {//枚举 0 出现的次数//因…...

【数据分析】R版IntelliGenes用于生物标志物发现的可解释机器学习
禁止商业或二改转载,仅供自学使用,侵权必究,如需截取部分内容请后台联系作者! 文章目录 介绍流程步骤1. 输入数据2. 特征选择3. 模型训练4. I-Genes 评分计算5. 输出结果 IntelliGenesR 安装包1. 特征选择2. 模型训练和评估3. I-Genes 评分计…...

Docker 本地安装 mysql 数据库
Docker: Accelerated Container Application Development 下载对应操作系统版本的 docker ;并安装。 基础操作不再赘述。 打开 macOS 终端,开始 docker 安装mysql之旅 第一步 docker search mysql 》〉docker search mysql NAME DE…...
提升移动端网页调试效率:WebDebugX 与常见工具组合实践
在日常移动端开发中,网页调试始终是一个高频但又极具挑战的环节。尤其在面对 iOS 与 Android 的混合技术栈、各种设备差异化行为时,开发者迫切需要一套高效、可靠且跨平台的调试方案。过去,我们或多或少使用过 Chrome DevTools、Remote Debug…...
Python 训练营打卡 Day 47
注意力热力图可视化 在day 46代码的基础上,对比不同卷积层热力图可视化的结果 import torch import torch.nn as nn import torch.optim as optim from torchvision import datasets, transforms from torch.utils.data import DataLoader import matplotlib.pypl…...
LCTF液晶可调谐滤波器在多光谱相机捕捉无人机目标检测中的作用
中达瑞和自2005年成立以来,一直在光谱成像领域深度钻研和发展,始终致力于研发高性能、高可靠性的光谱成像相机,为科研院校提供更优的产品和服务。在《低空背景下无人机目标的光谱特征研究及目标检测应用》这篇论文中提到中达瑞和 LCTF 作为多…...