大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。
Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺
参考文章:
http://www.elecfans.com/news/wangluo/20160517418825.html
http://www.elecfans.com/iot/419545_a.html
其中物联网的通信环境有Ethernet, Wi-Fi, RFID, NFC(近距离无线通信), Zigbee, 6LoWPAN(IPV6低速无线版本),Bluetooth, GSM, GPRS, GPS, 3G, 4G等网络,而每一种通信应用协议都有一定适用范围。AMQP、JMS、REST/HTTP都是工作在以太网,COAP协议是专门为资源受限设备开发的协议,而DDS和MQTT的兼容性则强很多。
在当前的互联网通信协议中,HTTP协议由于开发成本低,开放程度高,几乎占据大半江山,所以很多厂商在构建物联网系统时也基于http协议进行开发。包括google主导的physic web项目,都是期望在传统web技术基础上构建物联网协议标准。
1、http在物联网场景中的弊端:
1)必须由设备主动向服务器发送数据,服务器难以主动向设备推送数据,大多应用与数据采集场景,但对于频繁的操控场景,只能通过设备定期主动拉取的方式,实现成本大、实时效果差
2)安全性低,明文传输
3)对于运算和存储资源十分受限的嵌入式设备,实现http协议、解析XML/JSON数据,都比较困难
2、REST/HTTP(松耦合服务调用)
REST : Representational State Transfer,表征状态转换,基于HTTP协议。
简化互联网中的系统架构,快速实现客户端和服务器之间交互的松耦合,降低CS之间的交互延迟。
特点:
客户端和服务器之间的交互在请求之间是无状态的
在服务器端,应用程序状态和功能可分为各种资源向客户端公开,每个资源都使用URI得到一个唯一的地址,所有资源共享统一的界面。
3、CoAP协议
CoAP:Constrained Application Protocol,受限应用协议,应用于无线传感。是简化了HTTP协议的RESTful API,是6LowPAN协议栈中的应用层协议,适用于资源受限的IP网络。
特点:
1)报头压缩,包含一个二进制基本报头(4Byte)和扩展报头
2)支持GET/PUT/POST/DELETE等方法,支持URIs
3)基于UDP,减少开销、支持组播、支持简单停止和等待的可靠传输机制
4)支持异步通信,HTTP对M2M(Machine-to-Machine)通信不适用,由于事务总是客户端发起的,而CoAP支持异步通信,对于M2M应用来说是常见的休眠/唤醒机制
5)支持资源发现,内置资源发现格式,用于发现设备资源列表,或设备向服务目录公告自己的资源,支持RFC5785格式
6)支持缓存
主要实现:libcoap(c语言)、Californium(Java)
CoAP和6LowPan,这分别是应用层协议和网络适配层协议,其目标是解决设备直接连接到IP网络,也就是IP技术应用到设备之间、互联网与设备之间的通信需求。因为IPV6技术带来巨大寻址空间,不光解决了未来巨量设备和资源的标识问题,互联网上应用可以直接访问支持IPV6的设备,而不需要额外的网关。
3、MQTT(低带宽)
MQTT采用发布/订阅模式,所有终端采用TCP连接到云端,云端通过topic管理各个设备通讯内容,负责设备与设备之间的消息转发。
采用二进制格式编解码,最小数据包只有2个字节,有完善的QoS机制。支持TLS(TCP+SSL)协议,安全性好。
特点:
1)基于代理的发布/订阅模式,提供一对多的消息发布
2)小型传输,开销小,固定报头2字节
3)支持QoS
MQTT一般适用于设备数据采集到端(Device -> Server , Device -> Gateway),集中星型网络架构(hub-and-spoke),不适用设备与设备之间通信,设备控制能力差,实时性差,一般在秒级。
物联网协议对比
协议侧重应用方向
智能家居中智能灯光控制,可以使用XMPP协议控制灯的开关;
智能家居的电力供给,发电厂的发动机组的监控可以使用DDS协议;
当电力输送到千家万户时,电力线的巡查和维护,可以使用MQTT协议;
家里的所有电器的电量消耗,可以使用AMQP协议,传输到云端或家庭网关中进行分析;
最后用户想把自家的能耗查询服务公布到互联网上,那么可以使用REST/HTTP来开放API服务。
发布/订阅服务更适合物联网环境下通信,DDS、MQTT、AMQP和JMS都是基于发布/订阅模式,发布/订阅框架具有服务自发现、动态扩展、事件过滤的特点,它解决了物联网系统在应用层的数据源快速获取、物的加入和退出、兴趣订阅、降低带宽流量等问题,实现物的联接在空间上松耦合(双方无需知道通信地址)、时间上松耦合和同步松耦合。
服务质量(QoS)是物联网通信中的重要考虑因素
在服务策略的帮助下,DDS能够有效地控制和管理网络带宽、内存空间等资源的使用,同时也能控制数据的可靠性、实时性和数据的生存时间,通过灵活使用这些服务质量策略,DDS不仅能在窄带的无线环境上,也能在宽带的有线通信环境上开发出满足实时性需求的数据分发系统。
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/192906.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...