什么是万物互联模型?

什么是万物互联模型?,第1张

不懂那么复杂的概念,如果是你碰到这种拉你投资什么的,那么就是诈骗,
本身现在物联网给传销的人诈骗的人提供了概念和口号,。
然后不存在具体的这种公司或者什么的,只有具体的使用,
本身物联网也就是说以后的网络是万物互联,其实都不止万物,是所有世间的物体都可以联网,以前我们仅仅是电脑联网,然后是移动互联网,手机,平板都可以联网,现在我们进入物联网时代,电视,自行车,汽车,鞋子什么东西都可以联网,最具体的,共享单车,就是具体的物联网使用例子,只要以后大家认为有什么东西需要联网,然后商家去研究这个,比如自行车以前怎么也不想到要联网的,现在联网了可以使用手机开锁,算时间,算钱。
鞋子可以联网,可以定位,可以测算你的走路多久,时间长短

OSI七层模型称为开放式系统互联参考模型,OSI七层模型是一种框架性的设计方法。
OSI七层模型通过七个层次化的结构模型使不同的系统不同的网络之间实现可靠的通讯,因此其最主要的功能使就是帮助不同类型的主机实现数据传输。


目录


1、网络协议


其实协议在我们生活中也能找到相应的影子。


举个例子,有 2 个男生准备追求同一个妹子,妹子来自河南,讲河南话,还会点普通话;一个男生来自胡建,讲闽南语,也会点普通话;另一个男生来自广东,只讲粤语;

协议一致,沟通自如

语言不通,无法沟通

你们猜猜?最后谁牵手成功了?答案肯定是来自胡建的那位,双方可以通过 普通话 进行沟通,表达内容都能理解。而来自广东的帅哥只会讲粤语,不会普通话,妹子表示听不懂,就无法进行沟通下了。


每个人的成长环境不同,所讲的语言、认知、理解能力也就不同。为了使来自五湖四海的朋友能沟通自如,就需要大家协商,认识某一个语言或规则,彼此能互相理解,这个语言就是普通话。


通过这个例子,大家可以这样理解:


把普通话比作“协议”、把聊天比作“通信”,把说话的内容比作“数据”。


相信这样类比,大家就知道,协议是什么了?


简单地说,就是程序员指定一些标准,使不同的通信设备能彼此正确理解、正确解析通信的内容。我们都知道计算机世界里是二进制,要么 1,要么 0,那为啥可以表达丰富多彩的内容呢?


也是因为协议,不同字段,不同组合,可以解析不同意思,这就依然协议,让协议来正确处理。


例如,我们使用手机连 WiFi 来刷抖音,使用的是 80211(WLAN)协议,通过这个协议接入网络。如果你所连的 WIFI 是不需要手动设置 IP 地址,是通过自动获取的,就使用到了 DHCP 协议,这样你的手机算上接入了 局域网, 如果你局域网内有台 NAS 服务器,存放了某些不可描述的视频资源,你就可以访问观看了,但这时你可能无法访问互联网资源,例如,你还想刷会抖音,看看妹子扭一扭,结果出现如下画面:


出现这种画面,说明无法使用 互联网, 可能是无线路由器没有设置好相关协议,比如: NAT、PPPoE 协议(上网账号或密码设置错误了),只有设置正确了,就可以通过运营商(ISP)提供的线路把局域网接入到互联网中,实现手机可以访问互联网上的资源(服务器)。玩微信撩妹子、刷抖音看妹子。

网络协议示意图


延伸阅读

1、局域网:最显著的特点就是范围有限,行政可控的区域可以是一所高校、一个餐厅、一个园区、一栋办公楼或一个家庭的私有网络。

2、城域网:原本是介意局域网和广域网之间,实际工作中很少再刻意去区分城域网和广域网了,所以这边不再介绍。

3、广域网:简单说就是负责把多个局域网连接起来,它的传输距离长距离传输,广域网的搭建一般是由运营商来。

4、互联网:把全世界上提供资源共享的 IT 设备所在网络连接起来,接入了互联网就可以随时随地访问这些资源了。

5、物联网:把所有具有联网功能的物体都接入互联网就形成了物联网。如空调联网,就可以远程控制空调; 汽车 联网,就可以远程获取行程数据。


总结一下吧!我们可以把电脑、手机等 IT 设备比喻做来自五湖四海的人们,大家都通过多种语言(网络协议)实现沟通(通信)。所有人要一起交流,就用普通话,大家都能理解。所有胡建人在一起,就用闽南语进行沟通,彼此也能理解。这么的方言,就好比计算机网络世界里也有这么多协议,只是不同协议用在不同地方。


好奇的同学,可能就会问,那网络协议是由谁来规定呢?这就需要提到一个组织,ISO。这个组织制定了一个国际标准 ,叫做 OSI 参考模型,如下,很多厂商都会参考这个制定网络协议。

OSI 参考模型图


2、OSI 参考模型


既然是模型,就好比模范一样,大家都要向它学习,以它为原型,展开学习研究。前面我们也提到了一些协议,这么多协议如果不进行归纳,分层,大家学习起来是不是感觉很凌乱?


所以 OSI 参考模型就是将这样复杂的协议整理并进行分层,分为易于理解的 7 层,并定义每一层的 服务 内容,协议的具体内容是 规则 。上下层之间通过 接口 进行交互,同一层之间通过 协议 进行交互。相信很多网络工程师在今后工作中遇到问题,讨论协议问题还会用到这个模型展开讨论。所以说,对于计算机网络初学者来说,学习了解 OSI 参考模型就是通往成功的第一步。

