发表于:2020/9/27 9:45:24
#0楼
物联网领域常见通信类型 有线通信如下: RS485:两线制,差分信号传输,半双工通信,最大通信距离千米以上。
RS232:三线制,全双工通信,一般通信距离小于 10 米。
以太网:4 线或 8 线,多主通信,高性能。普通网线通信距离 100 米以内。
CAN:两线制,多主通信,高性能,高可靠性,每次最多传输 8 个字节的数据。通信距离千米以上。
M-Bus:两线制,半双工,专为远程抄表系统专门设计的总线,传送速度为 300 至 9600 Baud。
单总线:单线制,主设备口可以直接驱动200米范围的从设备,传输速率一般为16.3Kbit/s,最大可达142 Kbit/s。
电力载波:利用现有电力线,通过载波方式将模拟或数字信号进行高速传输的技术。
无线通信:
Wifi:2.4G/5G射频频段,民用最常用无线通信方式,通信距离100米内。
蓝牙:2.4G短距离无线通信,常见的通信距离为10米左右。
Zigbee:低功耗无线通信协议,低功率一般传输距离 100 米以内,高功率的 1000 米左右。
LoRa:基于扩频技术的超远距离无线传输方案。低功耗,多节点。通信距离 1千米~8千米。
GPRS/4G/5G:通用分组无线服务技术,广域网通信,不限距离远程通信
NB-IoT:IoT 领域一个新兴的技术,支持低功耗设备在广域网的蜂窝数据连接,亦称低功耗广域网(LPWA)。433M/470M无线通信:小功率经济型无线数传通信,通信距离一般1000米左右。数字无线电台:借助DSP技术和无线电技术实现的高性能专业数据传输电台,免申请频段为2.4G,通信波特率为9600~19200Bps,根据功率不同,一般通信距离1千米~15千米
芯片级通信:
l? TTL串口:三线制,和RS232或RS485一样,都属于串行通信,只是为TTL电平,大部分是芯片对芯片,近距离通信。
l? SPI:四线制,高速全双工,同步的通信总线。l? I2C:两线制,由Philips公司开发的一种简单、双向同步串行总线。
l? SDIO:主要为SD卡模块定义的外设接口,有些wifi模块也采用了SDIO接口和MCU通信。
其他通信方式:
l? 模拟量信号输入:0~20mA/0~5V/0~20Vl? 开关量信号输入:0~24Vl?
继电器信号输出: 通断,干接点 物联网领域常见通信协议
Modbus RTU:施耐德公司制定的基于 RS485/RS232 的串行通信总线协议。
Modbus TCP: 施耐德公司制定的基于以太网的通信总线协议。
CJ/T188-2004:中国城镇建设行业标准,主要在抄表系统中常用。
DL/T645-2007:国家电力行业电测量标准化技术委员会颁布的多功能电能表通信协议。
TCP/IP:网络通讯协议,是Internet最基本的协议,由网络层的IP协议和传输层的TCP协议组成(TCP是有连接的协议,UDP是无连接的协议)。
Http:超文本传输协议,所有的WWW文件都必须遵守这个标准。协议构建在TCP之上。
MQTT:消息队列遥测传输,IBM开发的一个即时通讯协议。目前已经成为主流物联网平台默认使用的通信协议。CoAP:可以理解为精简的Http协议,主要在资源受限的物联网设备上使用。
PPI:西门子公司专为 S7-200 系列 PLC 开发的通讯协议。Profibus:是一种国际化、开放式、不依赖于设备生产商的现场总线标准。
CANopen:是一种架构在 CAN 上的高层通信协协议,包括通信子协议及设备子协议。
KNX :是被正式批准的住宅和楼宇控制领域的开放式国际标准。
Alink:阿里巴巴推出的一种物联网通信协议。
MQTT协议它具有以下主要的几项特性:
1、使用发布/订阅消息模式,提供一对多的消息发布和应用程序之间的解耦;
2、消息传输不需要知道负载内容;
3、使用 TCP/IP 提供网络连接;QoS0,最多一次送达。也就是发出去就fire掉,没有后面的事情了。QoS1,至少一次送达。发出去之后必须等待ack,没有ack,就要找时机重发QoS2,准确一次送达。消息id将拥有一个简单的生命周期。
4、小型传输,开销很小(固定长度的头部是 2 字节),协议交换最小化,以降低网络流量;
5、使用 Last Will 和 Testament 特性通知有关各方客户端异常中断的机制;
CoAP采用与HTTP协议相同的请求响应工作模式。CoAP协议共有4中不同的消息类型。
CON——需要被确认的请求,如果CON请求被发送,那么对方必须做出响应。
NON——不需要被确认的请求,如果NON请求被发送,那么对方不必做出回应。
ACK——应答消息,接受到CON消息的响应。
RST——复位消息,当接收者接受到的消息包含一个错误,接受者解析消息或者不再关心发送者发送的内容,那么复位消息将会被发送。
CoAP协议与MQTT的区别:
MQTT和CoAP都是行之有效的物联网协议,但两者还是有很大区别的,比如MQTT协议是基于TCP,而CoAP协议是基于UDP。从应用方向来分析,主要区别有以下几点:
1、MQTT协议不支持带有类型或者其它帮助Clients理解的标签信息,也就是说所有MQTT Clients必须要知道消息格式。而CoAP协议则相反,因为CoAP内置发现支持和内容协商,这样便能允许设备相互窥测以找到数据交换的方式。
2、MQTT是长连接而CoAP是无连接。MQTT Clients与Broker之间保持TCP长连接,这种情形在NAT环境中也不会产生问题。如果在NAT环境下使用CoAP的话,那就需要采取一些NAT穿透性手段。
3、MQTT是多个客户端通过中央代理进行消息传递的多对多协议。它主要通过让客户端发布消息、代理决定消息路由和复制来解耦消费者和生产者。MQTT就是相当于消息传递的实时通讯总线。CoAP基本上就是一个在Server和Client之间传递状态信息的单对单协议。
MQTT基于TCP,在做反控设备的时候比UDP更可靠,比如CoAP走3G、4G的时候甚至需要实现CoAP over TCP,否则反控很不稳定甚至无法联通。
MQTT异步Pub/Sub实现,好比发个微信,无需等待对方确认便可以继续,而不像CoAP那样必须等待对方应答才能返回的同步模式。CoAP在功耗方面有优势。
SoAP协议SoAP(简单对象访问协议)XMPP协议XMPP(可扩展通讯和表示协议)是一种基于可扩展标记语言(XML)的协议
从当前物联网应用发展趋势来分析,MQTT协议具有一定的优势。因为目前国内外主要的云计算服务商,比如阿里云、AWS、百度云、Azure以及腾讯云都一概支持MQTT协议。还有一个原因就是MQTT协议比CoAP成熟的要早,所以MQTT具有一定的先发优势。但随着物联网的智能化和多变化的发展,后续物联网应用平台肯定会兼容更多的物联网应用层协议。
RS232:三线制,全双工通信,一般通信距离小于 10 米。
以太网:4 线或 8 线,多主通信,高性能。普通网线通信距离 100 米以内。
CAN:两线制,多主通信,高性能,高可靠性,每次最多传输 8 个字节的数据。通信距离千米以上。
M-Bus:两线制,半双工,专为远程抄表系统专门设计的总线,传送速度为 300 至 9600 Baud。
单总线:单线制,主设备口可以直接驱动200米范围的从设备,传输速率一般为16.3Kbit/s,最大可达142 Kbit/s。
电力载波:利用现有电力线,通过载波方式将模拟或数字信号进行高速传输的技术。
无线通信:
Wifi:2.4G/5G射频频段,民用最常用无线通信方式,通信距离100米内。
蓝牙:2.4G短距离无线通信,常见的通信距离为10米左右。
Zigbee:低功耗无线通信协议,低功率一般传输距离 100 米以内,高功率的 1000 米左右。
LoRa:基于扩频技术的超远距离无线传输方案。低功耗,多节点。通信距离 1千米~8千米。
GPRS/4G/5G:通用分组无线服务技术,广域网通信,不限距离远程通信
NB-IoT:IoT 领域一个新兴的技术,支持低功耗设备在广域网的蜂窝数据连接,亦称低功耗广域网(LPWA)。433M/470M无线通信:小功率经济型无线数传通信,通信距离一般1000米左右。数字无线电台:借助DSP技术和无线电技术实现的高性能专业数据传输电台,免申请频段为2.4G,通信波特率为9600~19200Bps,根据功率不同,一般通信距离1千米~15千米
芯片级通信:
l? TTL串口:三线制,和RS232或RS485一样,都属于串行通信,只是为TTL电平,大部分是芯片对芯片,近距离通信。
l? SPI:四线制,高速全双工,同步的通信总线。l? I2C:两线制,由Philips公司开发的一种简单、双向同步串行总线。
l? SDIO:主要为SD卡模块定义的外设接口,有些wifi模块也采用了SDIO接口和MCU通信。
其他通信方式:
l? 模拟量信号输入:0~20mA/0~5V/0~20Vl? 开关量信号输入:0~24Vl?
继电器信号输出: 通断,干接点 物联网领域常见通信协议
Modbus RTU:施耐德公司制定的基于 RS485/RS232 的串行通信总线协议。
Modbus TCP: 施耐德公司制定的基于以太网的通信总线协议。
CJ/T188-2004:中国城镇建设行业标准,主要在抄表系统中常用。
DL/T645-2007:国家电力行业电测量标准化技术委员会颁布的多功能电能表通信协议。
TCP/IP:网络通讯协议,是Internet最基本的协议,由网络层的IP协议和传输层的TCP协议组成(TCP是有连接的协议,UDP是无连接的协议)。
Http:超文本传输协议,所有的WWW文件都必须遵守这个标准。协议构建在TCP之上。
MQTT:消息队列遥测传输,IBM开发的一个即时通讯协议。目前已经成为主流物联网平台默认使用的通信协议。CoAP:可以理解为精简的Http协议,主要在资源受限的物联网设备上使用。
PPI:西门子公司专为 S7-200 系列 PLC 开发的通讯协议。Profibus:是一种国际化、开放式、不依赖于设备生产商的现场总线标准。
CANopen:是一种架构在 CAN 上的高层通信协协议,包括通信子协议及设备子协议。
KNX :是被正式批准的住宅和楼宇控制领域的开放式国际标准。
Alink:阿里巴巴推出的一种物联网通信协议。
MQTT协议它具有以下主要的几项特性:
1、使用发布/订阅消息模式,提供一对多的消息发布和应用程序之间的解耦;
2、消息传输不需要知道负载内容;
3、使用 TCP/IP 提供网络连接;QoS0,最多一次送达。也就是发出去就fire掉,没有后面的事情了。QoS1,至少一次送达。发出去之后必须等待ack,没有ack,就要找时机重发QoS2,准确一次送达。消息id将拥有一个简单的生命周期。
4、小型传输,开销很小(固定长度的头部是 2 字节),协议交换最小化,以降低网络流量;
5、使用 Last Will 和 Testament 特性通知有关各方客户端异常中断的机制;
CoAP采用与HTTP协议相同的请求响应工作模式。CoAP协议共有4中不同的消息类型。
CON——需要被确认的请求,如果CON请求被发送,那么对方必须做出响应。
NON——不需要被确认的请求,如果NON请求被发送,那么对方不必做出回应。
ACK——应答消息,接受到CON消息的响应。
RST——复位消息,当接收者接受到的消息包含一个错误,接受者解析消息或者不再关心发送者发送的内容,那么复位消息将会被发送。
CoAP协议与MQTT的区别:
MQTT和CoAP都是行之有效的物联网协议,但两者还是有很大区别的,比如MQTT协议是基于TCP,而CoAP协议是基于UDP。从应用方向来分析,主要区别有以下几点:
1、MQTT协议不支持带有类型或者其它帮助Clients理解的标签信息,也就是说所有MQTT Clients必须要知道消息格式。而CoAP协议则相反,因为CoAP内置发现支持和内容协商,这样便能允许设备相互窥测以找到数据交换的方式。
2、MQTT是长连接而CoAP是无连接。MQTT Clients与Broker之间保持TCP长连接,这种情形在NAT环境中也不会产生问题。如果在NAT环境下使用CoAP的话,那就需要采取一些NAT穿透性手段。
3、MQTT是多个客户端通过中央代理进行消息传递的多对多协议。它主要通过让客户端发布消息、代理决定消息路由和复制来解耦消费者和生产者。MQTT就是相当于消息传递的实时通讯总线。CoAP基本上就是一个在Server和Client之间传递状态信息的单对单协议。
MQTT基于TCP,在做反控设备的时候比UDP更可靠,比如CoAP走3G、4G的时候甚至需要实现CoAP over TCP,否则反控很不稳定甚至无法联通。
MQTT异步Pub/Sub实现,好比发个微信,无需等待对方确认便可以继续,而不像CoAP那样必须等待对方应答才能返回的同步模式。CoAP在功耗方面有优势。
SoAP协议SoAP(简单对象访问协议)XMPP协议XMPP(可扩展通讯和表示协议)是一种基于可扩展标记语言(XML)的协议
从当前物联网应用发展趋势来分析,MQTT协议具有一定的优势。因为目前国内外主要的云计算服务商,比如阿里云、AWS、百度云、Azure以及腾讯云都一概支持MQTT协议。还有一个原因就是MQTT协议比CoAP成熟的要早,所以MQTT具有一定的先发优势。但随着物联网的智能化和多变化的发展,后续物联网应用平台肯定会兼容更多的物联网应用层协议。
[此贴子已经被作者于2020/9/27 9:45:47编辑过]