控制端与物联网设备之间基于alljoyn协议的通信方法技术

技术编号:14920223 阅读:194 留言:0更新日期:2017-03-30 13:07
本发明专利技术涉及alljoyn网络通信技术,其公开了一种控制端与物联网设备之间基于alljoyn协议的通信方法,解决传统技术中基于alljoyn协议进行通信时,不能快速发现网络连接异常或设备掉线的问题。该通信方法包括以下步骤:A、以物联网设备的SN号加上固定前缀为服务名启动alljoyn服务;B、控制端发请求查找网络中相应的物联网设备;C、控制端与相应物联网设备的服务建立会话并保持连接;D、控制端通过保持的会话与设备进行通讯;E、设备通过发送广播消息通知控制端当前状态。本发明专利技术适用于基于alljoyn协议实现的对家电控制。

【技术实现步骤摘要】

本专利技术涉及alljoyn网络通信技术,具体涉及控制端与物联网设备之间基于alljoyn协议的通信方法
技术介绍
Alljoyn是一个开源项目,主要用于近距离无线传输,通过WiFi或蓝牙技术,定位和点对点文件传输。它为分布式应用程序在不同设备中提供了运行环境,特别是移动性、安全性和动态配置。Alljoyn系统处理了异构分布式系统中固有的难题,并解决了将移动性引入方程时所产生的独特问题。这使得应用开发人员可以将注意力集中到应用程序的核心问题上了。但是在将Alljoyn应用于产品的过程中发现alljoyn提供的接口过于复杂,对于不熟悉alljoyn的开发人员很难直接进行开发,有些内容可能在开发过程中并不需要关心,但是又不得不按照alljoyn规范去实现。所以如何使开发过程更简单,比如设备端关心的只是启动一个唯一标记的服务,接收控制端的发来的指令和向控制端发送自己的状态信息(事件)。控制端关心的是发现网络中所有相关的设备,向指定设备发送特定的命令,接收设备的状态。其它的不用去关心。在实际的使用过程上,控制端和物联网模块之间通过alljoyn进行通信时,如果因为网络故障,或者异常断电等原因设备掉线了,控制端需要很长时间(2分钟)才能发现掉线,在这个过程中,控制端的任何操作设备都没有响应,会给用户造成困扰。因此,如何在发生网络或者其它连接异常时,快速地发现设备掉线,是当前亟需解决的一个技术问题。
技术实现思路
r>本专利技术所要解决的技术问题是:提出一种控制端与物联网设备之间基于alljoyn协议的通信方法,解决传统技术中基于alljoyn协议进行通信时,不能快速发现网络连接异常或设备掉线的问题。本专利技术解决其技术问题所采用的技术方案是:一种控制端与物联网设备之间基于alljoyn协议的通信方法,包括以下步骤:A、以物联网设备的SN号加上固定前缀为服务名启动alljoyn服务;B、控制端发请求查找网络中相应的物联网设备;C、控制端与相应物联网设备的服务建立会话并保持连接;D、控制端通过保持的会话与设备进行通讯;E、设备通过发送广播消息通知控制端当前状态。进一步,步骤A中,在启动alljoyn服务的同时,为服务发布一个接口,该接口包括一个接收命令的函数和一个发布状态的事件。进一步,步骤B中,控制端通过固定前缀搜索alljoyn服务从而找到相应物联网设备。进一步,步骤C中,控制端与相应物联网设备的服务建立会话并保持连接的具体方法是:alljoyn协议返回所有符合条件的alljoyn服务,控制端尝试用指定的端口去连接服务;如果成功连接,控制端将连接的会话加入设备列表中,触发设备发现事件,其应用程序可以通过该事件进行相应的处理,如果会话未成功连接,则不进行处理,设备不可用。进一步,步骤C中,所述控制端与相应物联网设备建立会话时会话协议为TCP或UDP。进一步,步骤D中,所述控制端通过保持的会话与设备进行通讯的具体方法包括:控制端发现设备后,可以通过服务接口提供的接收命令函数,向设备端发送控制指令,控制指令以二进制形式发送到设备端,设备端接收到控制命令后,触发命令接收事件,应用程序处理相应的接收命令。进一步,步骤E中,当设备端需要向控制端发送设备的相关状态时,调用状态发送函数,该函数通过alljoyn广播服务接口的发布状态事件,以便所有与该设备连接的所有控制端都能接收到,控制端监听到该事件后,触发状态改变事件给其应用程序执行相关操作。进一步,步骤C中,还包括:在物联网设备与控制端之间的会话建立成功后,物联网设备发送上线通知消息;控制端通过建立的活动会话判断当前在线的设备数量。进一步,步骤E中,还包括:当控制端收到会话掉线消息时会再尝试建立会话,建立会话成功则不触发离线事件,建立会话失败则触发离线事件。本专利技术的有益效果是:1.使开发人员在使用alljoyn协议的过程中,不必要对alljoyn接口进行了解,节省了开发时间,提高了开发效率。2.避免了Alljoyn协议网络异常时,发现设备掉线时间过长的问题。3.统一了物联网模块的协议使用,避免了使用过程中可能出现的错误。附图说明图1是本专利技术实施例中的通信方法流程图。具体实施方式本专利技术旨在提出一种控制端与物联网设备之间基于alljoyn协议的通信方法,解决传统技术中基于alljoyn协议进行通信时,不能快速发现网络连接异常或设备掉线的问题。该通信方法包括以下步骤:A、以物联网设备的SN号加上固定前缀为服务名启动alljoyn服务;B、控制端发请求查找网络中相应的物联网设备;C、控制端与相应物联网设备的服务建立会话并保持连接;D、控制端通过保持的会话与设备进行通讯;E、设备通过发送广播消息通知控制端当前状态。本专利技术通过制定服务规则,简化了alljoyn发现服务,提供特定的接口,大大减小了使用alljoyn协议的难度,通过使用长连接的会话是否正常,作为判断设备是否掉线的标准,避免了收到设备掉线时间过长的问题。以下结合附图及实施例对本专利技术的技术方案作进一步详细阐述:本例中配备了长虹物联网模块的设备端以长虹的固定前缀和本设备的SN号作为服务名启动Alljoyn服务,并为服务发布一个接口,该接口包括一个接收命令的函数和一个发布状态的事件。如图1所示,在控制端启动后,以长虹的固定前缀搜索网络中的所有物联网设备,alljoyn协议会返回所有符合条件的alljoyn服务,控制端会尝试用指定的端口去连接服务。如果成功连接,控制端将连接的会话加入设备列表中,触发设备发现事件,应用程序可以通过该事件进行相应的处理,如果会话未成功连接,则不进行处理,设备不可用。控制端发现设备后,可以通过服务接口提供的接收命令函数,向设备端发送控制指令。控制指令以二进制形式发送到设备端,设备端接收到控制命令后,触发命令接收事件,应用程序处理相应的接收命令。当设备端需要向控制端发送设备的相关状态时,调用状态发送函数,该函数通过alljoyn广播服务接口的发布状态事件,以便所有与该设备连接的控制端都能接收到,控制端监听到该事件后,触发状态改变事件给应用程序执行相关操作。会话连接断开时,控制端检测该会话是否在设备表中,如果会话在设备列表,则尝试再次建立会话,建立会话不成功则触发设备离线事件。当然,也可以不用尝试再次建立会话,而直接触发设备离线事件。本文档来自技高网...
控制端与物联网设备之间基于alljoyn协议的通信方法

