物联网通讯协议MQTT、NB-IOT、Zigbee、CoAP、RFID、BLUETOOTH、NFC、4G和HTTP

news2024/11/15 10:33:14

物联网协议集

一、按网络四层协议分类

NB-IoT,LORA,WIFI,蓝牙,zigbee,4G都是物理层的,这几个都需要芯片模组支持(硬件支持

而MQTT,COAP,HTTP都是应用层协议,这些需要开发服务器,或者对接云平台厂商(软件支持

所以(MQTT,COAP,HTTP)是居于(NB-IoT,LORA,WIFI,蓝牙,zigbee,4G)的上层协议物理层中

二、按需要网关来分类

不需要网关:NB-IoT,4G(芯片可以直接连上移动,联通,电信运营商)

需要网关:LORA,WIFI,zigbee(不能直接连上电信运营商,需要通过一个网关中转才能连上电信运营商)

蓝牙比较特别,是两个蓝牙设备之间互联

三、NB-IoT,4G对比

NB-IoT低功耗,传输小数据,传输速度底,芯片模组和套餐便宜
4G:传输速度快和可以传输大的数据,但是功耗高,价格贵

WIFI和zigbee对比:
wifi 功耗高,传输数据快,一个路由只能加入较少设备
zigbee功耗低,传输数据慢,可以中继,一个zigbee网关可以加入成千上万的zigbee设备

四、应用层协议:MQTT和COAP对比

1、MQTT

mqtt 是一个基于客户端-服务器的消息发布/订阅传输协议。MQTT协议是轻量、简单、开放和易于实现的,这些特点使它适用范围非常广泛。

在很多情况下,包括受限的环境中,如:机器与机器(M2M)通信和物联网(IoT)、卫星链路通信传感器、偶尔拨号的医疗设备、智能家居、及一些小型化设备中已广泛使用

2、coap

2.1、COAP协议网络传输层由TCP改为UDP。

2.2、基于REST,server的资源地址和互联网一样也有类似url的格式,客户端同样有POST,GET,PUT,DELETE方法来访问server,对HTTP做了简化。

2.3、COAP是二进制格式的,HTTP是文本格式的,COAP比HTTP更加紧凑。

2.4、轻量化,COAP最小长度仅仅4B,一个HTTP的头都几十个B了

2.5、支持可靠传输,数据重传,块传输。 确保数据可靠到达。

2.6、支持IP多播, 即可以同时向多个设备发送请求。

2.7、非长连接通信,适用于低功耗物联网场景。

物联网组网技术

WIFI

优点:

  • 设备可接入互联网
  • 避免布线

缺点:

  • 距离近(50米)
  • 功耗大
  • 必须有热点
  • 连接数量少(一般最多16台设备)

应用场景:

  • 天猫精灵、独立工作的家电

蓝牙

缺点:

  • 功耗大
  • 连接过程繁琐
  • 安全性低
  • 距离近(50米)
  • 不可直接接入互联网
  • 连接数量少

应用场景:

  • 蓝牙音箱、键盘

ZigBee

ZigBee是一种低速短距离传输的无线协议

优点:

  • 低速、低耗电、低成本
  • 支持大量节点(最多65000个)
  • 自组网

缺点:

  • 不可接入互联网
  • 短距离(10到100米)
  • 穿透性差

应用场景:

  • 智能家居(小米)

2G/4G/5G

移动网络

优点:

  • 远距离(10KM)
  • 可接入互联网
  • 移动性强

缺点:

  • 4G/5G成本高,功耗大
  • 2G即将退网

应用场景:

  • 共享单车、丰巢

NB-IoT

窄带物联网(Narrow Band Internet of Things,NB-IoT)可直接部署于GSM网络(2G)、UMTS网络或LTE网络(4G),以降级部署成本、实现平滑升级。

优点:

  • 远距离(10KM)
  • 低功率
  • 可接入互联网(手机卡)
  • 移动性强

缺点:

  • 需要基站支持,这几年高速发展、慢慢覆盖全国
  • 某些地区没信号

LoRa

LoRa是低功耗局域网无线标准

优点:

  • 远距离(城镇2~5KM,郊区15KM)
  • 低功耗(据说电池可工作10年)
  • 安全(AES128加密)

缺点:

  • 速度慢
  • 不可接入互联网

应用场景:

  • 农业信息化、环境监测、智能抄表

网关

LoRa或ZigBee不能直接接入互联网,所以需要用到网关

网关又称网间连接器、协议转换器。网关在网络层以上实现网络互联,是复杂的网络互联设备,仅用于两个高层协议的网络互联

物联网中常见的物联通信协议

TCP

TCP是一种面向连接、可靠的、基于字节流的传输层通信协议

特点:

  • 面向连接
  • 可靠通信方式
  • 基于流的方式

缺点:

  • 花销大
  • 设备必须时刻保持连接状态(功耗大)
  • 消耗时间比较久

UDP

用户数据报协议,支持一个无连接的传输协议

特点:

  • 不需要连接
  • 速度快
  • 不需要应答

缺点:

  • 不可靠

TCP和UDP比较

TCPUDP
可靠不可靠
面向连接无连接
传输效率低传输效率高

UDP更适合对功率要求高、可靠性要求不高的场合

HTTP

HTTP是基于客户/服务器模式,且面向连接的(建立在TCP之上)。典型的HTTP事务处理有如下的过程:

  • 客户与服务器建立连接
  • 客户向服务器提出请求
  • 服务器接收请求,并根据请求返回相应的文件作为应答
  • 客户与服务器关闭连接

缺点:

  • 必须有客户端主动向服务器发送请求,服务器无法主动通知客户端
  • 要实习HTTP需要更多硬件资源(硬件成本更高)

结论:

  • 不适合物联网

MQTT

MQTT是一个基于客户端/服务器的消息发布/订阅的传输协议。
机器与机器(M2M)通信和物联网(IoT)。其在,通过卫星链路通信传感器、偶尔拨号的医疗设备、智能家具、及一些小型化设备中已广泛使用。

  • 特别适合于网络代价昂贵、带宽低、不可靠的环境。
  • 能在处理和内存资源有限的嵌入式设备中运行。
  • 使用发布/订阅消息模式,提供一对多的消息发布,从而解除应用程序耦合。
  • 使用TCP/IP提供网络连接。
  • 提供Last Will 和 Testament特性通知有关各方客户端异常中断的机制。

CoAP

CoAP是一种在物联网世界的类web协议,名字翻译来就是”受限应用程序“。

  • CoAP协议网络传输层UDP
  • 它基于REST,server的资源地址和互联网一样也有类似url的格式。客户端同样有POST,GET,PUT,DELETE方法来访问server,对HTTP做了简化。
  • CoAP是二进制格式,HTTP是文本格式,CoAP比HTTP更加紧凑
  • 轻量化、CoAP最小长度仅仅4KB,一个HTTP的头都几十个B了
  • 支持可靠传输,数量重传、块传输。确保数据可靠到达
  • 非长连接通信,适用于低功耗物联网场景
CoAPMQTT
通信机制同步异步
连接方式UDPTCP
使用场景物联网更适合推送
功耗
支持平台阿里云、百度、腾讯QQ物联等华为、中兴、移动
反向控制不支持支持

MQTT协议是保持连接的,所以及时性相对很好。
CoAP协议是无连接响应式通讯,因此不能主动推送,要等客户端访问才可以携带回去,及时性相对较差。

LwM2M

LwM2它的全称是Lightweight Machine-To-Machine,它的名称里面包含了这么两个重要含义:

  • 这个协议是轻量级的
  • 这个协议适用于物联网设备
  • LwM2M是适用于资源有限的终端设备管理的轻量级物联网协议

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

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

相关文章

Web入门-05.HTTP协议-响应协议

一.HTTP响应协议的格式 与客户端向服务器发送的HTTP请求(仅指POST请求)格式类似,服务器向客户端发送的HTTP相应格式也分为三类,响应行,响应头和响应体。 HTTP/1.1 200 OK 响应行:响应数据第一行(协议、状态码、…

风水学本质上是人机环境系统工效学

风水学与人机环境系统工效学的关系可以这样理解: 风水学源于传统文化,关注如何通过环境布局和方位来促进个人的健康、运势和幸福。它强调环境与个人之间的和谐,试图通过调整环境来提升生活质量。 而人机环境系统工效学则是基于现代科学&#…

面试题每日一练,测测你对JavaScript WeakMap 和数组方法的理解

今天的挑战题目涉及到JavaScript中的 WeakMap、数组方法 map 和 reduce,以及对对象引用的管理。让我们一步步解析这段代码,看看它会输出什么以及为什么。 代码解析 首先,代码创建了一个 WeakMap 实例: const weakMap new WeakMap…

Maven Wrapper深入实战

概述 官网,GitHub。 Maven Wrapper,缩写为mvnw,是一个受Gradle Wrapper和Takari Wrapper启发而产生的Maven子项目,主要有以下三个用途: 让开发者电脑上无需安装Maven,也不用配置环境变量,即可…

Java面试宝典-java基础02

Java面试宝典-java基础02 11、使用 final 关键字修饰一个变量时,是引用不能变,还是引用的对象不能变?12、this 和super 关键字的作用13、在 Java 中,为什么不允许从静态方法中访问非静态变量?14、final 与 static 的区别?15、int可以强制转换为byte吗?16、char 型变量中…

安卓中synchronized 关键字 的作用和介绍

在Java中,synchronized 关键字用于控制多线程环境下对方法或代码块的访问,确保在同一时刻只有一个线程可以执行该方法或代码块。当你在方法声明中使用 synchronized 关键字,这意味着任何线程在调用该方法之前必须获得该方法所属对象的锁。这通…

Android Abort message: ‘Error, cannot access an invalid/free‘d bitmap here!‘

Android Abort message: Error, cannot access an invalid/freed bitmap here! Error, cannot access an invalid/freed bitmap here 在某些Glide加载场景中,如果Glide把Bitmap加载放入到view后,又去从view里面取Bitmap,会抛上述NE错误。 解…

代码随想录 刷题记录-18 动态规划(2)01背包问题、习题

一、01背包理论基础 例题:46. 携带研究材料 01 背包 有n件物品和一个最多能背重量为w 的背包。第i件物品的重量是weight[i],得到的价值是value[i] 。每件物品只能用一次,求解将哪些物品装入背包里物品价值总和最大。 暴力解法&#xff1a…

大模型实战-FinGLM解析金融财报做RAG经验参考篇

大模型实战-FinGLM金融财报解析实战 https://modelscope.cn/datasets/modelscope/chatglm_llm_fintech_raw_dataset/summary 详细解读: https://modelscope.cn/models/finglm/FinGLM/summary 背景:解读pdf版本的公司财务年报,构建问答模型…

zsh: command not found: brew(M系列芯片)

利用官网的命令安装完brew /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"查看版本,提示找不到命令 % brew -v zsh: command not found: brew解决方法,在终端中执行以下命令&#xff0c…

EV代码签名证书——消除软件下载时的安全警告

开发公司和软件开发人员在发布应用程序后,当用户尝试下载并安装应用程序时,被SmartScreen识别为不常见或尚未建立起良好的信誉度,系统就会发出警告,提示用户该应用程序可能对电脑构成风险。这会导致软件下载率大幅度下降。 EV代码…

鸿蒙XComponent组件的认识

概述: XComponent组件作为一种渲染组件,通常用于满足开发者较为复杂的自定义渲染需求,例如相机预览流的显示、游戏画面的渲染、自定义视频播放器等等。其中Native API是其核心内容! 其可通过指定其type字段来实现不同的功能&…

Comsol 声学黑洞梁式结构的振动能量收集器

声学黑洞梁式结构是一种用于收集振动能量的装置,其工作原理类似于光学中的黑洞概念。它可以将周围环境中的声波能量转化为可用的电能。声学黑洞梁式结构通常由以下几个主要组成部分构成: 1. 梁:梁是主要的振动结构,可以是金属、陶…

mac nvm安装及使用(nvm安装指定版本node npm pnpm)

mac nvm安装及使用(nvm安装指定版本node npm pnpm) 1.卸载电脑的node 打开终端:依次执行以下命令: sudo rm -rf /usr/local/bin/npm sudo rm -rf /usr/local/share/man/man1/node.1 sudo rm -rf /usr/local/lib/dtrace/node.d s…

JVM极简教程

基础概念 1.1. Java 虚拟机 是运行 Java字节码的虚拟机 1.2. JVM跨平台原理 JVM在不同的系统(Linux、Windows、MacOS)上有不同的实现,目的是在使用相同的字节码,它们都会给出相同的结果 JVM跨平台本质:不同操作系统…

高标准农田灌区信息化如何提高灌溉效率

高标准农田灌区的信息化建设,是现代农业发展的重要一环,旨在通过先进的信息技术手段优化水资源管理,提高灌溉效率,保障粮食安全,同时促进农业可持续发展。这一过程不仅涉及硬件设施的升级,还包括软件系统、…

第2章 双向链表

双向链表 概念 对链表而言,双向均可遍历是最方便的,另外首尾相连循环遍历也可大大增加链表操作的便捷性。因 此,双向循环链表,是在实际运用中是最常见的链表形态。 基本操作 与普通的链表完全一致,双向循环链表虽然…

PHP房屋出售出租多端多平台预约系统小程序源码

🏠🔑「房屋出售出租多端运营系统」——房产管理新纪元,一键掌控所有!🚀 🏡 开篇直击:房产市场新利器,轻松管理不再是梦! 亲们,还在为房屋出售或出租的繁琐流…

【IC设计】跨时钟异步处理系列——单比特跨时钟

文章目录 建立时间和保持时间单比特信号的跨时钟处理慢时钟域的信号传输到快时钟域打两拍 快时钟域的信号传输到慢时钟域方案一 脉冲展宽同步 (打拍打拍,进行或)代码原理图 方案二 脉冲电平检测双触发器同步边沿检测代码原理图 建立时间和保持时间 所谓的建立时间或…

python可视化-漏斗图(转化分析)

1、数据生成 from scipy import stats# 构造数据 stage [浏览,加入购物车,下单,支付,交易成功] values [] for i in range(len(stage)):values.append(int(1000*stats.expon.pdf(i, scale0.95))) 2、基于漏斗图的转化分析 from pyecharts import options as opts from pye…