CN110275787B - 在线平台数据传输方法、装置、介质及电子设备 - Google Patents

在线平台数据传输方法、装置、介质及电子设备 Download PDF

Info

Publication number
CN110275787B
CN110275787B CN201910549322.4A CN201910549322A CN110275787B CN 110275787 B CN110275787 B CN 110275787B CN 201910549322 A CN201910549322 A CN 201910549322A CN 110275787 B CN110275787 B CN 110275787B
Authority
CN
China
Prior art keywords
robot
server
online platform
command
api
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN201910549322.4A
Other languages
English (en)
Other versions
CN110275787A (zh
Inventor
保罗·所罗门·奥拉弟美即
索蒂里奥斯·斯塔西诺普洛斯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Bople Technology Beijing Co ltd
Original Assignee
Bople Technology Beijing Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Bople Technology Beijing Co ltd filed Critical Bople Technology Beijing Co ltd
Priority to CN201910549322.4A priority Critical patent/CN110275787B/zh
Publication of CN110275787A publication Critical patent/CN110275787A/zh
Application granted granted Critical
Publication of CN110275787B publication Critical patent/CN110275787B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/544Buffers; Shared memory; Pipes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/544Remote

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本公开实施例涉及一种在线平台数据传输方法、装置、介质及电子设备,其方法包括:通过与服务器建立通信,并基于服务器获取机器人的IP地址;基于机器人的IP地址与机器人建立websocket通信,并将命令和程序文件发送给机器人;获取机器人按照命令执行程序文件的反馈结果,并对反馈结果进行可视化显示。本公开实施例提供的方法通过服务器建立起在线平台所在的终端设备与机器人之间的通信,以便机器人能够实时接收在线平台发送的指令和程序文件,并按照指令和程序文件运行,提高通信效率;机器人实时将运行结果反馈给在线平台,进而可以将反馈结果进行可视化显示,方便用户查看,使用场景不局限于研发测试阶段,使用场景更加广泛。

Description

在线平台数据传输方法、装置、介质及电子设备
技术领域
本公开涉及互联网技术领域,尤其涉及一种在线平台数据传输方法、装置、介质及电子设备。
背景技术
目前,通过编程教育学习编程技术的人群越来越多,除了线下教学,还有采用线上的教学方式,主要是为学习者提供可以进行在线编程学习的平台。
现有的方案中,提供一种用于在线编程教学的平台,并进一步通过编程的结果对与其连接的机器人进行控制。例如,学习者在所使用的电脑(PC,可以搭载Windows、Mac、Linux等操作系统)上完成软件编程后,利用数据线,把将编写的代码传输给机器人硬件,进而使机器人按照在PC端的编程代码完成相应的控制操作,但是缺点是不能随时修改代码。还例如,利用开发的在线平台建立一个虚拟的环境,来编程和控制虚拟的机器人,但不能连接到机器人的硬件操作系统(Ubuntu等),因此缺点是不能通过虚拟环境的编程结果来控制真正的机器人。
基于上述,现有的在线编程教学仍然存在未能实时将机器人的操作反馈给在线平台的缺陷。
上述缺陷是本领域技术人员期望克服的。
发明内容
(一)要解决的技术问题
为了解决现有技术的上述问题,本公开提供一种在线平台数据传输方法、装置、介质及电子设备,进而至少在一定程度上克服现有的在线编程教学未能实时将机器人的操作反馈给在线平台的缺点。
本公开的其他特性和优点将通过下面的详细描述变得显然,或数据子段地通过本公开的实践而习得。
(二)技术方案
为了达到上述目的,本公开采用的主要技术方案包括:
本公开的实施例一方面提供一种在线平台数据传输方法,其包括:
通过与服务器建立通信,并基于所述服务器获取机器人的IP地址;
基于所述机器人的IP地址与机器人建立websocket通信,并将命令和程序文件发送给所述机器人;
获取所述机器人按照所述命令执行所述程序文件的反馈结果,并对所述反馈结果进行可视化显示。
在本公开一实施例中,所述通过与服务器建立通信,并基于所述服务器获取机器人的IP地址之前,还包括:
所述机器人通过无线网与所述服务器建立通信,并将所述机器人的IP地址发送给所述服务器。
在本公开一实施例中,所述机器人通过无线网与所述服务器建立通信,并将所述机器人的IP地址发送给所述服务器包括:
所述机器人连接到无线网,并在所述机器人上运行预设的机器人端API;
通过所述机器人端API连接接到运行于服务器的服务器端API;
所述机器人端API将所述机器人的IP地址发送给所述服务器端API。
在本公开一实施例中,所述通过与服务器建立通信,并基于所述服务器获取机器人的IP地址包括:
所述在线平台连接到所述服务器端API;
基于所述服务器端API接收所述机器人的IP地址。
在本公开一实施例中,所述基于所述机器人的IP地址与机器人建立websocket通信,并将命令和程序文件发送给所述机器人包括:
所述在线平台通过无线网络访问所述机器人的IP地址,与所述机器人建立websocket通信;
通过所述websocket通信与所述机器人端API连接,并基于所述机器人端API启动SSH服务器;
在所述在线平台上通过编辑器创建程序和编辑命令,并在所述在线平台上通过虚拟终端编辑命令,得到所述命令和所述程序文件;
通过所述websocket通信将所述命令和所述程序文件发送给所述机器人端API;
所述机器人端API将所述程序文件存储在所述机器人的文件系统中,以在所述机器人端API收到执行所述程序文件的命令时,在所述SSH服务器运行所述程序文件。
在本公开一实施例中,还包括:
通过与所述服务器之间的通信将所述程序文件发送到所述服务器,并存储在所述服务器。
在本公开一实施例中,所述反馈结果的形式包括文本、图片或视频中的至少一种。
本公开的实施例另一方面提供一种在线平台数据传输装置,其包括:
获取地址模块,用于通过与服务器建立通信,并基于所述服务器获取机器人的IP地址;
发送指令模块,用于基于所述机器人的IP地址与机器人建立websocket通信,并将命令和程序文件发送给所述机器人;
接收反馈模块,用于获取所述机器人按照所述命令执行所述程序文件的反馈结果,并对所述反馈结果进行可视化显示。
根据本公开实施例的第三方面,提供一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现以上所述的在线平台数据传输方法的步骤。
根据本公开实施例的第四方面,提供一种电子设备,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现以上所述的在线平台数据传输方法。
(三)有益效果
本公开的有益效果是:本公开实施例提供的在线平台数据传输方法,一方面,通过服务器建立起在线平台所在的终端设备与机器人之间的通信,以便机器人能够实时接收在线平台发送的指令和程序文件,并按照指令和程序文件运行,提高通信效率;另一方面,机器人实时将运行结果反馈给在线平台,进而可以将反馈结果进行可视化显示,方便用户查看,使用场景不局限于研发测试阶段,在实际使用阶段也可应用,使用场景广泛。
附图说明
图1是根据一示例性实施例示出的一种在线平台数据传输方法及装置的系统场景框图;
图2为本公开一个实施例提供的一种在线平台数据传输方法的流程图;
图3为本公开一实施例图2中步骤S210之前的流程图;
图4为本公开一实施例图2中步骤S220的流程图;
图5为本公开一实施例中在线平台数据传输的整体流程图;
图6为本公开另一实施例提供的一种在线平台数据传输装置的示意图;
图7是根据本公开一实施例示出的一种电子设备的计算机系统的结构示意图。
具体实施方式
为了更好的解释本公开,以便于理解,下面结合附图,通过具体实施方式,对本公开作详细描述。
本文所使用的所有的技术和科学术语与属于本公开的技术领域的技术人员通常理解的含义相同。本文中在本公开的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本公开。本文所使用的术语“和/或”包括一个或多个相关的所列项目的任意的和所有的组合。
在本公开相关实施例中,可以通过开发软件,利用(手机/电脑/平板电脑等)蓝牙技术,使得该软件可以实现编程和控制机器人,但是缺点是只能做简单的编程和控制机器人。还可以利用SSH(Secure Shell,安全外壳协议)远程控制机器人系统的终端,但是这种方式不能实现可视化的反馈,只能在研发测试期使用,无法应用在实时在线教育平台中。
基于上述,相关实施例中在线编程教学未能实时将机器人的操作反馈给在线平台,为此,本公开提供一种在线平台数据传输方法、装置、介质及电子设备,下面对本公开的技术方案做具体介绍。
图1是根据一示例性实施例示出的一种在线平台数据传输方法及装置的系统场景框图。
如图1所示,系统架构100可以包括调用方的终端设备101、102、103,网络104和服务方的服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如在线编程教育平台(简称为在线平台)等。
终端设备101、102、103可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器105可以是提供各种服务的服务器,例如对利用终端设备101、102、103所提出的业务请求提供支持的后台服务器,也可以是对利用终端设备101、102、103所提出的业务请求提供支持的机器人(一种可编程设备)。服务器105可以对接收到的业务请求及相关数据进行分析等处理,并将处理结果反馈给终端设备,即调用方从服务方调用数据。
可通过终端设备101、102、103生成调用请求,终端设备101、102、103可例如通过与服务器建立通信,并基于所述服务器获取机器人的IP地址,还可例如基于所述机器人的IP地址与机器人建立websocket通信,并将命令和程序文件发送给所述机器人,还可例如获取所述机器人按照所述命令执行所述程序文件的反馈结果,并对所述反馈结果进行可视化显示。服务器105可例如获取机器人的IP地址,并通过与终端设备的在线平台进行通信,将获取的机器人的IP地址发送给在线平台;服务器105可例如接收并保存终端设备发送的程序文件。
需要说明的是,本公开实施例所提供的在线平台数据传输方法可以由终端设备执行,相应地,在线平台数据传输装置可以设置于终端设备中。
图2为本公开一个实施例提供的一种在线平台数据传输方法的流程图,如图2所示,该方法包括以下步骤:
如图2所示,在步骤S210中,通过与服务器建立通信,并基于所述服务器获取机器人的IP地址;
如图2所示,在步骤S220中,基于所述机器人的IP地址与机器人建立websocket通信,并将命令和程序文件发送给所述机器人;
如图2所示,在步骤S230中,获取所述机器人按照所述命令执行所述程序文件的反馈结果,并对所述反馈结果进行可视化显示。
本公开实施例提供的在线平台数据传输方法,一方面,通过服务器建立起在线平台所在的终端设备与机器人之间的通信,以便机器人能够实时接收在线平台发送的指令和程序文件,并按照指令和程序文件运行,提高通信效率;另一方面,机器人实时将运行结果反馈给在线平台,进而可以将反馈结果进行可视化显示,方便用户查看,使用场景不局限于研发测试阶段,在实际使用阶段也可应用,使用场景广泛。
以下对图2所示实施例的各个步骤的具体实现进行详细阐述:
在步骤S210中,通过与服务器建立通信,并基于所述服务器获取机器人的IP地址。
在本公开一实施例中,该步骤中通过与服务器建立通信,并基于所述服务器获取机器人的IP地址之前,还包括:
所述机器人通过无线网与所述服务器建立通信,并将所述机器人的IP地址发送给所述服务器,例如,本实施例中可以采用机器人自动连接Wi-Fi网络连接到服务器。
图3为本公开一实施例图2中步骤S210之前的流程图,如图3所示,具体包括以下步骤:
在步骤S301中,所述机器人连接到无线网,并在所述机器人上运行预设的机器人端API(即APIR)。机器人自动运行应用程序编程接口(Application ProgrammingInterface,简称API),使得终端设备或服务器等能够直接向机器人发送指令。
在步骤S302中,通过所述机器人端API连接接到运行于服务器的服务器端API(即APIS)。例如,可以通过在计算机打开网页浏览器登录到在线平台,从而连接到APIS
在步骤S303中,所述机器人端API将所述机器人的IP地址发送给所述服务器端API。
在本公开一实施例中,步骤S210中通过与服务器建立通信,并基于所述服务器获取机器人的IP地址包括:
首先,所述在线平台连接到所述服务器端API;
然后,在线平台基于所述服务器端API接收所述机器人的IP地址。
本实施例中的在线平台运行在一终端设备上(如计算机),通过该在线平台为用户提供编程环境和可视化环境,其中编程环境可以供用户编写代码,具体可以通过程序编程器来实现,基于在线平台提供以程序编程器的形式创建编写完整的程序。该在线平台可以通过互联网连接到服务器,还可以通过本地无线网络连接到机器人。
在本公开一实施例中,在所述在线平台上通过编辑器创建程序,得到所述程序文件;进一步的,将所述程序文件发送到所述服务器,并存储在所述服务器。通过将编写完整的的程序文件保存到服务器上,下次用户登录在线平台后,在线平台会自动加载已保存在服务器上的程序。还可以通过在线平台对服务器中存储的程序文件进行检索,以便能够直接调用之前已经编写并存储的程序文件,减少重复性工作。
在本公开一实施例中,还可以根据需要为在线平台检索和查看存储在服务器中的程序文件设置一定的权限,便于安全性管理。另外,由于服务器与机器人之间也有通信连接,还可以供机器人随时从服务器调用所需的程序文件进而在机器人上运行该程序文件。
在步骤S220中,基于所述机器人的IP地址与机器人建立websocket通信,并将命令和程序文件发送给所述机器人。
图4为本公开一实施例图2中步骤S220的流程图,如图4所示,具体包括以下步骤:
在步骤S401中,所述在线平台通过无线网络访问所述机器人的IP地址,与所述机器人建立websocket通信。
在步骤S402中,通过所述websocket通信与所述机器人端API连接,并基于所述机器人端API启动SSH服务器。
其中SSH是一种建立在应用层基础上的安全协议(Secure Shell)的缩写,SSH是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用SSH协议可以有效防止远程管理过程中的信息泄露问题。SSH在正确使用时可弥补网络中的漏洞。SSH客户端适用于多种平台,几乎所有UNIX平台—包括HP-UX、Linux、AIX、Solaris、Digital UNIX、Irix,以及其他平台,都可运行SSH。
SSH作为一种远程连接工具,其连接原理为:SSH服务是一个守护进程(demon),系统后台监听客户端的连接,SSH服务端的进程名为SSHD,负责实时监听客户端的请求(一般是IP 22端口),包括公共秘钥等交换等信息。
在步骤S403中,在所述在线平台上通过编辑器创建程序和编辑命令,并在所述在线平台上通过虚拟终端编辑命令,得到所述命令和所述程序文件。其中在线平台可以基于终端模拟器Xterm和SSH2协议向机器人发送命令。SSH2增加了一个确认联机正确性的Diffe_Hellman机制,每次数据的传输,服务器都会检查数据来源的正确性,避免黑客入侵。SSH2支持RSA和DSA密钥,其中DSA为数字签名Digital Signature Algorithm的简称,而RSA既可以数字签名又可以加密。
这里的命令是指计算机的快捷指令,例如:gpedit.msc-----组策略;sndrec32-------录音机;Nslookup-------IP地址侦测器;explorer-------打开资源管理器;logoff---------注销命令;tsshutdn-------60秒倒计时关机命令;lusrmgr.msc----本机用户和组;services.msc---本地服务设置;oobe/msoobe/a----检查XP是否激活等等。
在步骤S404中,通过所述websocket通信将所述命令和所述程序文件发送给所述机器人端API,即APIR
在步骤S405中,所述机器人端API将所述程序文件存储在所述机器人的文件系统中,以在所述机器人端API收到执行所述程序文件的命令时,在所述SSH服务器运行所述程序文件。
该步骤为所述机器人端API将所述命令发送给所述SSH服务器,并在所述SSH服务器里运行所述命令。例如,所述机器人的文件系统中存储程序文件W,如果用户想要在机器人端运行该程序时,用户需再发送一个执行程序文件W的命令Z给所述机器人端API,所述机器人端API将所述命令Z发送给所述SSH服务器,然后所述SSH服务器会运行命令Z,从而执行程序文件W。
还需要说明的是,当有多个用户时,多个用户可以分别在多个不同终端设备的在线平台上,通过使用相同的访问端IP地址同时与同一个机器人进行通信,并可以在机器人上进行保存/检索程序文件,并通过向机器人发送命令控制机器人运行程序文件。由于每一个机器人都有一个特有的IP(这个IP是本地网络的IP地址),因此允许多个用户使用相同的访问端IP来同时访问同一个机器人,并且将不同用户发送来的程序文件存储在机器人中每个用户各自对应的单独文件夹中,专用于特定的用户。例如,用户A、B、C均可以通过登录在线平台,然后向机器人发送指令和程序文件,在机器人端就针对这三个用户分别用三个不同的文件夹进行存储,以便使用时可以根据用户调用相应的程序文件进行运行。
在本公开一实施例中,当有多个用户在不同的终端设备上登录在线平台时,机器人可以对多个终端设备发送来的程序文件逐个保存或全部一次保存,具体可以根据使用场景做出相应的调整。
基于前述,该步骤中在线平台能够通过与机器人建立websocket通信,以便执行命令和程序文件、控制机器人。由于本地Wi-Fi网络高速地向机器人发送命令和程序文件,用户可以无缝地与机器人进行无线交互,可以实现高速地实时编程,并实时在机器人上运行在线平台发送的程序文件。
在步骤S230中,获取所述机器人按照所述命令执行所述程序文件的反馈结果,并对所述反馈结果进行可视化显示。
通过在机器人端的SSH服务器上执行命令的反馈结果,包括向用户反馈任何可能的错误,通过使用websocket,由APIR传输到用户计算机的在线平台上,并显示在在线平台的终端上,例如反馈结果可以为Ubuntu或ROS系统的状态信息(如系统故障信息)等,还可以为文本、图像、视频等视觉反馈结果。因此在线平台接收并显示的反馈结果的形式包括文本、图片或视频中的至少一种。
该步骤中所述机器人端API将所述程序文件存储在的机器人文件系统中,当收到通过在线平台发送命令后,按照命令运行存储于机器人中的程序文件。例如,机器人上安装有摄像头或温度传感等传感器,机器人按照命令运行程序文件,该程序文件对应的操作为打开摄像头进行拍摄,此时相应的,机器人按照命令执行程序文件的反馈结果即为摄像头拍摄的视频或图片,视频或图片保存在机器人中;然后机器人通过websocket通信将该反馈结果发送给在线平台,在线平台对该反馈结果进行可视化显示,即为显示拍摄的视频或图片。还例如,该程序文件对应的操作为基于温度传感器采集环境温度,此时相应的,机器人按照命令执行程序文件的反馈结果即为温度数据,该温度数据以文本形式保存在机器人中;然后机器人端API通过websocket通信将该反馈结果发送给在线平台,在线平台对该反馈结果进行可视化显示,即为文本形式的温度数据。
基于前述,该步骤中在线平台还可以从这些命令和程序的执行中获得视觉反馈结果,并显示出来供用户实时查看。
图5为本公开一实施例中在线平台数据传输的整体流程图,以图5所示为例,具体包括以下步骤:
步骤S501,机器人启动,并自动连接WiFi网络,机器人上自动运行APIR,通过运行APIR将机器人连接到服务器的服务器端APIS,并将IP地址传输给服务器。
步骤S502,用户在计算机上通过互联网浏览器登录到在线平台,从而连接到服务器上的APIS
步骤S503,在线服务器的APIS将机器人的IP地址,发送给运行在用户计算机上的在线平台上,从而在线平台获得机器人在本地Wi-Fi网络上的IP地址。
步骤S504,用户计算机上运行的在线平台通过本地Wi-Fi网络,使用机器人的IP地址通过websocket打开与机器人的APIR的连接。
步骤S505,运行在机器人上的APIR,在机器人上启动一个SSH服务器,以便机器人可以接收与SSH协议兼容的格式命令,这些命令可以在终端中使用。
步骤S506,在线平台上的终端,用户在编程环境下基于Xterm和SSH2插入并执行命令。
步骤S507,命令及其执行指令在本地上被传送(在本地网络上),通过websocket,从用户计算机上的在线平台传输到APIR上,并从该在线平台传输到运行在机器人的SSH服务器上,从而让机器人执行命令。
步骤S508,机器人在SSH服务器上执行命令的结果,包括向用户反馈任何可能的错误。基于websocket通信,由APIR传输到用户计算机的在线平台上,并显示在在线平台的终端上。
上述方法中基于在线平台上的编辑器可以创建程序,并将其发送到服务器上的APIS,从而将程序文件保存在服务器。并且基于在线平台,还可以将呈现文件发送到运行在机器人上的APIR,保存在机器人文件系统中专用于特定用户的特殊文件夹下。机器人通过实时使用终端上的命令,可以按照上述命令运行程序文件中的程序。
步骤S509,基于在线平台接收机器人针对程序文件的反馈结果,如文本、图像或视频可以通过本地网络传输到用户计算机上运行的在线平台上,并在终端设备上显示出来。
例如,在终端设备上,用户可以通过点击界面上相对应的按钮来查看视觉反馈结果,如果没有文本、图像或视频等视觉反馈结果时,则反馈为空。因此,无论是视觉反馈结果还是空的结果,用户皆可以在终端设备的可视化界面上进行查看,实时根据可视化的机器人的反馈结果获知程序运行结果。上述方法可以基于在线平台、服务器和机器人构成的数据传输和控制系统实现。
综上所述,采用本公开实施例提供的在线平台数据传输方法,一方面,通过服务器建立起在线平台所在的终端设备与机器人之间的通信,用户可以无缝地与机器人进行无线交互,以便机器人能够实时接收在线平台发送的指令和程序文件,并按照指令和程序文件运行,提高通信效率;另一方面,机器人实时将运行结果反馈给在线平台,进而可以将反馈结果进行可视化显示,方便用户查看,使用场景不局限于研发测试阶段,在实际使用阶段也可应用,使用场景广泛;再一方面,该方法仅需使用网络浏览器即可,不需要用网线连接机器人,也不需要在用户的计算机上安装专用软件在线平台上创建的程序通过互联网存储在服务器上,可以随时从服务器中检索,也可以在机器人上随时运行。
与上述在线平台数据传输方法相对应的,图6为本公开另一实施例提供的一种在线平台数据传输装置的示意图,参考图6,在线平台数据传输装置600包括:获取地址模块610、发送指令模块620和接收反馈模块630。
获取地址模块610用于通过与服务器建立通信,并基于所述服务器获取机器人的IP地址;发送指令模块620用于基于所述机器人的IP地址与机器人建立websocket通信,并将命令和程序文件发送给所述机器人;接收反馈模块630用于获取所述机器人按照所述命令执行所述程序文件的反馈结果,并对所述反馈结果进行可视化显示。
需要说明的是,对于发送指令模块620中的指令即包括一系列按一定顺序排列的指令构成的程序文件,还包括计算机命令(即计算机的快捷操作指令)。
由于本公开的示例实施例的在线平台数据传输装置的各个功能模块与上述图2所示的在线平台数据传输方法的示例实施例的步骤对应,因此对于本公开装置实施例中未披露的细节,请参照本公开上述的在线平台数据传输方法的实施例。
综上所述,采用本公开实施例提供的在线平台数据传输装置的技术效果参见上述方法的技术效果,此处不再赘述。下面参考图7,其示出了适于用来实现本发明实施例的电子设备的计算机系统700的结构示意图。图7示出的电子设备的计算机系统700仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图7所示,计算机系统700包括中央处理单元(CPU)701,其可以根据存储在只读存储器(ROM)702中的程序或者从存储部分708加载到随机访问存储器(RAM)703中的程序而执行各种适当的动作和处理。在RAM 703中,还存储有系统操作所需的各种程序和数据。CPU701、ROM 702以及RAM 703通过总线704彼此相连。输入/输出(I/O)接口705也连接至总线704。
以下部件连接至I/O接口705:包括键盘、鼠标等的输入部分706;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分707;包括硬盘等的存储部分708;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分709。通信部分709经由诸如因特网的网络执行通信处理。驱动器710也根据需要连接至I/O接口705。可拆卸介质711,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器710上,以便于从其上读出的计算机程序根据需要被安装入存储部分708。
特别地,根据本发明的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分709从网络上被下载和安装,和/或从可拆卸介质711被安装。在该计算机程序被中央处理单元(CPU)701执行时,执行本申请的系统中限定的上述功能。
需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。
作为另一方面,本申请还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该电子设备执行时,使得该电子设备实现如上述实施例中所述的在线平台数据传输方法。
例如,所述的电子设备可以实现如图2中所示的:步骤S210,通过与服务器建立通信,并基于所述服务器获取机器人的IP地址;步骤S220,基于所述机器人的IP地址与机器人建立websocket通信,并将命令和程序文件发送给所述机器人;步骤S230,获取所述机器人按照所述命令执行所述程序文件的反馈结果,并对所述反馈结果进行可视化显。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、触控终端、或者网络设备等)执行根据本公开实施方式的方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

