首页 » SEO优化 » phpcoap技巧_物联网架构及五大年夜常用通信协议

phpcoap技巧_物联网架构及五大年夜常用通信协议

访客 2024-11-20 0

扫一扫用手机浏览

文章目录 [+]

IP互联架构已是物联网的事实标准(有关物联网TCP/IP层关键技能将另文阐述,敬请关注)。
本文所讲的推送技能是基于TCP/IP协议的运用层协议技能。

我们前辈一步抽象基于IP架构的物联网组成,如下图(忽略internet和路由等根本技能):

phpcoap技巧_物联网架构及五大年夜常用通信协议

可见,核心组成便是物联设备、网关和云端。
物联设备分为两类,一类是其自身天然支持TCP/IP而能直接接入物联网,如wifi、GPRS/3G/4G(当然,还有即将到来的5G)等设备;另一类是其未能支持IP协议而须要网关(协议转换)来接入物联网,如Zigbee、蓝牙等设备。
对付蓝牙设备而言,手机实在是一个网关。

phpcoap技巧_物联网架构及五大年夜常用通信协议
(图片来自网络侵删)

手机通过自身的蓝牙跟外设蓝牙设备通信,并将通过手机的wifi或者3G/4G模块与云做事端通信。

从场景的角度来剖析,物联网终极是给人类做事的,而手机是人类体验的最直接入口。
因此在上图中可以单独添加手机组成部分,并将其与一样平常意义上的网关区分出来。
这样物联网核心组成便是:设备端—网关—云端—手机。
从运用层开拓技能的角度来看,物联网运用是基于TCP/IP架构建立,在屏蔽底层的网关协议转换的根本上,物联网运用的组成部分便是:设备端—云端—手机。

OK,有了以上的先容,我们就从物联网运用的角度来剖析设备、云端、手机直接的推送技能,它包括云端和设备真个双向通信技能、手机和云真个双向通信技能。

二、移动互联网通信模式

互联网有B/S和C/S两种通信模式。
在移动互联网领域,APP因此C/S的办法以client的角色跟做事器server进行通信;而微信是一个超级APP,其是通过内置浏览器让用户进行H5编程以得到操控硬件设备的能力,因此微信硬件平台的通信模块是B/S模式。

移动互联网B/S技能跟传统互联网没有差异,微信内置浏览器支持H5,因此可以得到很好的平台扩展性。
我们近期重点关注基于微信硬件平台的物联网,因此就环绕B/S模式的推送技能讲述其演进。

HTTP协议是B/S的根本,HTTP有GET和POST两种办法。

三、推送技能演进1.HTTP单向通信

浏览器利用HTML文本标记措辞,即浏览器通过HTTP协议向做事器发起要求(要求内容包括URL,即我们常说的网址),做事器将URL对应的HTML内容通过HTTP协议作为相应传送回给浏览器。

1)手机端:微信端由于有内置浏览器,其天然支持前端页面。
2) 云端对手机端推送:云端利用JSP/PHP等技能开拓设计前端网页和大略的逻辑即可。
3)设备端:设备端上线时或者访问做事端参数等内容时须要仿照HTTP协议(C措辞)向做事器发起要求,而要求的格式一样平常不该用HTML,而是利用较为大略的XML或者JSON协议格式。
4)云端对设备端推送:云端利用HttpServlet(即利用http协议的servlet)对设备的HTTP要求进行相应,回答XML或者JSON格式的。
5)缺陷:这种办法通信办法的特点便是一要求一相应,总是要客户端向做事器发出要求,做事器才给予相应。
做事器从来都不会主动给客户端发,而且在客户端发出要求后,做事器也只是回答一次。
这种HTTP单向通信办法在互联网领域发挥巨大的浸染,便是做事器端可以是无状态的,极大地简化了做事器的做事流程,提高效率。
但在物联网领域,我们哀求的是双向的通信能力。
做事端要能主动给设备端或者手机发出。

在这种模式下,我们怎么做双向通信呢?唯一的做法便是客户端不断地发出要求(或者周期性),做事器不断地给予回答。
这种模式下的缺陷显而易见:

一是网络负载重,做事器每次相应后都会关闭连接,以是每次通信都得重新握手。
HTTP协议的头内容的长度可不小。
二是实时性差。
一样平常设备端都是周期性地轮询做事器是否有新的,轮询的办法是不能得到好的实时性的。
三、浏览器端每次发出要求因此HTML全部内容来相应的,长度过大,在这种情形下,会创造浏览器页面不断地刷新。
2.Ajax轮询

Ajax技能是浏览器支持的一种JavaScript技能。
其能够局部改进用户体验技能,让用户在不察觉浏览器页面刷新的情形向做事器发出要求,并得到相应。
其事理是:

1)微信浏览器发出URL页面要求,做事器相应HTML页面内容。
2)HTML页面利用js调用XMLHttpRequest来向做事器发出异步通信要求。
3)做事器相应XML格式数据给浏览器页面。
4)HTML页面利用DOM模型来动态刷新页面元素。