OSI 参考模型分层功能


7应用层


为应用程序提供服务并规定应用程序中通信相关的细节,OSI 的最高层。包括文件传输、Email、远程登录等协议。程序员接触这一层比较多。

应用层示例图

6表示层


主要负责数据格式的转换,为上下层能够处理的格式。如编码、加密、解密等。

表示层示例图


5会话层


即负责建立、管理和终止通信连接(数据流动的逻辑通路),数据分片、重组等传输的管理。

会话层示例图

4传输层


保证可靠传输,不需要再路由器上处理,只需再通信双方节点上进行处理,如处理差错控制和流量控制。

传输层示例图


3网络层

主要负责寻址和路由选择,将数据包传输到目的地。

网络层示例图


2数据链路层

负责物理层面上互连、节点之间的通信传输,将0 、 1 序列比特流划分为具有意义的数据帧传输给对端。这一层有点类似网络层,网络层也是基于目的地址来传输,不同是:网络层是将数据包负责在整个网络转发,而数据链路层仅是在网段内转发,所以大家抓包会发现,源目 MAC 地址每经过一个二层网段,都会变化。

数据链路层示例图


1物理层

负责 0、1 比特流(0、1 序列)与电压高低电平、光的闪灭之间的互相转换,为数据链路层提供物理连接。

物理层示例图



OSI 为啥最后没有得到运用呢?其实最主要的原因,是 OSI 模型出现的比 tcp/ip 出现的时间晚,在 OSI 开始使用前,TCP/IP 已经被广泛的应用了。如果要换成 OSI 模型也不太现实。其次是 OSI 是专家们讨论,最后形成的,由于没有实践,导致该协议实现起来很复杂,很多厂商不愿意用 OSI,与此相比,TCP/IP 协议比较简单,实现起来也比较容易,它是从公司中产生的,更符合市场的要求。综合各种因素,最终 OSI 没有被广泛的应用。


下面我们来看看 TCP/IP 与 OSI 分层之间的对应关系及相应的协议:

4应用层


从上图,可以知道 TCP/IP 四层模型,把应用层、表示层、会话层集成再一起了,该层的协议有:>

物模型是云平台为物联网产品定义的数据模型,用于描述产品的功能。将产品抽象成数据的集合,方便云端进行控制。

物模型从 属性 服务 事件 三个维度,分别描述了该实体是什么、能做什么、可以对外提供哪些信息。定义了物模型的这三个维度,即完成了产品功能的定义。

TSL 格式是一个 JSON 格式的文件,完整的 TSL 格式可以参考: 阿里云物模型 。

嵌入式端开发固件往往只需要关注少数几个参数,可以在产品的 功能定义 页面,单击 物模型TSL 精简物模型 里面查看。

需要关注的有 "properties","events","services",在 JSON 格式里,这三者都是数组,分别存储了该物模型的数据,事件和服务,在 C-SDK 里也就分别是 IOT_Linkkit_Report() 上报属性, IOT_Linkkit_TriggerEvent() 触发事件和注册为 ITE_SERVICE_REQUEST 的回调函数。

在上报属性时,只需要关注 "identifier" 名称对应的值(字符串),此时表示该属性在产品下的唯一标识。例如一个精简物模型属性为:

则上报的数据只需要为 {"count":10} 即可,需满足 JSON 字符串的格式,字符串内有一个名称/值对,名称为 "count"(物模型里 "identifier" 的值),值对为 10(满足物模型里数据类型为 int 的要求)。

触发事件需要关注 "identifier" 名称对应的值(字符串),表示该事件在产品下的唯一标识;还需要关注 "outputData",表示上报事件的输出值。一个精简物模型例子如下:

"outputData" 数组的使用与属性上报一致,这里就不介绍了。

服务调用需要同时关注 "identifier","inputData" 和 "outputData" 这三个名称,分别表示该服务在产品下的唯一标识,服务的输入参数,服务的输出参数。与函数调用有输入值和输出值类似,服务调用也有这些特征。

物模型数据校验方式目前有两种, 弱校验 免校验

也就是说,弱校验针对产品设备的上报数据,只要 idetifier 是一致的,且 dataType 字段满足要求,就接收该数据,并且在其他云端产品流转。

为什么云端可以设置和获取接入设备的属性呢?为什么接入设备可以上报事件给云端呢?又为什么云端可以调用接入设备提供的服务呢?这就是这一小节解释的内容。

物模型基于 MQTT 协议,MQTT 协议的介绍不在此处展开。

云端定义了一系列的 Topic,在设备接入云端时,C-SDK 向 MQTT broker 订阅了一些的 Topic,而云端需要与设备交互时,就向 MQTT broker 发布相应的 Topic,这样就完成了交互过程。同理,云端也会订阅一些 Topic,设备可以向这些 Topic 发布消息。

接入设备端订阅发布的 Topic 列表如下:

其中 ${productKey} 会替换为实际的产品名,${deviceName} 会替换为实际的设备名,${tsleventidentifier} 是事件的标识符,${tslserviceidentifier} 是服务的标识符,最大限度地保证了 Topic 的唯一性。

这些 Topic 的作用在后面用时序来描述。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/dianzi/10696732.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-10
下一篇2023-05-10

发表评论

登录后才能评论

评论列表(0条)

    保存