物联网架构_笔记_物联网总体架构

物联网架构_笔记_物联网总体架构参考文章:http://www.elecfans.com/news/wangluo/20160517418825.htmlhttp://www.elecfans.com/iot/419545_a.html其中物联网的通信环境有Ethernet,Wi-Fi,RFID,NFC(近距离无线通信),Zigbee,6LoWPAN(IPV6低速无线版本),Bluetooth,GSM,G

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新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不仅能在窄带的无线环境上,也能在宽带的有线通信环境上开发出满足实时性需求的数据分发系统。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/192906.html原文链接:https://javaforall.net

(0)
上一篇 2025年12月5日 下午10:01
下一篇 2025年12月5日 下午10:43


相关推荐

  • 动态规划模型

    动态规划模型动态规划 1 中已经介绍了一些动态规划的一些基本内容 现在我们从三道题来看一下动态规划的模型 1 最大字段和给定一个由数字组成的序列 其中连续的一段子序列称为一个子段 子段中的所有数只和称为子段和 这里只考虑非空子段 即至少包含一个元素的子序列 那么现在需要你求出有一个序列中的最大子段和 当然我们可以用 o n 3 的暴力算法来解决这道题 也可以用前缀和优化成 o n 2 的算法来解决 但

    2026年3月19日
    2
  • C语言格式输出

    C语言格式输出格式说明由“%”和格式字符组成,如:%d%f等。它的作用是将输出的数据转换成指定的格式输出。格式说明总是由“%”字符开始的。格式字符有:d、o、x、u、c、s、f、e、g等。1、%d整形输出,%ld长整形输出。2、%o以八进制数形式输出整数。3、%x以十六进制形式输出整数,或输出字符串的地址。4、%u以十进制数输出unsigned型整数(无符号数)。注意:%d与%u有无符号数值范围。5、%c用来输出一个字符。6、%s用来输出一个字符串。7、%f用来输出实数,以小数形式输出,默认情况下保留小数

    2022年7月24日
    11
  • Vmware安装win10的失败总结

    Vmware安装win10的失败总结下了番茄,萝卜,深度等多个win10镜像均出现各种莫名其妙的小问题,还是linux大法好哇~~失败一:          未手动分区,许久不装windows系统了,忘记了手动分区,用镜像里自带的分区工具,如diskgenius等分区后安装失败二:          分区后需进入bios设置优先从光盘启动的模式失败三:          找不到ghost文件,进入winPE手动查找光盘里…

    2022年6月22日
    280
  • 基于redis的分布式锁应用场景

    基于redis的分布式锁应用场景分布式锁 是用来解决分布式应用中 并发冲突 的一种常用手段 实现方式一般有基于 zookeeper 及基于 redis 二种 具体到业务场景中 我们要考虑二种情况 一 抢不到锁的请求 允许丢弃 即 忽略 比如 一些不是很重要的场景 比如 监控数据持续上报 某一篇文章的 已读 未读 标识位更新 对于同一个 id 如果并发的请求同时到达 只要有一个请求处理成功 就算成功 用活动图表示如下 二 并发请求 不论哪一条都必须要处理的场景 即 不允许丢数据 比如 一个订单 客户正在前台修改地址 管理员在后台同时修

    2026年3月19日
    2
  • 404 html代码,不懂代码,如何制作漂亮的404页面【新手简易教程】

    404 html代码,不懂代码,如何制作漂亮的404页面【新手简易教程】404是用户在访问页面时,搜索引擎常返回的状态码,常见的还有200,301,302,500等。搜索引擎通过http状态码识别网页状态,404状态码,常指所访问的页面不存在或已被删除。404页面,是用户访问不存在内容或者已删除网页时,呈现给用户的界面,又称404错误页面/404-NotFound。404页面常见误区①网站没有设置404页面404错误页面对用户而言:告诉浏览者其所请求的页面不存在或链…

    2022年7月27日
    63
  • OPKG命令执行过程分析

    OPKG命令执行过程分析一、简介Opkg是一个基于ipkg的轻量级的软件包管理系统,主要用于嵌入式系统,目前应用opkg的有OpenWRT和OpenEmbedded。1Opkg的详细使用方法可以参考OpenWRT的WIKI页面2,不再赘述,本文将重点解释opkg的工作原理。Opkg的源代码可以在GoogleCode3或YoctoProject4上找到。Opkg的版本目前到了0.3.05,我使用的

    2022年6月6日
    43

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号