Claims (6)

1.一种在线平台数据传输方法,其特征在于,用于在线编程教学场景中,所述在线平台为任一用户终端设备内的通过浏览器加载的提供编程环境和可视化环境的在线编程教育平台;该方法包括:
机器人通过无线网与后台的服务器建立通信,并将所述机器人的IP地址发送给所述服务器,包括:
所述机器人自动连接到无线网,并在所述机器人上自动运行预设的机器人端API;
通过所述机器人端API连接接到运行于服务器的服务器端API;
所述机器人端API将所述机器人本地无线网的IP地址发送给所述服务器端API;
通过与服务器建立通信,并基于所述服务器获取机器人的IP地址,包括:
所述在线平台连接到所述服务器端API;
基于所述服务器端API接收所述机器人的IP地址;
多个用户的在线平台分别基于所述机器人的IP地址与机器人建立websocket通信,并将命令和程序文件发送给所述机器人,包括:
所述在线平台通过无线网络访问所述机器人的IP地址,与所述机器人建立websocket通信;
通过所述websocket通信与所述机器人端API连接,并基于所述机器人端API启动SSH服务器;
在所述在线平台上通过编辑器创建程序和编辑命令,并在所述在线平台上通过虚拟终端编辑命令,得到所述命令和所述程序文件;
在线平台基于终端模拟器Xterm和SSH2协议通过所述websocket通信将所述命令发送给所述机器人端API,通过所述websocket通信将所述程序文件发送给所述机器人端API,
所述机器人端API将所述程序文件存储在所述机器人的文件系统中,以在所述机器人端API收到执行所述程序文件的命令时,在所述SSH服务器运行所述程序文件;
所述机器人端API将所述命令发送给所述SSH服务器,以在所述SSH服务器里运行所述命令;
获取所述机器人按照所述命令执行所述程序文件的反馈结果,并对所述反馈结果进行可视化显示。
2.如权利要求1所述的在线平台数据传输方法,其特征在于,还包括:
通过与所述服务器之间的通信将所述程序文件发送到所述服务器,并存储在所述服务器。
3.如权利要求2所述的在线平台数据传输方法,其特征在于,所述反馈结果的形式包括文本、图片或视频中的至少一种。
4.一种在线平台数据传输装置,其特征在于,用于在线编程教学场景中,所述在线平台为任一用户终端设备内的通过浏览器加载的提供编程环境和可视化环境的在线编程教育平台,该装置包括:
获取地址模块,用于机器人通过无线网与服务器建立通信,并将所述机器人的IP地址发送给所述服务器,包括:所述机器人连接到无线网,并在所述机器人上运行预设的机器人端API;通过所述机器人端API连接接到运行于服务器的服务器端API;所述机器人端API将所述机器人的IP地址发送给所述服务器端API;通过与服务器建立通信,并基于所述服务器获取机器人的IP地址,包括:所述在线平台连接到所述服务器端API;基于所述服务器端API接收所述机器人的IP地址;
发送指令模块,用于多个用户的在线平台分别基于所述机器人的IP地址与机器人建立websocket通信,并将命令和程序文件发送给所述机器人,包括:所述在线平台通过无线网络访问所述机器人的IP地址,与所述机器人建立websocket通信;通过所述websocket通信与所述机器人端API连接,并基于所述机器人端API启动SSH服务器;在所述在线平台上通过编辑器创建程序和编辑命令,并在所述在线平台上通过虚拟终端编辑命令,得到所述命令和所述程序文件;在线平台基于终端模拟器Xterm和SSH2协议通过所述websocket通信将所述命令发送给所述机器人端API,通过所述websocket通信将所述程序文件发送给所述机器人端API,所述机器人端API将所述程序文件存储在所述机器人的文件系统中,以在所述机器人端API收到执行所述程序文件的命令时,在所述SSH服务器运行所述程序文件;所述机器人端API将所述命令发送给所述SSH服务器,以在所述SSH服务器里运行所述命令;
接收反馈模块,用于获取所述机器人按照所述命令执行所述程序文件的反馈结果,并对所述反馈结果进行可视化显示。
5.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1至4中任一项所述的在线平台数据传输方法的步骤。
6.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求1至4中任一项所述的在线平台数据传输方法。
CN201910549322.4A 2019-06-24 2019-06-24 在线平台数据传输方法、装置、介质及电子设备 Expired - Fee Related CN110275787B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910549322.4A CN110275787B (zh) 2019-06-24 2019-06-24 在线平台数据传输方法、装置、介质及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910549322.4A CN110275787B (zh) 2019-06-24 2019-06-24 在线平台数据传输方法、装置、介质及电子设备

