一种Web前端与物联网设备远程通信的方法技术

技术编号:28466389 阅读:32 留言:0更新日期:2021-05-15 21:32
一种Web前端与物联网设备远程通信的方法,通过Web前端发送http请求到Web服务器查询mysql设备信息表中的设备信息,并对其进行绑定;Web前端通过发送不同参数的http操作设备请求到Web服务器;Web服务器的HTTP协议转SIP协议模块将不同的参数的http消息转换封装成不同类型的sip消息,然后通过TCP或UDP的传输方式将sip消息发送到Sip服务器上;Sip服务器根据sip消息头中的相关字段在内存中查找已经注册登录并与Sip服务器维持心跳保活目标设备建立的Session;Sip服务器将Web服务器发送sip消息的消息体中Xml格式操作数据重新封装成一个新的sip消息,通过找到的设备Session,将操作数据采用TCP或UDP的方式发送给物联网设备,物联网设备收到消息后执行该操作;实现Web前端与物联网设备的远程通信。端与物联网设备的远程通信。端与物联网设备的远程通信。

【技术实现步骤摘要】
一种Web前端与物联网设备远程通信的方法


[0001]本专利技术涉及互联网通信领域,尤其涉及一种Web前端与物联网设备远程通信的方法。

技术介绍

[0002]随着互联网技术的不断发展,物联网设备出现在越来越多的生产生活场景中。以智能家居为例,利用网络通信技术、自动控制技术、音视频技术等将家居生活有关的设施集成,构建高效的住宅设施与家庭日常事物的管理系统,提升家居安全性、便利性、舒适性,并实现环保节能的居住环境。
[0003]C/S结构也就是客户端/服务器结构对于小型局域网中建立通信有一定优势。但是APP客户端具有开发周期长、成本高、维护升级困难、使用前必须下载安装等特点。开发人员一直在寻找一种开发效率高,代价低的开发模式。Web前端页面具有兼容性较高、界面UI设计友好、开发周期短、易于维护等特点使得B/S结构的开发模式成为项目开发者更好的选择。
[0004]Web前端是以HTTP协议进行数据传输的,而HTTP协议是使用了面向连接的TCP作为传输层协议。对于一些时延要求较高的物联网设备不能满足低时延的要求。而使用UDP作为传输层协议,不能建立可靠的数据传输。SIP会话初始协议也是一个信令协议,SIP协议既可以使用TCP传输也可以使用UDP传输,能够与所有支持TCP或者UDP传输的物联网设备进行通信。建立Web前端页面与物联网设备的数据通信需要能将HTTP协议与SIP协议之间进行转换,然后将转换后的sip信令消息通过物联网设备的特性选择采用TCP或者UDP来传输,建立普适的Web前端与物联网设备的远程通信
[0005]HTTP(HyperText Transfer Protocol,超文本传输协议)是因特网上应用最为广泛的一种网络传输协议,所有的WWW文件都必须遵守这个标准。HTTP协议使用了面向连接的TCP协议作为传输层协议,保证了数据的可靠传输。但是,HTTP协议本身是无连接的。就是说,虽然HTTP协议使用了TCP连接,但通信的双方在交换HTTP报文之前是不需要先建立HTTP连接的。HTTP协议是无状态的(stateless)。同一个客户第二次访问同一个服务器上的页面时,服务器的响应与第一次被访问时的响应相同。HTTP协议是媒体独立的。这意味着,只要客户端和服务器知道如何处理的数据内容,任何类型的数据都可以使用HTTP发送。HTTP协议还具有简单灵活快速的特点,使用HTTP协议开发的项目对开发人员的开发水平要求不高且容错性强。HTTP协议是目前Web前端广泛使用的一种协议。
[0006]SIP(Session Initiation Protocol,会话发起协议)是由IETF(Internet Engineering Task Force,互联网工程任务组)提出的IP电话信令协议,是采用UTF

8字符集来进行编码的文本协议。SIP是一种通信协议,定义了如何在通信设备(计算机、电话、手机等)之间相互连接和信息交换,SIP也是一种信令控制协议,可以配置和管理任何类型的peer

to

peer通信会话,但并不关心媒体类型(语音、短信、游戏、视频等)。SIP协议具有良好的可扩展特性,可以方便地增加定义,嵌入各种用户终端并迅速实现新功能;有较强的互
操作能力,良好的开放性。

技术实现思路

[0007]为了解决现有技术的Web前端页面与物联网设备之间的远程通信方式不能做到普适性的问题,本专利技术提供了一种Web前端与物联网设备远程通信的方法。
[0008]本专利技术的一种Web前端与物联网设备远程通信的方法,涉及Web前端、Web服务器、Sip服务器、mysql数据库、物联网设备。该方法简要流程为用户通过Web前端向Web服务器发送http请求查询mysql数据库中设备信息,并对设备进行绑定操作。用户通过Web前端向Web服务器发送带有不同参数数据和操作指令的的http请求,Web服务器将不同参数的http请求通过HTTP协议转SIP协议模块进行转换封装成不同类型的sip消息并转发给Sip服务器。通过Sip服务器解析sip消息,根据sip消息字段中的信息从内存中查找已经与Sip服务器进行注册登录并维持心跳连接的设备Session,通过该设备Session将操作数据封装成新的sip消息根据设备特性使用TCP或UDP传输协议发送给物联网设备,建立普适的Web前端与物联网设备的远程通信。该方法步骤具体描述如下:
[0009]1)搭建Sip服务器和Web服务器,具体包括:Sip服务器用于建立Sip终端与Sip服务器之间的信令通信,实时更新Sip终端在线状态,转发sip消息到设备端,以及对mysql数据库数据的增删改查操作;Web服务器由linux系统、Nginx服务模块、Mysql数据存储模块、PHP语言模块共同搭建;Web服务器对前端界面和物联网设备发送的http请求进行执行和回复响应;通过Web服务器中的HTTP协议和SIP协议的转换模块,将Web前端界面发送的http消息转成sip消息并发送给Sip服务器;对数据库的操作,对数据库中保存数据的增删改查。
[0010]2)物联网设备注册登录Sip服务器,具体包括:物联网设备向Sip服务器发送注册登录sip消息,Sip服务器收到物联网设备发送的sip注册登录消息,并对sip消息进行解析处理;经过加密认证的流程通过后对注册登录成功的物联网设备,在Sip服务器上初始化一个与物联网设备之间的Session作为值,将这个设备的Id作为键,设备Id和Session以键