【技术保护点】
一种控制端与物联网设备之间基于alljoyn协议的通信方法,其特征在于,包括以下步骤:A、以物联网设备的SN号加上固定前缀为服务名启动alljoyn服务;B、控制端发请求查找网络中相应的物联网设备;C、控制端与相应物联网设备的服务建立会话并保持连接;D、控制端通过保持的会话与设备进行通讯;E、设备通过发送广播消息通知控制端当前状态。

【技术特征摘要】
1.一种控制端与物联网设备之间基于alljoyn协议的通信方法,其特征在于,包括以下步骤:
A、以物联网设备的SN号加上固定前缀为服务名启动alljoyn服务;
B、控制端发请求查找网络中相应的物联网设备;
C、控制端与相应物联网设备的服务建立会话并保持连接;
D、控制端通过保持的会话与设备进行通讯;
E、设备通过发送广播消息通知控制端当前状态。
2.如权利要求1所述的一种控制端与物联网设备之间基于alljoyn协议的通信方法,其特
征在于,步骤A中,在启动alljoyn服务的同时,为服务发布一个接口,该接口包括一个接收
命令的函数和一个发布状态的事件。
3.如权利要求1所述的一种控制端与物联网设备之间基于alljoyn协议的通信方法,其特
征在于,步骤B中,控制端通过固定前缀搜索alljoyn服务从而找到相应物联网设备。
4.如权利要求1所述的一种控制端与物联网设备之间基于alljoyn协议的通信方法,其特
征在于,步骤C中,控制端与相应物联网设备的服务建立会话并保持连接的具体方法是:
alljoyn协议返回所有符合条件的alljoyn服务,控制端尝试用指定的端口去连接服务;如
果成功连接,控制端将连接的会话加入设备列表中,触发设备发现事件,其应用程序可以通
过该事件进行相应的处理,如果会话未成功连接,则不进行处理,设备不可用。
5.如权利要求1所述的一种控制端与物联网设备之间基于alljoyn协议的通信方法,其...

【专利技术属性】
技术研发人员:邓宏
申请(专利权)人:四川长虹电器股份有限公司
类型:发明
国别省市:四川;51

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

1