一种适用于移动网络设备的远程控制方法技术

技术编号:31487766 阅读:20 留言:0更新日期:2021-12-18 12:23
本发明专利技术公开了一种适用于移动网络设备的远程控制方法,涉及网络技术领域,包括控制主机、云端的MQTT broker和受控主机,所述受控主机接入移动网络,所述远程控制方法的控制步骤如下:控制主机生成控制主题信息,并向云端的MQTT broker发送控制主题信息;受控主机从云端的MQTT broker端订阅控制主题信息,进行解析处理后生成回复主题信息,并受控主机向云端的MQTT broker发送回复主题信息;控制主机从云端的MQTT broker端收到回复主题信息后,解析内容,并将输出显示在屏幕上。本发明专利技术的优点在于:基于命令通道和MQTT协议,极大程度减少了通信的频率和数据量,在极端的网络环境下,依旧有良好的使用效果。依旧有良好的使用效果。依旧有良好的使用效果。

【技术实现步骤摘要】
一种适用于移动网络设备的远程控制方法


[0001]本专利技术涉及网络
,具体是涉及一种适用于移动网络设备的远程控制方法。

技术介绍

[0002]在智能化设备日益普及的情况下,利用工控一体机提供用户界面,并通过移动网络接入互联网提供和app或微信对接的场景越来越多,比如:广告机、快递柜、智能存储柜等。同时现有的物联网设备中,通过移动网络联网的场景非常常见,对于研发人员来说,登录到一台在线设备查看问题及升级系统是一个常见的需求。
[0003]已有的远程控制方案基本都是基于远程桌面的方式,在移动网络的情况下,尤其是室内信号不好的情况下,非常容易断连,桌面操作卡顿、可用性不强。利用移动网络接入互联网避免了有线网络的施工问题,但存在着网络带宽较低、稳定性相对较差、流量资费较高的问题。在设备发生故障后,售后工程师如需远程定位问题,需要提供一个远程工具来接入设备,但目前的接入方案并没有针对移动网络场景优化,虽然远程桌面简单易用,但由于移动网络环境下的特点,导致远程桌面卡顿,经常不能正常使用。

技术实现思路

[0004]为解决上述技术问题,提供一种适用于移动网络设备的远程控制方法,本技术方案解决了上述
技术介绍
中提出的已有的远程控制方案基本都是基于远程桌面的方式,在移动网络的情况下,尤其是室内信号不好的情况下,非常容易断连,桌面操作卡顿、可用性不强。利用移动网络接入互联网避免了有线网络的施工问题,但存在着网络带宽较低、稳定性相对较差、流量资费较高的问题。在设备发生故障后,售后工程师如需远程定位问题,需要提供一个远程工具来接入设备,但目前的接入方案并没有针对移动网络场景优化,虽然远程桌面简单易用,但由于移动网络环境下的特点,导致远程桌面卡顿,经常不能正常使用问题。
[0005]为达到以上目的,本专利技术采用的技术方案为:
[0006]一种适用于移动网络设备的远程控制方法,包括控制主机、云端的MQTT broker和受控主机,所述受控主机接入移动网络,所述远程控制方法的控制步骤如下:
[0007]控制主机生成控制主题信息,并向云端的MQTT broker发送控制主题信息;
[0008]受控主机从云端的MQTT broker端订阅控制主题信息,进行解析处理后生成回复主题信息,并受控主机向云端的MQTT broker发送回复主题信息;
[0009]控制主机从云端的MQTT broker端收到回复主题信息后,解析内容,并将输出显示在屏幕上。
[0010]优选的,所述控制主机操作步骤如下:
[0011]通过配置文件中获取当前需要连接的受控主机id,定义为Ci;
[0012]随机生成控制主机id,这里定义为Mi,利用控制主机id+时间戳计算控制主机
token,以控制主机id+时间戳拼接作为用户名,控制主机token作为密码,发到MQTT登录信息服务器端验证登录;
[0013]从云端的MQTT broker订阅所有发向本设备的消息,服务等级定为QOS1;
[0014]登录成功后,进入循环,从标准输入中获取输入;
[0015]解析输入参数,判断是否是内置命令,若是内置命令,则进入内置命令处理,若不是内置命令,则进入下一步;
[0016]获取到输入后,用protobuf序列化,并封装在消息体,生成控制主题信息,将生成的控制主题信息发送至云端的MQTT broker;
[0017]从云端的MQTT broker端收到回复主题信息后,用protobuf反序列化解析内容,并将输出显示在屏幕上;
[0018]返回循环起始步骤,等待用户输入。
[0019]优选的,所述内置命令包括非字符类的命令功能。
[0020]优选的,所述受控主机操作步骤如下:
[0021]从配置文件中获取受控主机id(生产时由生产工具自动生成并写入配置),这里定义为Ci,利用受控主机id+时间戳计算受控主机token,以受控主机id+时间戳拼接作为用户名,受控主机token作为密码,发到MQTT登录信息到服务器端验证登录;
[0022]从云端的MQTT broker端订阅所有发送到该设备的单播消息,服务等级设为QOS1;
[0023]从云端的MQTT broker端订阅控制主题信息;
[0024]根据控制主题订阅情况转发给受控主机,受控主机收到控制主题信息,解析主题,获得控制方的身份Mi;
[0025]查找Mi对应的控制台和命令管道,如果未发现,则创建新控制台和命令管道,否则跳过创建新控制台和命令管道步骤,其中所述创建新控制台和命令管道的具体步骤为:新建一个子进程,在windows上执行cmd.exe,在linux/安卓上执行/bin/sh,将新进程的标准输入、标准输出和错误输出重定向到和父进程通信的句柄上,这里定义为Pa,父进程新建输出采集线程,获取句柄的输出,并缓存起来,等待读取,这里定义为Ba;
[0026]解析消息体,获取命令和参数,并将命令写入到Pa,然后监控Ba的缓存是否变化,当超过预定时间未发生变化时,取出缓存结果Br;
[0027]发送回复主题信息,消息体内容是Br,发送到MQTT broker中。
[0028]优选的,所述预定时间为1秒