值对的形式保存在内存中;然后更新mysql数据库中物联网设备在线标识;为了保证Sip服务器与设备一直处于相连状态,设备每隔一段时向Sip服务器发送类型为REGISTER、内容为heartbeat的心跳包消息,Sip服务器接收到后回复200OK消息;如果超过一定时间未收到来自物联网设备的heartbeat心跳消息,在Sip服务器上注销与当前物联网设备的会话并擦除内存中保存的设备Id和Session的键

值对。
[0011]3)Web前端用户建立与Web服务器和Sip服务器的连接,具体包括:用户通过Web前端操作物联网设备前,需要在Web前端注册界面注册一个账号然后登录;在注册的过程中,注册界面将用户的注册信息通过http请求发送到Web服务器,Web服务器生成一个独一的UserId给此用户,并将用户信息存储在Mysql的用户信息表中;用户操作Web前端页面发送http请求到Web服务器查询数据表中设备在线状态并对在线设备进行绑定请求,Web服务器收到绑定请求后自动向Sip服务器发送封装好的sip消息到Sip服务器上进行注册登录,登录成功后向Sip服务器发送sip消息心跳包,保持与Sip服务器的连接。
[0012]4)用户操作Web前端界面向Web服务器发送http请求,其中包含绑定设备Id、操作用户UserId、对设备的操作等参数。
[0013]5)Web服务器收到http本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种Web前端与物联网设备远程通信方法,其特征在于,包括:用户通过Web前端向Web服务器发送http请求查询mysql数据库中设备信息,并对设备进行绑定操作;用户通过Web前端向Web服务器发送带有不同参数数据和操作指令的的http请求,Web服务器将不同参数的http请求通过HTTP协议转SIP协议模块进行转换封装成不同类型的sip消息并转发给Sip服务器;通过Sip服务器解析sip消息,根据sip消息字段中的信息从内存中查找已经与Sip服务器进行注册登录并维持心跳连接的设备Session,通过该设备Session将操作数据封装成新的sip消息根据设备特性使用TCP或UDP传输协议发送给物联网设备,建立普适的Web前端与物联网设备的远程通信;具体包括如下步骤:1)搭建Sip服务器和Web服务器,具体包括:Sip服务器建立Sip终端与Sip服务器之间的信令通信,实时更新Sip终端在线状态,转发sip消息到设备端,以及对mysql数据库数据的增删改查操作;Web服务器由linux系统、Nginx服务模块、Mysql数据存储模块、PHP语言模块共同搭建;Web服务器对前端界面和物联网设备发送的http请求进行执行和回复响应;通过Web服务器中的HTTP协议和SIP协议的转换模块,将Web前端界面发送的http消息转成sip消息并发送给Sip服务器;对数据库的操作,对数据库中保存数据的增删改查;2)物联网设备注册登录Sip服务器,具体包括:物联网设备向Sip服务器发送注册登录sip消息,Sip服务器收到物联网设备发送的sip注册登录消息,并对sip消息进行解析处理;经过加密认证的流程通过后对注册登录成功的物联网设备,在Sip服务器上初始化一个与物联网设备之间的Session作为值,将这个设备的Id作为键,设备Id和Session以键

值对的形式保存在内存中;然后更新mysql数据库中物联网设备在线标识;为了保证Sip服务器与设备一直处于相连状态,设备每隔一段时向Sip服务器发送类型为REGISTER、内容为heartbeat的心跳包消息,Sip服务器接收到后回复200OK消息;如果超过一定时间未收到来自物联网设备的heartbeat心跳消息,在Sip服务器上注销与当前物联网设备的会话并擦除内存中保存的设备Id和Session的键

值对;3)Web前端用户建立与Web服务器和Sip服务器的连接,具体包括:用户通过Web前端操作物联网设备前,需要在Web前端注册界面注册一个账号然后登录;在注册的过程中,注册界面将用户的注册信息通过http请求发送到Web服务器,Web服务器生成一个独一的UserId给此用户,并将UserId、用户IP、端口号等用户信息存储在Mysql的用户信息表中;用户操作Web前端页面发送http请求到Web服务器查询数据表中设备在线状态并对在线设备进行绑定请求,Web服务器收到绑定请求后自动向Sip服务器发送封装好的sip消息到Sip服务器上进行注册登录,登录成功后向Sip服务器发送sip消息心跳包,保持与Sip服务器的连接;4)用户操作Web前...

【专利技术属性】
技术研发人员:孟利民李虎应颂翔蒋维林梦嫚
申请(专利权)人:浙江工业大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1