Ajax技能是微信硬件平台框架中推举的页面交互技能,但实在质还是遵守HTTP单向通信的规则,只是页面交互时不须要刷新全体页面。
其双向通信实时性问题依然未能办理。

3.Websocket

Websocket是HTML5支持的一种新的协议,它能够真正支持浏览器和做事器之间进行双向通信。
Tomcat7及以上版本也已经支持Websocket API。

1)为了能够兼容浏览器HTTP协议,Websocket规定在第一次发起要求时依然要发出符合HTTP协议规范的Header,但其Connection域的值是Upgrade,并增加Upgrade域,值是socket,即奉告做事器,即将建立的通信是Websocket双向通信。
做事器如果接管,会返回101给客户端进行协议切换。
2)接下来的通信将不再以HTTP作为传输协议,而是利用Websocket规定的数据格式进行通信,其分为掌握帧和数据帧。
掌握帧是发出心跳帧(ping),而做事器相应pong,还有结束帧;数据帧便是真实数据格式,其格式头只有6个字节(2个字节头和4个字节的掩码),后面便是真实的数据(经由掩码转换)。
比HTTP格式头的长度要小多了。
3)客户端和做事器之间是一贯保持连接,直到close,当前期间要发发2个字节的3字节的ping帧。

可见Websocket比ajax有了极大的改进。
其不仅省却常常要连接握手,还简化的协议的格式,最主要的是实时性得到担保,由于双方是真正的全双工通信。

微信浏览器客户端支持Websocket,做事器利用Tomcat7以上的WebsocketServlet类,设备端要根据Websocket协议用C措辞来仿照通信。

我们在用设备端仿照Websocket通信协议时一样平常会先看协议,再用HttpWatch等工具来抓包,抓到的头是GET ws://ip:port/path,如果在C措辞也是这样仿照发包则会报400 bad request。
由于C措辞利用socket建立通信时已经利用了IP和port了,其发的第一个包的头是GET/path即可,不能在其前面加上ws://ip:port/。

4.MQTT

以上的剖析都是将移动互联网的技能利用到物联网,其都有一个特定便是建立连接时会传送URL地址,由两个角色是客户端和做事器,这种架构我们一样平常称为是RESTful架构(其余,还有SOAP 面向运用的web services架构)。
RESTful架构在互联网得到越来越广泛的利用,但物联网除了互联之外,还有其独占的特色,便是其终端设备的资源有限、低功耗利用场景、网络连接环境差(时时时断开连接)等。
用C措辞仿照的办法来利用RESTful架构(如Websocket)会使得终真个负荷较重,而且做事器发给终端设备的有可能由于断开连接而收不到。

MQTT是IBM针对物联网退出的一种轻量级协议,建立于TCP/IP层协议之上。
其是物联网的主要组成部分,可能会成为物联网的事实标准。
其具有QoS,能够缓冲,并通过重传机制担保终端设备收到;其格式极其简化,最短是两个字节;其供应订阅和发布模式,高效推送。

MQTT有三个角色,包括做事器代理、订阅者和发布者。

1)启动做事器代理。
2)订阅者向做事器代理订阅干系主题。
3)发布者向做事器代理发布主题信息。
4)做事器代理想所有订阅该主题的订阅者推送。

MQTT有C/C++措辞和JAVA包实现。
须要明确的是,MQTT更适用于设备终端和手机APP socket通信,而不能支持浏览器利用。
如果要支持微信浏览器运用,还须要增加类似WebsocketServlet技能给浏览器供应支持,这时MQTT以JS接口进行封装,并被调用完成推送。

5.CoAP

CoAP是受限定的运用协议(ConstrainedApplication Protocol)的代名词。
其基于UDP协议,也便是在设备终端上只须要底层实现UDP协议,而不须要实现较为繁芜的TCP协议。
这种协议用得比较小。
笔者也没有用C措辞仿照过,就不展开了。

本文原创发布于慕课网手记,作者:柳猫,点击下方“理解更多”即可查看原文,转载请注明出处,感激互助!

标签:

相关文章

今日头条算法岗三面算法工程师的面试之路

大数据和人工智能技术逐渐成为各行各业的热门话题。今日头条作为中国领先的资讯平台,其算法岗位一直是求职者争相竞逐的焦点。本文将针对今...

SEO优化 2025-01-31 阅读1 评论0

今日头条算法如何打造个化内容推荐

在移动互联网时代,信息爆炸已成为常态。如何在海量信息中找到自己感兴趣的内容,成为了一个亟待解决的问题。今日头条作为一款备受瞩目的新...

SEO优化 2025-01-31 阅读1 评论0

今日头条算法推荐其弊端与反思

算法推荐已经成为各大平台的核心竞争力。今日头条作为国内领先的资讯平台,凭借其强大的算法推荐系统,吸引了大量用户。在享受算法带来的便...

SEO优化 2025-01-31 阅读1 评论0

今日头条算法思维导图信息推荐的奥秘

信息传播速度越来越快,用户对信息的需求也越来越多样化。今日头条作为一款备受关注的新闻资讯平台,其背后的算法推荐机制一直是业界关注的...

SEO优化 2025-01-31 阅读1 评论0