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

更多干货推荐可以去牛客网看看,他们现在的IT题库内容很丰富,属于国内做的很好的了,而且是课程+刷题+面经+求职+讨论区分享,一站式求职学习网站,最最最重要的里面的资源全部免费!!!点击进入--------------》跳转接口
在这里插入图片描述

更多干货推荐可以去牛客网看看,他们现在的IT题库内容很丰富,属于国内做的很好的了,而且是课程+刷题+面经+求职+讨论区分享,一站式求职学习网站,最最最重要的里面的资源全部免费!!!点击进入--------------》跳转接口
在这里插入图片描述

目录

  • 一、按网络四层协议分类
  • 二、按需要网关来分类
  • 三、NB-IoT,4G对比
  • 四、应用层协议:MQTT和COAP对比
  • 物联网组网技术
    • WIFI
    • 蓝牙
    • ZigBee
    • 2G/4G/5G
    • NB-IoT
    • LoRa
    • 网关
  • 物联网中常见的物联通信协议
    • TCP
    • UDP
    • TCP和UDP比较
    • HTTP
    • MQTT
    • CoAP
    • LwM2M

在这里插入图片描述

一、按网络四层协议分类

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.mzph.cn/news/265008.shtml

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

相关文章

【转】关于WaterFall瀑布流式布局的性能优化

市面上已存在的瀑布流式布局的网站:拼范网:http://www.pinfun.com/迷尚网:http://www.mishang.com/凡客达人:http://star.vancl.com/美丽说:http://www.meilishuo.com/蘑菇街:http://www.mogujie.com/welco…

微软OTech第二次会议(广州站)

很荣运又有机会参与微软的活动,也很高兴能加入到旨在促进Office技术交流的俱乐部(OTEC),在这里让我对Office有了更深入的理解,目前的Office远非以前Office所能比拟。也远不止简单的Word、Excel电子文档表格办公自动化这些功能。目前中国大陆O…

Work Tips

目录IAR环境下,使用Live Watch实时监控变量值IAR替换mcu库Linux中删除swp文件使用J-Link通过SWD接口直接下载.hex文件和.bin文件到MCU(下载J-Flash软件)linux设置时间命令Jlink无法识别排查方法IAR环境下,使用Live Watch实时监控变量值 循环放在数组里&…

ECMA6--字符串/数组

字符串 新增两个字符串方法 startsWith&#xff08;&#xff09; 字符串首开通检测 endsWith&#xff08;&#xff09; 后缀名检测 includes &#xff08;&#xff09; 字符串中是否包含 字符串模板 数组 let title 头部 let content 内容 let a <div>\<p>titl…

[总结]DataGrid 固定表头实现(纵向和横向滚动条滚动,而Header不动)

1.用Css来定制DataGrid表头HeaderStyle的cssclass属性.fixTitle{ /*background: navy; color: white;*/ position: relative; top: expression(this.offsetParent.scrollTop);} 1<DIV style"Z-INDEX: 102; LEFT: 264px; OVERFLOW: auto; WIDTH: 184px;TOP: 128px; HEIG…

Fedora 20 安装后的一些事情

1、关闭selinux 可以在软件中,找到selinux管理工具:system-config-selinux.py 2、安装源 可以通过# ls -l /etc/yum.repos.d 查看现有的安装源,另外还可以给一些其他软件源&#xff1a; 添加remi,Remi repository 是包含最新版本 PHP 和 MySQL 包的 Linux 源&#xff0c;由 Rem…

STM32使用SPI通信驱动2.4G无线射频模块发送数据

目录SPI介绍SPI接口原理SPI工作原理SPI特征引脚配置结构体库函数SPI配置过程SPI.hSPI.cNRF24L01无线射频模块NRF24L01厂家驱动代码移植NRF24L01.hNRF24L01.cmain.c串口打印调试SPI介绍 SPI接口原理 SPI工作原理 SPI特征 引脚配置 结构体 库函数 SPI配置过程 SPI.h #ifndef __…

1.Rabbitmq学习记录《本质介绍,协议AMQP分析》

1.RabbitMQ是一个由erlang开发的AMQP&#xff08;Advanced Message Queue &#xff09;的开源实现。 RabbitMQ的优势-: 除了Qpid&#xff0c;RabbitMQ是唯一一个实现了AMQP标准的消息服务器&#xff1b; 可靠性&#xff0c;RabbitMQ的持久化支持&#xff0c;保证了消息的稳定性…

“Unamed VM”无法初始化 0x80070539

当我们重新安装Windows Server 2012 R2以后&#xff0c;之前Hyper-V的虚拟机没有进行导出&#xff0c;那么我们重新导入虚拟机成功以后&#xff0c;启动它遇到了如下错误&#xff1a; 那么怎么办呢&#xff1f;用下面的poweshell命令就可以解决 Grant-VmConnectAccess -usernam…