3秒。
[0029]优选的,所述控制主题的形式为single/rshell/<Ci>/<Mi>,所述控制主题订阅主题是四段式的,用/分隔,+为通配符。第一段表示是接收单播消息,第二段是功能名称,在这里是固定的rshell,第三段是变量Ci,即受控主机的mqtt_id,是MQTT服务器上全局唯一的,第四段是Mi,即控制主机的mqtt_id,是MQTT服务器上全局唯一的。
[0030]优选的,所述回复主题的形式为single/rshell/<Mi>/reply,其中reply为固定字符。
[0031]优选的,所述控制主题的形式为group/rshell/<group_id>/<Mi>,所述控制主题订阅主题是四段式的,用/分隔,+为通配符。第一段表示是接收组播消息,第二段是功能名称,在这里是固定的rshell,第三段是变量group_id,表示的是接收此消息的受控主机组,第四段是Mi,即控制主机的mqtt_id,是MQTT服务器上全局唯一的。
[0032]优选的,所述回复主题的形式为group/rshell/<Mi>/<Ci>reply,其中reply为固定字符。
[0033]优选的,所述控制主机包括控制存储器、控制处理器及存储在所述控制存储器上并可在所述处理器上运行的控制计算机程序,所述控制处理器执行所述控制计算机程序时实现如权利要求2至3任一项所述的操作步骤,所述受控主机包括受控存储器、受控处理器及存储在本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种适用于移动网络设备的远程控制方法,其特征在于,包括控制主机、云端的MQTT broker和受控主机,所述受控主机接入移动网络,所述远程控制方法的控制步骤如下:控制主机生成控制主题信息,并向云端的MQTT broker发送控制主题信息;受控主机从云端的MQTT broker端订阅控制主题信息,进行解析处理后生成回复主题信息,并受控主机向云端的MQTT broker发送回复主题信息;控制主机从云端的MQTT broker端收到回复主题信息后,解析内容,并将输出显示在屏幕上。2.根据权利要求1所述的一种适用于移动网络设备的远程控制方法,其特征在于,所述控制主机操作步骤如下:通过配置文件中获取当前需要连接的受控主机id,定义为Ci;随机生成控制主机id,这里定义为Mi,利用控制主机id+时间戳计算控制主机token,以控制主机id+时间戳拼接作为用户名,控制主机token作为密码,发到MQTT登录信息服务器端验证登录;从云端的MQTT broker订阅所有发向本设备的消息,服务等级定为QOS1;登录成功后,进入循环,从标准输入中获取输入;解析输入参数,判断是否是内置命令,若是内置命令,则进入内置命令处理,若不是内置命令,则进入下一步;获取到输入后,用protobuf序列化,并封装在消息体,生成控制主题信息,将生成的控制主题信息发送至云端的MQTT broker;从云端的MQTT broker端收到回复主题信息后,用protobuf反序列化解析内容,并将输出显示在屏幕上;返回循环起始步骤,等待用户输入。3.根据权利要求2所述的所述的一种适用于移动网络设备的远程控制方法,其特征在于,所述内置命令包括非字符类的命令功能。4.根据权利要求3所述所述的一种适用于移动网络设备的远程控制方法,其特征在于,所述受控主机操作步骤如下:从配置文件中获取受控主机id(生产时由生产工具自动生成并写入配置),这里定义为Ci,利用受控主机id+时间戳计算受控主机token,以受控主机id+时间戳拼接作为用户名,受控主机token作为密码,发到MQTT登录信息到服务器端验证登录;从云端的MQTT broker端订阅所有发送到该设备的单播消息,服务等级设为QOS1;从云端的MQTT broker端订阅控制主题信息;根据控制主题订阅情况转发给受控主机,受控主机收到控制主题信息,解析主题,获得控制方的身份Mi;查找Mi对应的控制台和命令管道,如果未发现,则创建新控制台和命令管道,否则跳过创建新控制台和命令管道步骤,其中所述创建新控制台和命令管道的具体步骤为:新建一个子进程,在windows上执行cmd.exe,在linux/安卓上执行/bin/sh,将新进程的标准输入、标准输出和错误...

【专利技术属性】
技术研发人员:周晓东
申请(专利权)人:苏州银橡智能科技有限公司
类型:发明
国别省市:

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

1