Publications (2)

Publication Number Publication Date
CN110275787A CN110275787A (zh) 2019-09-24
CN110275787B true CN110275787B (zh) 2021-10-22

Family

ID=67961690

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910549322.4A Expired - Fee Related CN110275787B (zh) 2019-06-24 2019-06-24 在线平台数据传输方法、装置、介质及电子设备

Country Status (1)

Country Link
CN (1) CN110275787B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111786893B (zh) * 2020-07-14 2022-08-30 博为科技有限公司 mesh组网中无线路由器软件版本的同步方法和装置
CN112659124A (zh) * 2020-12-14 2021-04-16 南昌大学 一种基于Android系统的虚拟仿真与控制系统
CN112698629A (zh) * 2020-12-23 2021-04-23 江苏睿科大器机器人有限公司 一种适用于医院场景的agv调度方法与系统
CN115080135A (zh) * 2022-07-26 2022-09-20 苏州浪潮智能科技有限公司 一种基于gui实现bios远程自动化控制的系统

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2866723A1 (fr) * 2004-02-23 2005-08-26 France Telecom Procede et dispositif de traitement d'une commande de robot effectuee par l'intermediaire d'un dispositif de commande distant relie par un reseau de telecommunication a un serveur
US9116706B2 (en) * 2012-10-09 2015-08-25 Tamer Yunten Yunten's web application methodology and web programming language (YWAM and WPL)
CN104898459B (zh) * 2015-04-13 2018-10-23 南京阿凡达机器人科技有限公司 一种基于命令行接口的机器人测试系统及测试方法
CN106182005B (zh) * 2016-08-08 2019-06-07 江阴市雷奥机器人技术有限公司 一种机器人远程调试方法
CN106325876B (zh) * 2016-08-29 2019-07-26 中山市天启智能科技有限公司 一种在线图形化编程及控制嵌入式设备的方法、系统
CN107471213B (zh) * 2017-08-03 2020-06-19 大陆智源科技(北京)有限公司 一种机器人模拟系统
CN109032573A (zh) * 2018-06-20 2018-12-18 深圳市编玩边学教育科技有限公司 一种硬件编程系统和方法
CN108924153A (zh) * 2018-07-23 2018-11-30 深圳点猫科技有限公司 一种在图形化编程工具中的云变量操作方法及电子设备