要回家了,想到以后..

过几天就要回家了,剩下的工作还有一点没有完成.不过已经是无关大碍了.突然有种很烦的感觉.想想这个暑假的时间里面自己也算是经历不少了,可是回忆一下自己到底收获了什么,脑子里面却是一片空白,什么都想不到.本来是要动笔写篇"我的深圳之行"之类的东西的,可是却没有一…

JSON数据格式解析库(cJSON、Jansson)的使用在STM32上移植和使用

json | json-c使用入门 这篇讲的也不错&#xff0c;抽空看下(网络传输json数据) https://www.bilibili.com/video/av669454528?p3&spm_id_frompageDriver 目录轻量级C语言JSON解析库1.JSON与cJSONJSON —— 轻量级的数据格式JSON语法规则cJSON2.cJSON数据结构和设计思想3.…

cytoscape操作经验

1.cytoscape批量修改节点属性&#xff1f;首先要创建一个节点属性文档&#xff08;.txt),比如说drug1 1drug2 1complex1 0complex2 0第一列是名字&#xff0c;第二列是属性&#xff0c;用空格分开&#xff1b;然后导入节点属性&#xff0c;在Vizmapper中下拉的visual mapping b…

[ZJOI2007]棋盘制作 悬线法dp 求限制下的最大子矩阵

https://www.luogu.org/problemnew/show/P1169 第一次听说到这种dp的名称叫做悬线法&#xff0c;听起来好厉害 题意是求一个矩阵内的最大01交错子矩阵&#xff0c;开始想的是dp[2000][2000][2]维护这个位置向上向左扩充的矩阵最大长度之后n扫一遍&#xff0c;但是写起来发现并不…

TEA、XTEA、XXTEA加密解密算法

参考&#xff1a;TEA、XTEA、XXTEA加密解密算法 地址&#xff1a;https://blog.csdn.net/gsls200808/article/details/48243019 其他相关博文链接&#xff1a;tea系列加密算法学习笔记、TEA和XxTEA跨平台加密算法 XXTEA可以直接加密解密字符串吗&#xff1f; 如果是字符串加密&…

用户自定义的数据库备份(选自csdn\blog)

用户自定义的数据库备份 备份类型 备份方法 示例 数据文件 操作系统命令或工具 C:\COPY datafile1.ora datafile.bak 归档重做日志文件 操作系统命令或工具 C:\COPY log_01_23.arc log_01_23.bak 控制文件 SQL命令 SQL>ALTER DATABASE BACKUP CONTROLFILE TO confile.bak; …

WIFI 配网方式(AP模式、Smartconfig等模式)

参考&#xff1a;智能设备WIFI配网方式汇总 地址&#xff1a;https://blog.csdn.net/beauytlife_1985/article/details/87539350?spm1001.2014.3001.5502 参考&#xff1a;Wifi设备配网问题 地址&#xff1a;https://blog.csdn.net/boazheng/article/details/90906184 目录概述…

动态显示产品信息

为什么80%的码农都做不了架构师&#xff1f;>>> 今天做了个产品介绍的功能,想到只是简单的显示信息实在是无聊,那就让它动态的一个一个显示出来好了. 效果展示:http://runjs.cn/detail/topt9b26 主要的代码如下 html: info里面保存着产品的信息. <div id"c…

ALGO-162——Airport Configuration

问题描述&#xff1a;ACM机场是一个本地机场&#xff0c;对于大多数人来说&#xff0c;机场不是他们的终点或起点&#xff0c;而是中转站。机场有一个规划图。到达的大门在机场的北边&#xff08;相当于空格&#xff09;。出发的大门在机场的南边&#xff08;也相当于空格&…

CRC校验及C语言实现

摘自&#xff1a;CRC校验原理及其C语言实现 地址&#xff1a;https://blog.csdn.net/whik1194/article/details/108837493?spm1001.2014.3001.5502 什么是校验算法 最近的工作中&#xff0c;要实现对通信数据的CRC计算&#xff0c;所以花了两天的时间好好研究了一下&#xff…

额,你在main.xml中加了一个id以后,要右键点save,才会将这个id加入到R中,否则是没有的。。。R里的东西是程序自动生成的~~~...

我修改了 main.xml 然后我在主函数中调用main里面的东西 例如在main.xml加了一个id 我在主函数用 R.id老是调用不出来 如何才能快速的准确的调用出 main.xml里面的东西呢? 额&#xff0c;你在main.xml中加了一个id以后&#xff0c;要右键点save&#xff0c;才会将这个id加入…