Also Published As

Publication number Publication date
CN110275787A (zh) 2019-09-24

Similar Documents

Publication Publication Date Title
CN110275787B (zh) 在线平台数据传输方法、装置、介质及电子设备
US10976981B2 (en) Remote desktop exporting
US10353718B2 (en) Providing access to a remote application via a web client
KR20200022329A (ko) 응답 시간 확정 방법 및 장치
US8924502B2 (en) System, method and computer program product for updating a user session in a mach-derived system environment
CN110266701B (zh) 智能设备数据传输方法、装置、介质及电子设备
EP2914040B1 (en) Terminal and synchronization control method thereof
CN113784049A (zh) 安卓系统虚拟机的摄像头调用方法、电子设备和存储介质
CN113900754A (zh) 共享桌面方法、装置、计算机设备和存储介质
CN113900834A (zh) 基于物联网技术的数据处理方法、装置、设备及存储介质
CN111444095A (zh) 移动设备的测试平台系统和测试方法
CN108255547B (zh) 一种应用程序控制方法及装置
WO2024061308A1 (zh) 通知处理方法、终端设备、服务端及计算机存储介质
WO2016095449A1 (zh) 一种虚拟桌面的显示方法、终端和存储介质
US10216926B2 (en) Isolation of untrusted code in operating system without isolation capability
US20130198850A1 (en) Securing displayed information
CN112671814B (zh) 一种跨平台的设备开发方法、装置及系统
US10812565B2 (en) Systems and methods to configure metadata
CN113608812B (zh) 远程控制方法、装置、系统及存储介质
CN115348310B (zh) 反向代理方法、装置、系统、电子设备及存储介质
CN111818177B (zh) 基于网络的远程控制显示方法、服务器、客户端及系统
US9942361B2 (en) Reporting page composition data
CN113949684B (zh) 视频传输方法、装置、介质和计算设备
CN117149122A (zh) 同屏互动方法、装置、系统、设备及介质
CN116628379A (zh) 可视化图形生成方法、装置、电子设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20211022