WO2018112719A1 - 设备调用方法、装置、系统和电子设备 - Google Patents

设备调用方法、装置、系统和电子设备 Download PDF

Info

Publication number
WO2018112719A1
WO2018112719A1 PCT/CN2016/110927 CN2016110927W WO2018112719A1 WO 2018112719 A1 WO2018112719 A1 WO 2018112719A1 CN 2016110927 W CN2016110927 W CN 2016110927W WO 2018112719 A1 WO2018112719 A1 WO 2018112719A1
Authority
WO
WIPO (PCT)
Prior art keywords
terminal
callable
calling
operation instruction
communication connection
Prior art date
Application number
PCT/CN2016/110927
Other languages
English (en)
French (fr)
Inventor
王永辉
Original Assignee
深圳前海达闼云端智能科技有限公司
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 深圳前海达闼云端智能科技有限公司 filed Critical 深圳前海达闼云端智能科技有限公司
Priority to CN201680002925.7A priority Critical patent/CN107077393A/zh
Priority to PCT/CN2016/110927 priority patent/WO2018112719A1/zh
Publication of WO2018112719A1 publication Critical patent/WO2018112719A1/zh

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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • 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
    • G06F9/548Object oriented; Remote method invocation [RMI]

Definitions

  • the present application relates to the field of communications technologies, and in particular, to a device calling method, apparatus, system, electronic device, cloud robot system, and program product.
  • the application program running in the operating system in the prior art can call the local device to perform the corresponding operation and obtain the corresponding operation result.
  • the specific scheme of calling the local camera to perform the photographing operation is: the application program calls the camera driver interface in the operating system; The kernel layer of the operating system starts the driver code corresponding to the camera, the driver starts the camera and completes the camera operation, and feeds the photo back to the application.
  • the call of the terminal to the device is usually limited to the locally accessed device, and it is not flexible and convenient to call more types or quantities of devices to implement more functions.
  • the embodiment of the present application proposes a device calling method, a device, an electronic device, and a computer program product, which are mainly used to solve the problem that a terminal-to-device call is restricted to a locally accessed device, and cannot call more types or quantities of devices flexibly and conveniently.
  • an embodiment of the present application provides a device invocation method, where the method includes:
  • the calling terminal establishing a communication connection with the operation terminal; acquiring information of the callable device sent by the operation terminal; and receiving a request sent by the application program to invoke the call request of the callable device, based on Transmitting, by the communication connection with the operation terminal, an operation instruction corresponding to the call request to the operation terminal; and receiving an execution result of the operation instruction fed back by the operation terminal; and feeding back the execution result to the application program .
  • an embodiment of the present application provides a device calling method, where The method includes: transmitting, at an operation terminal, information of the callable device that can be called to the calling terminal based on a communication connection between the operation terminal and the calling terminal; receiving an operation from the calling terminal based on a communication connection with the calling terminal Determining, by the callable device corresponding to the operation instruction, calling a driver of the corresponding callable device to execute the operation instruction; and feeding back an execution result of the operation instruction to the calling terminal.
  • an embodiment of the present application provides a device invoking device, where the device includes:
  • a first connection module configured to establish a communication connection with the operation terminal in the calling terminal; acquire information of the callable device sent by the operation terminal; and invoke a module, configured to receive a request call sent by the application
  • the operation instruction corresponding to the call request is sent to the operation terminal based on the communication connection with the operation terminal
  • the calling module is further configured to receive the feedback from the operation terminal An execution result of the operation instruction; and the execution result is fed back to the application.
  • an embodiment of the present application provides a device invoking device, where the device includes:
  • a second connection module configured to send, at the operation terminal, information of the callable device that can be called to the calling terminal based on a communication connection between the operation terminal and the calling terminal;
  • An operation module configured to receive an operation instruction from the calling terminal based on a communication connection with the calling terminal; determine a callable device corresponding to the operation instruction, and invoke a driver of the corresponding callable device to execute the operation instruction; The execution result of the operation instruction is fed back to the calling terminal.
  • the embodiment of the present application provides a device invoking system, comprising: the device invoking device provided by the third aspect, and the device invoking device provided in the fourth aspect.
  • an embodiment of the present application provides an electronic device, including: a communication device, a memory, one or more processors; and one or more modules Block, the one or more modules being stored in the memory and configured to be executed by the one or more processors, the one or more modules including for performing the first aspect described above The instructions for each step in the method.
  • an embodiment of the present application provides an electronic device, including: a communication device, a memory, one or more processors; and one or more modules, the one or more The modules are stored in the memory and are configured to be executed by the one or more processors, the one or more modules including instructions for performing the various steps of the methods provided by the second aspect above.
  • an embodiment of the present application provides a cloud robot system, where the cloud robot system includes a robot terminal and a cloud server;
  • the cloud server includes: a first communication device, a first memory, one or more first processors; and one or more first modules, the one or more first modules being stored in the first memory And configured to be executed by the one or more first processors, the one or more first modules comprising instructions for performing the steps of the method provided by the first aspect above;
  • the robot terminal includes a second communication device, a second memory, one or more second processors, and one or more second modules, the one or more second modules being stored in the second memory And configured to be executed by the one or more second processors, the one or more second modules comprising instructions for performing the various steps of the method provided by the second aspect above.
  • embodiments of the present application provide a computer program product comprising a computer readable storage medium and a computer program mechanism embedded therein, the computer program mechanism comprising An aspect provides instructions for each step of the method.
  • embodiments of the present application provide a computer program product comprising a computer readable storage medium and a computer program mechanism embedded therein, the computer program mechanism comprising Two aspects of the instructions provided in the various steps of the method.
  • the calling terminal after the calling terminal establishes a connection with other operating terminals, the information of the device that can be called by the calling terminal on the operating terminal can be obtained, and the calling terminal can flexibly and conveniently perform various devices of the operating terminal when needed. Called to achieve more functionality.
  • FIG. 1 is a system architecture diagram of a device invocation method in Embodiment 1 of the present application.
  • FIG. 2 is a schematic flowchart diagram of a device invoking method in Embodiment 1 of the present application;
  • FIG. 3 is a schematic structural diagram of a device invoking system in Embodiment 2 of the present application.
  • FIG. 4 is a schematic structural diagram of a device invoking device in Embodiment 3 of the present application.
  • FIG. 5 is a schematic structural diagram of a device invoking device in Embodiment 4 of the present application.
  • FIG. 6 is a schematic structural diagram of an electronic device in Embodiment 6 of the present application.
  • FIG. 7 is a schematic structural diagram of an electronic device in Embodiment 7 of the present application.
  • the present application provides a device calling method. After the calling terminal establishes a connection with other operating terminals, the device can obtain information about the device that can be called by the calling terminal on the operating terminal, and enable the calling terminal to be flexible when needed. It is convenient to call various devices of the operation terminal to realize more functions.
  • Embodiment 1 is a diagrammatic representation of Embodiment 1:
  • FIG. 1 is a system architecture diagram of a device invocation method according to Embodiment 1 of the present application, including a platform-side terminal as a calling terminal and at least one operation terminal, and the operation terminal has various devices, such as a camera, a motor, or a graphics processor. It can be called by the platform side terminal.
  • the calling terminal can be other than the platform server, and can also call other forms of terminals such as a robot.
  • FIG. 2 is a schematic flowchart of a device invoking method in the first embodiment of the present application. As shown in FIG. 2, the device calling method includes:
  • Step 101 Invoking a terminal to establish a communication connection with the operation terminal;
  • Step 102 In the operation terminal, send, according to the communication connection between the operation terminal and the calling terminal, information of the callable device that can be called to the calling terminal; in the calling terminal, acquire the information sent by the operation terminal Information that can be invoked on the device;
  • Step 103 in the calling terminal, when receiving a request sent by the application to invoke the call request of the callable device, sending an operation instruction corresponding to the call request to the operation based on the communication connection with the operation terminal terminal;
  • Step 104 At an operation terminal, receiving an operation instruction from the calling terminal based on a communication connection with the calling terminal;
  • Step 105 At the operation terminal, determining a callable device corresponding to the operation instruction, and calling a driver of the corresponding callable device to execute the operation instruction;
  • Step 106 The operation terminal feeds back an execution result of the operation instruction to the calling terminal.
  • Step 107 Receive, at the calling terminal, an execution result of the operation instruction fed back by the operation terminal, and feed back the execution result to the application.
  • a communication connection based on various transport protocols is established between the platform-side terminal and one or more operating terminals by using a wired or wireless manner, for example, based on TCP/IP (Transmission Control Protocol/Internet Protocol). / Internet Protocol) established wireless connection.
  • the communication connection may be direct or through a cloud server or It is forwarded by other relay servers; it can be based on the public network, or it can be based on a private network with a higher security level.
  • the platform side terminal calls the terminal.
  • the communication connection is implemented by a communication device of the platform side terminal and a communication device of the operation terminal.
  • the operator terminal is authenticated and a communication connection with the operator terminal is established.
  • the operation terminal may be authenticated according to the identification of the operation terminal, etc., to ensure that only the operation terminal of a specific manufacturer, model or logo is accessed, or the operation terminal may be The security of the communication connection is authenticated.
  • each operation terminal that establishes a communication connection transmits information of the callable device thereon to the platform side terminal.
  • the operation terminal can adopt a virtualization architecture, that is, each operation terminal includes a host operating system (host OS) and one or more guest operating systems (guest OS), and the main operating system runs on the host machine in the main operating system.
  • Running one or more guest virtual machines, ie clients, each running as an application of the main operating system, and the client can emulate a hardware device for the guest operating system running on the client for use by the guest operating system,
  • Various applications can be run in the guest operating system run by each client.
  • hardware devices can be shared between multiple operating systems on each operating terminal.
  • the driver backend of the device in the operation terminal is run at the kernel layer of the main operating system of the operation terminal.
  • the kernel layer of the operating system (not shown) of the operation terminal runs the front end of the drivers of these devices, and the front end of the drivers corresponds to the back end, when receiving the operation instruction of the local client operating system calling the terminal device
  • the operation instructions can be forwarded to the corresponding driver backend for execution.
  • the operation terminal may send some or all of the devices as externally available devices, and send information of the externally callable devices to the platform-side terminal, and the information of the callable device includes the drive information of the callable device.
  • the platform-side terminal acquires information of the invotable device, for example, the driving information of the device, and may run a driver front end matching the driver of the callable device in the platform-side operating system according to the driving information, for example, Driver front end of cameras 1 and 2, and motor
  • the driver backends all correspond to the operation terminal 1 and correspond to the corresponding devices on the operation terminal 1, respectively.
  • the platform-side terminal further establishes a communication connection with other multiple operation terminals, and each operation terminal provides drive information of the callable device thereon, the platform-side terminal can be respectively operated with the operation terminals and the callable device thereon. Corresponding driver front end.
  • the platform-side terminal may not run the corresponding driver front end temporarily, only when the platform-side terminal needs to call some devices, and the callable devices on some operation terminals conform to the call.
  • the driver front end of the callable device that meets the requirements on these operating terminals is operated, and the resources of the platform side terminal can be saved.
  • the driver front end determines the operation terminal corresponding to the driver front end after the application request for calling the device driver interface is requested by the application in the platform side terminal operating system. And sending, according to the communication connection between the platform side terminal and the operation terminal, an operation instruction corresponding to the call request to the operation terminal.
  • the operation instructions may include an operation source, an operation name, an operation object, an operation parameter, and the like.
  • the operation instruction may be encapsulated and sent to a communication device of the platform side terminal, and the communication device is notified to the destination operation terminal corresponding to the operation instruction, so that the communication device can be configured according to a communication protocol.
  • the encapsulated operation instruction is sent to the operation terminal corresponding to the front end of the device driver.
  • the method before the step 103, further includes: authenticating the callable device according to the information of the callable device.
  • the information of the callable device includes drive information of the callable device and/or an identifier of the callable device; the callable device is authenticated according to the information of the callable device.
  • the platform-side terminal may authenticate the callable device according to the driving information of the callable device acquired in step 102, including authenticating according to the driver version of the callable device and the legality of the driver, for example, only the official The callable device of the released driver is a legal device, and only the version of the driver reaches a certain update level to be a device that the platform-side terminal can actually call.
  • the platform-side terminal may authenticate the callable device according to the identifier of the callable device acquired in step 102, and the platform-side terminal may authenticate the device according to whether the identifier of the callable device is in the black/white list, for example, It can be limited to not call some devices that may seriously affect the operation of the operation terminal, or only certain devices can be called.
  • the platform-side terminal may also authenticate the callable device according to the driving information of the callable device acquired in step 102 and the identifier of the callable device.
  • step 104 the operation terminal receives and decapsulates the packaged device operation instruction from the platform side terminal based on the communication connection with the platform side terminal.
  • step 105 since the device operation instruction is forwarded by the platform-side terminal device driver front end, when the operation terminal acquires information such as an operation source, an operation name, an operation object, or an operation parameter of the operation instruction, the operation terminal can obtain the information according to the information. Determining a callable device to be called by the platform side terminal, and then forwarding the operation instruction to a device driver back end corresponding to the operation instruction, to invoke the operation program of the device to be called to execute the operation instruction.
  • the method before the step 105, the method further includes: authenticating the calling terminal, and the operating terminal only executing a legal operation instruction sent by the authenticated calling terminal.
  • the operation terminal may perform authentication on the platform-side terminal that sends the device operation instruction in step 105, including authenticating the identifier of the platform-side terminal or authenticating the security of the connection between the operation terminal and the platform-side terminal.
  • some calling terminals may be defined as legitimate terminals, and the operation instructions sent by the legal terminal are legal operation instructions; and the operation instructions sent only through a secure communication connection, such as a private private network, may be defined as legal operation instructions.
  • the method before the step 105, the method further includes: authenticating the operation instruction, and the operation terminal only executes the authenticated legal operation instruction.
  • the operation terminal may authenticate the device operation instruction of the platform-side terminal received in step 105.
  • the operation instruction may include operation source information indicating a source of the operation instruction in the calling terminal, and the source may be a specific client or a specific application.
  • the platform-side terminal runs the virtualization architecture, some customers in the platform-side terminal can be defined.
  • the operation instructions initiated by the client to the operation terminal are legal instructions. These clients can usually be clients with higher security level on the platform-side terminal or requiring higher privileges; or can limit only certain applications to initiate pointing
  • the operation instruction of the operation terminal, and the operation instruction of the other application program running in the platform side terminal operating system to invoke the device will be an illegal operation instruction.
  • step 106 the device driver backend running in the operation terminal feeds back the execution result of the operation instruction to the platform side terminal of the operation instruction,
  • the execution result may be encapsulated and sent to a communication device of the operation terminal, and the platform-side terminal corresponding to the execution result of the communication device is notified, so that the communication device can be configured according to a communication protocol.
  • the encapsulated execution result is sent to the operation terminal corresponding to the device driver front end.
  • step 107 the device driver front end running in the platform side terminal receives the execution result of the operation instruction fed back by the operation terminal, and feeds back the execution result to the application program in the platform operating system that initiated the operation.
  • the information of the callable device in step 102 includes an identifier of the callable device; in step 103, in the platform side terminal, the call of the callable device is invoked upon receiving a request sent by the application. Determining an identifier of the callable device, and transmitting, according to the communication connection with the operation terminal, an operation instruction corresponding to the call request, and an identifier of the callable device to the operation terminal; The operation terminal receives an operation instruction from the platform side terminal and an identifier of the callable device to be called based on the communication connection with the platform side terminal; and in step 105, determining, according to the identifier of the callable device to be called, a callable device corresponding to the operation instruction, calling the driver of the device to be invoked to execute the operation instruction; in step 106, feeding back an execution result of the operation instruction and an identifier of the callable device to the platform side a terminal; in step 107, receiving, in the platform side terminal, an execution result of the operation instruction fed back by
  • the driving information of these devices may be The same is true, that is, the drivers are the same, and the versions are the same.
  • you need to establish a driver front end for each device you need to identify the devices on the operation terminal through the device identifier.
  • the operation terminal 1 transmits the driving information of the camera to the platform-side terminal, it needs to be simultaneously identified by the camera. The difference is made so that the platform-side terminal respectively runs the driver front end corresponding to the two cameras, that is, the driver front end running on each platform-side terminal has its corresponding operation terminal and the callable device.
  • a driver terminal of the platform-side terminal receives the device call request of the application, it needs to encapsulate the operation command corresponding to the call request and send it to the operation terminal corresponding to the front end of the driver driver. Sending an identifier of the callable device corresponding to the driver front end to the operation terminal.
  • the operation terminal After receiving the operation instruction of the platform side terminal, the operation terminal can forward the decapsulated operation instruction to the corresponding driver back end processing according to the identifier of the platform side terminal to call the terminal, even if the operation terminal has multiple identical devices locally. The operation is performed by the corresponding device according to different terminal identifiers.
  • the identifier of the callable device that executes the operation instruction is also carried, so that the platform side can feed back the operation instruction execution result to the corresponding driver front end according to the identifier of the callable device, and then feed back to the initiating call request. s application.
  • the calling terminal after the calling terminal establishes a connection with other operating terminals, the information of the device that can be called by the calling terminal on the operating terminal can be obtained, and the calling terminal can flexibly and conveniently operate various devices of the operating terminal when needed.
  • the driver backend of the device forwards the operation instruction; the calling terminal added in the embodiment authenticates the operation terminal and the authentication of the callable device on the operation terminal, and the operation terminal authenticates the calling terminal and the operation instruction sent to the calling terminal.
  • the steps make the calling process more secure; in addition, the embodiment also provides a specific calling program on the calling terminal to call the operating terminal of the operating terminal to complete the related operations.
  • Embodiment 2 is a diagrammatic representation of Embodiment 1:
  • FIG. 3 is a schematic structural diagram of a device invoking system in Embodiment 2 of the present application.
  • a system for robots to process graphic images by cooperation includes a plurality of field robots and one or more rear support robots.
  • the on-site robot has the survivability for special environments, and is an image acquisition terminal, which is connected with one or more image acquisition devices, which can perform image acquisition and basic processing in different environments, and has background network connection capability; rear support robot A professional robot such as an image processing expert robot or an image and a surrounding environment can be integrated.
  • the on-site robot and the rear support robot establish a connection to form a network, and the driver front end of the camera on each field robot can be run in the rear support robot.
  • the identity of the on-site robot needs to be authenticated in the foregoing process, and the rear support robot is established after the authentication is passed. Communication with field robots, as well as allowing image transmission or reception operation feedback.
  • the on-site robot can transmit the captured image in real time through the driver back end of the camera to the corresponding camera driver front end in the rear support robot through a high-speed local network communication mechanism, that is, the front-end robot will The image is shared with the rear support robot, as the rear support robot has multiple eyes.
  • the rear support robot can perform unified data processing on the images collected by each robot through the image processing program through the fusion analysis system at the rear. After the fusion analysis of the image processing results, on the one hand, the on-site robot can be unified to perform image acquisition optimization, such as adjustment. Angle, sharpness and acquisition position; on the other hand, the image processing and fusion analysis of the rear support robot can be used to form a complete front situation analysis image, which is sent back to each field robot to obtain real-time topographic map of the field robot. And information such as object annotation.
  • the rear support robot can have a more powerful graphics processor, and if necessary, upload the data to be processed to the cloud intelligent platform, and the cloud intelligent platform can remotely provide the image processing library and the depth analysis algorithm to realize comprehensive analysis and background display. And other functions.
  • the rear support robot can also professionally classify the calculations, that is, different rear support robots access different graphics processors for image processing in different dimensions.
  • a field robot can distribute the collected image data when it needs to perform multi-dimensional processing on the acquired image.
  • To a plurality of rear support robots using the idle computing power of the graphics processor distributed in various local robots to calculate, reduce the cost of the robot team and ensure the robustness and security of the robot team.
  • the rear support robot can also have real-time access by the staff to enhance the cooperation between the staff and the robot. For example, after comprehensively analyzing the images of multiple front-end robots, the confidence level of the next action proposal is less than 90%. Then, the manual confirmation process is started, and after the expert confirms, the feedback is sent to the front-end robot to form a synergy between man and machine.
  • multi-robot cooperation is realized, and images collected by a plurality of image acquisition devices of a plurality of robot terminals can be aggregated and concentrated by a robot to perform a specific operation and then the operation results are distributed to form a true cooperation, which can realize, for example, terrain.
  • Robot computing pressure is realized, and images collected by a plurality of image acquisition devices of a plurality of robot terminals can be aggregated and concentrated by a robot to perform a specific operation and then the operation results are distributed to form a true cooperation, which can realize, for example, terrain.
  • images collected by on-site robots can also be distributed to multiple rear support robots, and image data can be analyzed and aggregated by multiple graphics processors
  • Embodiment 3 is a diagrammatic representation of Embodiment 3
  • FIG. 4 is a schematic structural diagram of a device invoking device 300 in the third embodiment of the present application. As shown in the figure, the device 300 includes:
  • the first connection module 301 is configured to establish, in the calling terminal, a communication connection with the operation terminal, and acquire information about the callable device sent by the operation terminal;
  • the calling module 302 is configured to send, according to the communication connection with the operation terminal, an operation instruction corresponding to the call request to the operation terminal when receiving a request sent by the application to invoke the call request of the callable device;
  • the calling module 302 is further configured to receive an execution result of the operation instruction fed back by the operation terminal, and feed back the execution result to the application.
  • the establishing a communication connection with the operation terminal includes:
  • the operation terminal is authenticated and a communication connection with the operation terminal is established.
  • the calling module 302 is further configured to: when the request sent by the application is invoked to invoke the call request of the callable device, the call is based on the communication connection with the operation terminal. Before the corresponding operation instruction is sent to the operation terminal, the callable device is authenticated according to the information of the callable device, and the information of the callable device includes an identifier of the callable device and/or a driver of the callable device. information.
  • the information of the callable device includes an identifier of the callable device
  • the calling module 302 is specifically configured to: when receiving a request sent by the application to invoke the call request of the callable device, determine an identifier of the callable device, and the call is based on the communication connection with the operation terminal. Requesting a corresponding operation instruction, and an identifier of the callable device is sent to the operation terminal;
  • the callable device is an image acquisition device or a graphics processor.
  • Embodiment 4 is a diagrammatic representation of Embodiment 4:
  • FIG. 5 is a schematic structural diagram of a device invoking device 400 in Embodiment 4 of the present application. As shown in the figure, the device 400 includes:
  • the second connection module 401 is configured to send, at the operation terminal, information of the callable device that can be called to the calling terminal based on the communication connection between the operation terminal and the calling terminal;
  • the operation module 402 is configured to receive an operation instruction from the calling terminal based on a communication connection with the calling terminal, determine a callable device corresponding to the operation instruction, and invoke a driver of the corresponding callable device to execute the operation instruction; The execution result of the operation instruction is fed back to the calling terminal.
  • the calling module is further configured to: determine the pair of operation instructions The callable device, the driver that invokes the corresponding callable device, before the execution of the operation instruction, authenticates the calling terminal, and/or authenticates the operation instruction.
  • the information of the callable device includes an identification of the callable device and/or drive information of the callable device.
  • the operation module 402 is specifically configured to receive, according to a communication connection with the calling terminal, an operation instruction from the calling terminal, and an identifier of the callable device to be called;
  • the callable device is an image acquisition device or a graphics processor.
  • Embodiment 5 is a diagrammatic representation of Embodiment 5:
  • the device invoking system is also provided in the embodiment of the present application. Since the principle of solving the problem is similar to the device calling method and device, the implementation of the system can refer to the implementation of the method and the device, and the repetition is no longer Narration.
  • the device invoking system of this embodiment includes the devices as described in the above third embodiment and the fourth embodiment.
  • the electronic device 600 includes: a communication device 601, a memory 602, one or more processors 603; and one or more modules, the one or more modules being stored in the memory, And being configured to be executed by the one or more processors, the one or more modules comprising instructions for performing the various steps performed by the calling terminal in any of the above methods.
  • the electronic device 700 includes: a communication device 701, a callable device 702, a memory 703, one or more processors 704; and one or more modules, the one or more modules being stored in The memory is configured and executed by the one or more processors, the one or more modules including instructions for performing the various steps performed at the operating terminal of any of the above methods.
  • a cloud robot system is also provided in the embodiment of the present application. Since the principle is similar to the device calling method, the implementation of the method can be referred to the implementation of the method, and the repeated description is not repeated.
  • the cloud robot system includes one or more robot terminals and a cloud server;
  • the cloud server includes: a first communication device, a first memory, one or more first processors; and one or more first modules, the one or more first modules being stored in the first memory And configured to be executed by the one or more first processors, the one or more first modules comprising instructions for performing the various steps performed by the calling terminal in any of the above methods.
  • the robot terminal includes a second communication device, a second memory, one or more second processors, and one or more second modules, the one or more second modules being stored in the second memory And configured to be executed by the one or more second processors, the one or more second modules comprising instructions for performing the various steps performed at the operating terminal of any of the above methods.
  • the embodiment of the present application further provides a computer program product. Since the principle is similar to the device calling method, the implementation of the method may refer to the implementation of the method, and the repeated description is not repeated.
  • the computer program product comprises a computer readable storage medium and a computer program mechanism embodied therein, the computer program mechanism comprising instructions for performing the various steps of any of the foregoing methods.
  • embodiments of the present application can be provided as a method, system, or computer program product.
  • the present application can take the form of a full device embodiment, an entirely software embodiment, or an embodiment in combination with software and device.
  • the application can take the form of a computer program product embodied on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) including computer usable program code.
  • the computer program instructions can also be stored in a computer readable memory that can direct a computer or other programmable data processing device to operate in a particular manner, such that the instructions stored in the computer readable memory produce an article of manufacture comprising the instruction device.
  • the apparatus implements the functions specified in one or more blocks of a flow or a flow and/or block diagram of the flowchart.
  • These computer program instructions can also be loaded onto a computer or other programmable data processing device such that a series of operational steps are performed on a computer or other programmable device to produce computer-implemented processing for execution on a computer or other programmable device.
  • the instructions provide steps for implementing the functions specified in one or more of the flow or in a block or blocks of a flow diagram.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Telephonic Communication Services (AREA)

Abstract

一种设备调用方法、装置、系统、电子设备、云端机器人系统和程序产品,所述方法包括:在调用终端中,建立与操作终端的通信连接;获取所述操作终端发送的其上的可调用设备的信息;在接收到应用程序发送的请求调用所述可调用设备的调用请求时,基于所述与操作终端的通信连接将所述调用请求对应的操作指令发送至所述操作终端;以及,接收所述操作终端反馈的所述操作指令的执行结果;将所述执行结果反馈所述应用程序。该方法在调用终端与其他操作终端建立连接后,可获取操作终端上可被调用终端调用的设备的信息,并在需要时使调用终端能够灵活、方便的对操作终端的各种设备进行调用,以实现更多功能。

Description

设备调用方法、装置、系统和电子设备 技术领域
本申请涉及通信技术领域,特别涉及设备调用方法、装置、系统、电子设备、云端机器人系统和程序产品。
背景技术
现有技术中操作系统运行的应用程序能够调用本地设备执行相应操作并获得相应操作结果,以摄像头为例,调用本地摄像头执行拍照操作的具体方案为:应用程序调用操作系统中摄像头驱动程序接口;操作系统kernel层启动摄像头对应的驱动程序代码,驱动程序启动摄像头并完成拍照操作,并将照片反馈应用程序。
现有技术中终端对设备的调用通常受限于本地接入的设备,不能灵活、方便的调用更多种类或数量的设备实现更多功能。
发明内容
本申请实施例提出了设备调用方法、装置、电子设备和计算机程序产品,主要用以解决终端对设备的调用受限于本地接入的设备,不能灵活、方便的调用更多种类或数量的设备以实现更多功能的技术问题。
在一个方面,本申请实施例提供了一种设备调用方法,其特征在于,所述方法包括:
在调用终端中,建立与操作终端的通信连接;获取所述操作终端发送的其上的可调用设备的信息;在接收到应用程序发送的请求调用所述可调用设备的调用请求时,基于所述与操作终端的通信连接将所述调用请求对应的操作指令发送至所述操作终端;以及,接收所述操作终端反馈的所述操作指令的执行结果;将所述执行结果反馈所述应用程序。
在另一个方面,本申请实施例提供了一种设备调用方法,其特征在于, 所述方法包括:在操作终端,基于所述操作终端与调用终端的通信连接向所述调用终端发送可供调用的可调用设备的信息;基于与调用终端的通信连接,接收来自调用终端的操作指令;确定所述操作指令对应的可调用设备,调用所述对应的可调用设备的驱动程序执行所述操作指令;将所述操作指令的执行结果反馈至所述调用终端。
在另一个方面,本申请实施例提供了一种设备调用装置,其特征在于,所述装置包括:
第一连接模块,用于在调用终端中,建立与操作终端的通信连接;获取所述操作终端发送的其上的可调用设备的信息;调用模块,用于在接收到应用程序发送的请求调用所述可调用设备的调用请求时,基于所述与操作终端的通信连接将所述调用请求对应的操作指令发送至所述操作终端;所述调用模块还用于,接收所述操作终端反馈的所述操作指令的执行结果;将所述执行结果反馈所述应用程序。
在另一个方面,本申请实施例提供了一种设备调用装置,其特征在于,所述装置包括:
第二连接模块,用于在操作终端,基于所述操作终端与调用终端的通信连接向所述调用终端发送可供调用的可调用设备的信息;
操作模块,用于基于与调用终端的通信连接,接收来自调用终端的操作指令;确定所述操作指令对应的可调用设备,调用所述对应的可调用设备的驱动程序执行所述操作指令;将所述操作指令的执行结果反馈至所述调用终端。
在另一个方面,本申请实施例提供了一种设备调用系统,其特征在于,所述系统包括:上述第三方面提供的设备调用装置和上述第四方面提供的设备调用装置。
在另一个方面,本申请实施例提供了一种电子设备,其特征在于,所述电子设备包括:通信设备,存储器,一个或多个处理器;以及一个或多个模 块,所述一个或多个模块被存储在所述存储器中,并被配置成由所述一个或多个处理器执行,所述一个或多个模块包括用于执行上述第一个方面提供的方法中各个步骤的指令。
在另一个方面,本申请实施例提供了一种电子设备,其特征在于,所述电子设备包括:通信设备,存储器,一个或多个处理器;以及一个或多个模块,所述一个或多个模块被存储在所述存储器中,并被配置成由所述一个或多个处理器执行,所述一个或多个模块包括用于执行上述第二个方面提供的方法中各个步骤的指令。
在另一个方面,本申请实施例提供了一种云端机器人系统,其特征在于,所述云端机器人系统包括机器人终端和云服务器;
所述云服务器包括,第一通信设备,第一存储器,一个或多个第一处理器;以及一个或多个第一模块,所述一个或多个第一模块被存储在所述第一存储器中,并被配置成由所述一个或多个第一处理器执行,所述一个或多个第一模块包括用于执行上述第一个方面提供的方法中各个步骤的指令;
所述机器人终端包括,第二通信设备,第二存储器,一个或多个第二处理器;以及一个或多个第二模块,所述一个或多个第二模块被存储在所述第二存储器中,并被配置成由所述一个或多个第二处理器执行,所述一个或多个第二模块包括用于执行上述第二个方面提供的方法中各个步骤的指令。
在另一个方面,本申请实施例提供了一种计算机程序产品,所述计算机程序产品包括计算机可读的存储介质和内嵌于其中的计算机程序机制,所述计算机程序机制包括用于执行上述第一个方面提供的方法中各个步骤的指令。
在另一个方面,本申请实施例提供了一种计算机程序产品,所述计算机程序产品包括计算机可读的存储介质和内嵌于其中的计算机程序机制,所述计算机程序机制包括用于执行上述第二个方面提供的方法中各个步骤的指令。
本申请的有益效果如下:
本申请中,在调用终端与其他操作终端建立连接后,可获取操作终端上可被调用终端调用的设备的信息,并在需要时使调用终端能够灵活、方便的对操作终端的各种设备进行调用,以实现更多功能。
附图说明
下面将参照附图描述本申请的具体实施例,其中:
图1示出了本申请实施例一中设备调用方法适用的系统架构图;
图2示出了本申请实施例一中设备调用方法的流程示意图;
图3示出了本申请实施例二中设备调用系统的结构示意图;
图4示出了本申请实施例三中设备调用装置的结构示意图;
图5示出了本申请实施例四中设备调用装置的结构示意图;
图6示出了本申请实施例六中电子设备的结构示意图;
图7示出了本申请实施例七中电子设备的结构示意图。
具体实施方式
为了使本申请的技术方案及优点更加清楚明白,以下结合附图对本申请的示例性实施例进行进一步详细的说明,显然,所描述的实施例仅是本申请的一部分实施例,而不是所有实施例的穷举。并且在不冲突的情况下,本说明中的实施例及实施例中的特征可以互相结合。
发明人在发明过程中注意到:现有技术中终端对设备的调用通常受限于本地接入的设备,不能灵活、方便的调用更多种类或数量的设备实现更多功能
针对上述不足,本申请提供了一种设备调用方法,在调用终端与其他操作终端建立连接后,可获取操作终端上可被调用终端调用的设备的信息,并在需要时使调用终端能够灵活、方便的对操作终端的各种设备进行调用,以实现更多功能。
为了便于本申请的实施,下面以实例进行说明。
实施例一:
图1示出了本申请实施例一中设备调用方法适用的系统架构图,包括一个平台侧终端作为调用终端以及至少一个操作终端,操作终端具有各种设备,如摄像头、马达或者图形处理器等可供平台侧终端调用,实际实施过程中,调用终端除可以是平台服务器外,还可以是调用机器人等其他形式的终端。
图2示出了本申请实施例一中设备调用方法流程示意图,如图2所示,所述设备调用方法包括:
步骤101,调用终端建立与操作终端的通信连接;
步骤102,在操作终端中,基于所述操作终端与调用终端的通信连接向所述调用终端发送可供调用的可调用设备的信息;在调用终端中,获取所述操作终端发送的其上的可调用设备的信息;
步骤103,在调用终端中,在接收到应用程序发送的请求调用所述可调用设备的调用请求时,基于所述与操作终端的通信连接将所述调用请求对应的操作指令发送至所述操作终端;
步骤104,在操作终端,基于与调用终端的通信连接,接收来自调用终端的操作指令;
步骤105,在操作终端,确定所述操作指令对应的可调用设备,调用所述对应的可调用设备的驱动程序执行所述操作指令;
步骤106,操作终端将所述操作指令的执行结果反馈至所述调用终端;
步骤107,在调用终端,接收所述操作终端反馈的所述操作指令的执行结果;将所述执行结果反馈所述应用程序。
在步骤101中,在平台侧终端与一个或者多个操作终端间,通过有线或者无线方式建立基于各种传输协议实现的通信连接,例如基于TCP/IP(Transmission Control Protocol/Internet Protocol,传输控制协议/网际协议)建立的无线连接。所述通信连接可以是直接的,也可以是通过云端服务器或 者其他中继服务器转发的;可以是基于公网的,也可以是基于安全级别更高的专网的。所述平台侧终端即调用终端。具体的,通信连接由平台侧终端的通信设备实现和操作终端的通信设备实现。
在一些实施方式中,对所述操作终端进行认证,并建立与所述操作终端的通信连接。
在平台侧终端建立与操作终端的通信连接的过程中,可以根据操作终端的标识等对操作终端进行认证,确保仅接入特定厂商、型号或者标识的操作终端,或者也可以对与操作终端的通信连接的安全性进行认证。
在步骤102中,建立了通信连接的各操作终端将其上可调用设备的信息发送给平台侧终端。操作终端可以均采用虚拟化架构,即每个操作终端中包括一个主操作系统(host OS),以及一个或者多个客户操作系统(guest OS),主操作系统运行于宿主机,在主操作系统上运行一个或者多个客户虚拟机,即客户机,各客户机作为主操作系统的应用程序运行,客户机可以为运行于该客户机上的客户操作系统模拟硬件设备以供客户操作系统使用,在各客户机运行的客户操作系统中可运行各种应用程序。基于虚拟化系统架构,每个操作终端上的多个操作系统之间可共享硬件设备。在操作终端的主操作系统内核层运行了操作终端中设备的驱动程序后端,例如摄像头1和2的驱动程序后端,或者马达驱动程序的后端。在操作终端的客户操作系统(图中未示出)内核层运行了这些设备的驱动程序的前端,这些驱动程序的前端与后端相应,当收到本地客户操作系统调用终端设备的操作指令时,可将操作指令转发至相应的驱动程序后端,进而执行。操作终端可将其上部分或者全部设备作为可供外部调用的设备,将这些可供外部调用的设备的信息发送至平台侧终端,所述可调用设备的信息包括可调用设备的驱动信息。
在步骤103中,平台侧终端获取可调用设备的信息,例如设备的驱动信息后,可根据该驱动信息在平台侧操作系统中运行与所述可调用设备的驱动程序匹配的驱动程序前端,例如摄像头1和2的驱动程序前端,以及马达的 驱动程序后端均与操作终端1向对应,并且分别与操作终端1上相应的设备对应。当平台侧终端还与其他多个操作终端建立了通信连接,并且各操作终端提供了其上可调用设备的驱动信息时,可在平台侧终端运行分别与这些操作终端以及其上可调用设备相对应的驱动程序前端。
当获取各操作终端上可调用设备的信息后,平台侧终端可暂不运行相应的驱动程序前端,仅在当平台侧终端需要调用某些设备,并且某些操作终端上的可调用设备符合调用需求时,才运行这些操作终端上满足需求的可调用设备的驱动程序前端,能够节约平台侧终端的资源。
在平台侧终端运行了某些设备的驱动程序前端之后,驱动程序前端在监测到平台侧终端操作系统中应用程序请求调用设备驱动程序接口的调用请求后,确定驱动程序前端自身对应的操作终端,并基于所述平台侧终端与该操作终端的通信连接,将所述调用请求对应的操作指令发送至所述操作终端。所述操作指令可以包括操作来源,操作名称、操作对象和操作参数等。
具体的,可将所述操作指令进行封装,并发送至平台侧终端的通信设备,并告知所述通信设备所述操作指令对应的目的操作终端,以使所述通信设备能够根据通信协议将所述封装后的操作指令发送至所述设备驱动程序前端对应的操作终端。
在一些实施方式中,在所述步骤103之前,还包括:根据所述可调用设备的信息对所述可调用设备进行认证。所述可调用设备的信息包括可调用设备的驱动信息和/或者可调用设备的标识;根据所述可调用设备的信息对所述可调用设备进行认证。
平台侧终端可以根据步骤102中获取的可调用设备的驱动信息对所述可调用设备进行认证,包括根据可调用设备的驱动程序版本、驱动程序的合法性进行认证,例如,可限定只有采用官方发布的驱动程序的可调用设备才为合法设备,并且只有驱动程序的版本达到一定更新程度才为平台侧终端真正能够调用的设备。
平台侧终端可以根据步骤102中获取的可调用设备的标识对所述可调用设备进行认证,平台侧终端可以根据所述可调用设备的标识是否在黑/白名单中对设备进行认证,例如,可限定对一些可能会严重影响操作终端运行的设备不进行调用,或者仅限定可以调用某些设备。
平台侧终端也可以根据步骤102中同时获取的可调用设备的驱动信息和可调用设备的标识对所述可调用设备进行认证。
在步骤104中,操作终端基于与平台侧终端的通信连接接收来自平台侧终端的已封装的设备操作指令,并对其解封装。
在步骤105中,因为所述设备操作指令是平台侧终端设备驱动程序前端转发的,因此当操作终端获取了操作指令的操作来源、操作名称、操作对象或者操作参数等信息后,能够根据这些信息确定平台侧终端欲调用的可调用设备,进而将所述操作指令转发至该操作指令对应的设备驱动程序后端,以调用所述欲调用设备的驱动程序执行所述操作指令。
在一些实施方式中,在所述步骤105之前,还包括对所述调用终端进行认证,操作终端仅执行经认证的调用终端发送的合法操作指令。
操作终端可以对步骤105中发送设备操作指令的平台侧终端进行认证,包括对平台侧终端的标识进行认证或者对操作终端与所述平台侧终端间的连接的安全性进行认证。例如,可限定一些调用终端为合法终端,合法终端发送的操作指令为合法的操作指令;也可限定仅有通过安全的通信连接,如私有专网发送的操作指令才为合法的操作指令。
在一些实施方式中,在所述步骤105之前,还包括对所述操作指令进行认证,操作终端仅执行经认证的合法操作指令。
操作终端可以对步骤105中接收到的平台侧终端的设备操作指令进行认证。操作指令中可以包括操作来源信息,所述操作来源信息指示了所述操作指令在调用终端中的来源,所述来源可以是特定的客户机或者特定的应用程序。例如当平台侧终端运行了虚拟化架构时,可以限定平台侧终端中某些客 户机发起的指向操作终端的操作指令为合法指令,这些客户机通常可以是平台侧终端上安全级别更高,或者需要更高权限的客户机;或者可以限定仅有某些应用程序可以发起指向操作终端的操作指令,平台侧终端操作系统中运行的其他应用程序调用设备的操作指令将为非法的操作指令。
在步骤106中,操作终端中运行的设备驱动程序后端将所述操作指令的执行结果反馈发送所述操作指令的平台侧终端,
具体的,可将所述执行结果进行封装,并发送至操作终端的通信设备,并告知所述通信设备所述执行结果对应的平台侧终端,以使所述通信设备能够根据通信协议将所述封装后的执行结果发送至所述设备驱动程序前端对应的操作终端。
在步骤107中,平台侧终端中运行的设备驱动程序前端接收所述操作终端反馈的所述操作指令的执行结果,将所述执行结果反馈发起该操作的平台操作系统中的应用程序。
在一些实施方式中,步骤102中所述可调用设备的信息包括可调用设备的标识;在步骤103中,在平台侧终端中,在接收到应用程序发送的请求调用所述可调用设备的调用请求时,确定所述可调用设备的标识,基于所述与操作终端的通信连接将所述调用请求对应的操作指令,以及所述可调用设备的标识发送至所述操作终端;在步骤104中,操作终端基于与平台侧终端的通信连接,接收来自平台侧终端的操作指令,和欲调用的可调用设备的标识;在步骤105中,根据所述欲调用的可调用设备的标识确定所述操作指令对应的可调用设备,调用所述欲调用设备的驱动程序执行所述操作指令;在步骤106中,将所述操作指令的执行结果和所述可调用设备的标识反馈至所述平台侧终端;在步骤107中,在平台侧终端中,接收所述操作终端反馈的所述操作指令的执行结果,以及所述执行结果对应的可调用设备的标识;根据所述可调用设备的标识将所述执行结果反馈所述应用程序。
当同一个操作终端上运行了多个相同设备时,这些设备的驱动信息可能 是相同的,即驱动程序相同,版本也相同,此时如需要分别对应个设备建立驱动程序前端则需要通过设备标识对操作终端上的设备进行识别。例如,操作终端1中有两个摄像头,摄像头1和2,这两个摄像头均为可调用设备,则操作终端1在将摄像头的驱动信息发送至平台侧终端时,需要同时以摄像头标识对其进行区分,以便平台侧终端分别运行与这两个摄像头对应的驱动程序前端,即每个平台侧终端运行的驱动程序前端有其对应的操作终端和可调用设备。在此基础上,当平台侧终端的某个驱动程序前端接收到应用程序的设备调用请求时,除需要将调用请求对应的操作指令封装后发送给改驱动程序前端对应的操作终端外,还需要向所述操作终端发送该驱动程序前端对应的可调用设备的标识。操作终端在接收到平台侧终端的操作指令后能够根据平台侧终端欲调用终端的标识将解封装的操作指令转发至相应的驱动程序后端处理,即便操作终端本地有多个相同的设备也能够根据不同的终端标识由对应的设备执行操作。在操作终端反馈执行结果时,同样携带执行所述操作指令的可调用设备的标识,以便平台侧可根据可调用设备的标识将操作指令执行结果反馈给对应的驱动程序前端进而反馈给发起调用请求的应用程序。
本实施例中,在调用终端与其他操作终端建立连接后,可获取操作终端上可被调用终端调用的设备的信息,并在需要时使调用终端能够灵活、方便的对操作终端的各种设备进行调用,以实现更多功能。引入可调用设备的标识,使调用终端中各驱动程序前端能够根据其对应的可调用设备的标识确定其对应的操作终端和操作终端上的可调用设备,以便向多个操作终端的各可调用设备的驱动程序后端转发操作指令;本实施例中加入的调用终端对操作终端的认证和对操作终端上可调用设备的认证,以及操作终端对调用终端和对调用终端发送的操作指令进行认证的步骤使调用过程更加安全;此外本实施例还给出了具体的调用终端上应用程序调用操作终端的可调用设备完成相关操作的方案。
实施例二:
图3示出了本申请实施例二中设备调用系统的结构示意图。实施例二中提供一种机器人通过协作对图形图像进行处理的系统,包括多个现场机器人和一个或者多个后方支援机器人。其中现场机器人具有针对特殊环境的生存能力,为图像采集终端,其上连接了一个或者多个图像采集设备,可在不同环境下进行图像采集和基础处理,并具有后台网络连接能力;后方支援机器人可为图像处理专家机器人或者图像与周围环境综合处理机器人等专业性机器人。现场机器人和后方支援机器人建立连接形成组网,在后方支援机器人内可运行各现场机器人上摄像头的驱动程序前端,同时前述过程中需要对现场机器人的身份进行认证,认证通过后才建立后方支援机器人与现场机器人间的通信,以及允许图像传输或接收操作反馈。
机器人协作进行图像处理的过程中,现场机器人可通过高速的本地网络通信机制,将采集的图像实时通过摄像头的驱动程序后端传输给后方支援机器人中对应的摄像头驱动程序前端,即前端机器人将其图像共享给了后方支援机器人,如同后方支援机器人具备多只眼睛。
后方支援机器人可以通过后方的融合分析系统对各机器人采集的图像通过图像处理程序进行统一数据处理,对图像处理结果进行融合分析后,一方面可统一指挥各现场机器人进行图像采集的优化,例如调整角度,清晰度和采集位置等;另一方面也可以通过后方支援机器人对图像的处理和融合分析,形成一套完整的前方态势分析图像,回送给各现场机器人,使现场机器人获得实时的地形图和物体标注等信息。后方支援机器人可具有功能更强的图形处理器,在必要时还可将需要处理的数据上传云端智能平台,所述云端智能平台能够远程提供图像处理库及深度分析算法,实现综合分析及后台展示等功能。
后方支援机器人还可以对运算进行专业化分类,即不同的后方支援机器人接入了不同的图形处理器,用于不同维度的图像处理工作。一个现场机器人在需要对采集到的图像进行多维度处理时,可以将采集到的图像数据分发 至多个后方支援机器人,利用分布在各地的专业机器人的图形处理器的空闲运算能力进行运算,降低机器人团队的成本并保证机器人团队的鲁棒性和安全性。后方支援机器人还可以有工作人员的实时接入,增强工作人员与机器人的协作,例如在对多个前端机器人的图像进行综合分析后,形成的下一步动作建议的自信程度达不到90%以上,则启动后方人工确认程序,后方专家确认后,反馈给前端机器人执行,形成人机结合的协同。
本实施例中实现了多机器人协作,能够将多个机器人终端的多个图像采集设备采集的图像汇总并集中由一个机器人进行特定运算然后将运算结果分发,形成真正的协作,可实现如地形的实时生成和融合,基于图像的态势分析及后续运动判定等多种功能;也可以将现场机器人采集的图像分发至多个后方支援机器人,由多个图形处理器对图像数据进行分析后汇总,降低现场机器人运算压力。
实施例三:
基于同一发明构思,本申请实施例中还提供了一种设备调用装置300,由于这些装置解决问题的原理与设备调用方法相似,因此这些装置的实施可以参见方法的实施,重复之处不再赘述。图4示出了本申请实施例三中设备调用装置300的结构示意图,如图所示,所述装置300包括:
第一连接模块301,用于在调用终端中,建立与操作终端的通信连接;获取所述操作终端发送的其上的可调用设备的信息;
调用模块302,用于在接收到应用程序发送的请求调用所述可调用设备的调用请求时,基于所述与操作终端的通信连接将所述调用请求对应的操作指令发送至所述操作终端;
所述调用模块302还用于,接收所述操作终端反馈的所述操作指令的执行结果;将所述执行结果反馈所述应用程序。
在一些实施方式中,所述建立与操作终端的通信连接,包括:
对所述操作终端进行认证,并建立与所述操作终端的通信连接。
在一些实施方式中,所述调用模块302还用于,在所述在接收到应用程序发送的请求调用所述可调用设备的调用请求时,基于所述与操作终端的通信连接将所述调用请求对应的操作指令发送至所述操作终端之前,根据所述可调用设备的信息对所述可调用设备进行认证,述可调用设备的信息包括可调用设备的标识和/或者可调用设备的驱动信息。
在一些实施方式中,所述可调用设备的信息包括可调用设备的标识;
所述调用模块302具体用于,在接收到应用程序发送的请求调用所述可调用设备的调用请求时,确定所述可调用设备的标识,基于所述与操作终端的通信连接将所述调用请求对应的操作指令,以及所述可调用设备的标识发送至所述操作终端;
以及,接收所述操作终端反馈的所述操作指令的执行结果,以及所述执行结果对应的可调用设备的标识;根据所述可调用设备的标识将所述执行结果反馈所述应用程序。
在一些实施方式中,所述可调用设备为图像采集设备或者图形处理器。
实施例四:
基于同一发明构思,本申请实施例中还提供了一种设备调用装置400,由于这些装置解决问题的原理与设备调用方法相似,因此这些装置的实施可以参见方法的实施,重复之处不再赘述。图5示出了本申请实施例四中设备调用装置400的结构示意图,如图所示,所述装置400包括:
第二连接模块401,用于在操作终端,基于所述操作终端与调用终端的通信连接向所述调用终端发送可供调用的可调用设备的信息;
操作模块402,用于基于与调用终端的通信连接,接收来自调用终端的操作指令;确定所述操作指令对应的可调用设备,调用所述对应的可调用设备的驱动程序执行所述操作指令;将所述操作指令的执行结果反馈至所述调用终端。
在一些实施方式中,所述调用模块还用于,在所述确定所述操作指令对 应的可调用设备,调用所述对应的可调用设备的驱动程序执行所述操作指令之前,对所述调用终端进行认证,和/或者对所述操作指令进行认证。
在一些实施方式中,所述可调用设备的信息包括可调用设备的标识和/或者可调用设备的驱动信息。
在一些实施方式中,所述操作模块402具体用于,基于与调用终端的通信连接,接收来自调用终端的操作指令,和欲调用的可调用设备的标识;
根据所述欲调用的可调用设备的标识确定所述操作指令对应的可调用设备,调用所述欲调用设备的驱动程序执行所述操作指令;
将所述操作指令的执行结果和所述可调用设备的标识反馈至所述调用终端。
在一些实施方式中,所述可调用设备为图像采集设备或者图形处理器。
实施例五:
基于同一发明构思,本申请实施例中还提供了设备调用系统,由于该系统解决问题的原理与设备调用方法和装置相似,因此该系统的实施可以参见方法和装置的实施,重复之处不再赘述。
本实施例的设备调用系统中包括如上述实施例三和实施例四中所述的装置。
实施例六:
基于同一发明构思,本申请实施例中还提供了一种电子设备,由于其原理与设备调用方法相似,因此其实施可以参见方法的实施,重复之处不再赘述。如图6所示,所述电子设备600包括:通信设备601,存储器602,一个或多个处理器603;以及一个或多个模块,所述一个或多个模块被存储在所述存储器中,并被配置成由所述一个或多个处理器执行,所述一个或多个模块包括用于执行任一上述方法中在调用终端执行的各个步骤的指令。
实施例七:
基于同一发明构思,本申请实施例中还提供了一种电子设备,由于其原 理与设备调用方法相似,因此其实施可以参见方法的实施,重复之处不再赘述。如图7所示,所述电子设备700包括:通信设备701,可调用设备702,存储器703,一个或多个处理器704;以及一个或多个模块,所述一个或多个模块被存储在所述存储器中,并被配置成由所述一个或多个处理器执行,所述一个或多个模块包括用于执行任一上述方法中在操作终端执行的各个步骤的指令。
实施例八:
基于同一发明构思,本申请实施例中还提供了一种云端机器人系统,由于其原理与设备调用方法相似,因此其实施可以参见方法的实施,重复之处不再赘述。所述云端机器人系统包括一个或者多个机器人终端和云服务器;
所述云服务器包括,第一通信设备,第一存储器,一个或多个第一处理器;以及一个或多个第一模块,所述一个或多个第一模块被存储在所述第一存储器中,并被配置成由所述一个或多个第一处理器执行,所述一个或多个第一模块包括用于执行任一上述方法中在调用终端执行的各个步骤的指令。
所述机器人终端包括,第二通信设备,第二存储器,一个或多个第二处理器;以及一个或多个第二模块,所述一个或多个第二模块被存储在所述第二存储器中,并被配置成由所述一个或多个第二处理器执行,所述一个或多个第二模块包括用于执行任一上述方法中在操作终端执行的各个步骤的指令。
实施例九:
基于同一发明构思,本申请实施例还提供了计算机程序产品,由于其原理与设备调用方法相似,因此其实施可以参见方法的实施,重复之处不再赘述。所述计算机程序产品包括计算机可读的存储介质和内嵌于其中的计算机程序机制,所述计算机程序机制包括用于执行任一前述方法中各个步骤的指令。
为了描述的方便,以上所述装置的各部分以功能分为各种模块分别描述。 当然,在实施本申请时可以把各模块或单元的功能在同一个或多个软件或设备中实现。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全设备实施例、完全软件实施例、或结合软件和设备方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权 利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。

Claims (26)

  1. 一种设备调用方法,其特征在于,所述方法包括:
    在调用终端中,建立与操作终端的通信连接;
    获取所述操作终端发送的其上的可调用设备的信息;
    在接收到应用程序发送的请求调用所述可调用设备的调用请求时,基于所述与操作终端的通信连接将所述调用请求对应的操作指令发送至所述操作终端;
    以及,
    接收所述操作终端反馈的所述操作指令的执行结果;
    将所述执行结果反馈所述应用程序。
  2. 如权利要求1所述的方法,其特征在于,所述建立与操作终端的通信连接,包括:
    对所述操作终端进行认证,并建立与所述操作终端的通信连接。
  3. 如权利要求1所述的方法,其特征在于,在所述在接收到应用程序发送的请求调用所述可调用设备的调用请求时,基于所述与操作终端的通信连接将所述调用请求对应的操作指令发送至所述操作终端之前,还包括:
    根据所述可调用设备的信息对所述可调用设备进行认证,所述可调用设备的信息包括可调用设备的标识和/或者可调用设备的驱动信息。
  4. 如权利要求1所述的方法,其特征在于,所述可调用设备的信息包括可调用设备的标识;
    所述在接收到应用程序发送的请求调用所述可调用设备的调用请求时,基于所述与操作终端的通信连接将所述调用请求对应的操作指令发送至所述操作终端,包括:
    在接收到应用程序发送的请求调用所述可调用设备的调用请求时,确定 所述可调用设备的标识,基于所述与操作终端的通信连接将所述调用请求对应的操作指令,以及所述可调用设备的标识发送至所述操作终端;
    以及,
    所述接收所述操作终端反馈的所述操作指令的执行结果,包括:
    接收所述操作终端反馈的所述操作指令的执行结果,以及所述执行结果对应的可调用设备的标识;
    所述将所述执行结果反馈所述应用程序,包括:
    根据所述可调用设备的标识将所述执行结果反馈所述应用程序。
  5. 如权利要求1所述的方法,其特征在于,所述可调用设备为图像采集设备或者图形处理器。
  6. 一种设备调用方法,其特征在于,所述方法包括:
    在操作终端,基于所述操作终端与调用终端的通信连接向所述调用终端发送可供调用的可调用设备的信息;
    基于与调用终端的通信连接,接收来自调用终端的操作指令;
    确定所述操作指令对应的可调用设备,调用所述对应的可调用设备的驱动程序执行所述操作指令;
    将所述操作指令的执行结果反馈至所述调用终端。
  7. 如权利要求6所述的方法,其特征在于,在所述确定所述操作指令对应的可调用设备,调用所述对应的可调用设备的驱动程序执行所述操作指令之前,还包括:
    对所述调用终端进行认证,和/或者对所述操作指令进行认证。
  8. 如权利要求6所述的方法,其特征在于,所述可调用设备的信息包括可调用设备的标识和/或者可调用设备的驱动信息。
  9. 如权利要求6所述的方法,其特征在于,
    所述基于与调用终端的通信连接,接收来自调用终端的操作指令,包括:
    基于与调用终端的通信连接,接收来自调用终端的操作指令,和欲调用的可调用设备的标识;
    所述确定所述操作指令对应的欲调用设备,调用所述欲调用设备的驱动程序执行所述操作指令,包括:
    根据所述欲调用的可调用设备的标识确定所述操作指令对应的可调用设备,调用所述欲调用设备的驱动程序执行所述操作指令;
    所述将所述操作指令的执行结果反馈至所述调用终端,包括:
    将所述操作指令的执行结果和所述可调用设备的标识反馈至所述调用终端。
  10. 如权利要求6所述的方法,其特征在于,所述可调用设备为图像采集设备或者图形处理器。
  11. 一种设备调用装置,其特征在于,所述装置包括:
    第一连接模块,用于在调用终端中,建立与操作终端的通信连接;获取所述操作终端发送的其上的可调用设备的信息;
    调用模块,用于在接收到应用程序发送的请求调用所述可调用设备的调用请求时,基于所述与操作终端的通信连接将所述调用请求对应的操作指令发送至所述操作终端;
    所述调用模块还用于,接收所述操作终端反馈的所述操作指令的执行结果;将所述执行结果反馈所述应用程序。
  12. 如权利要求11所述的装置,其特征在于,所述建立与操作终端的通信连接,包括:
    对所述操作终端进行认证,并建立与所述操作终端的通信连接。
  13. 如权利要求11所述的装置,其特征在于,
    所述调用模块还用于,在所述在接收到应用程序发送的请求调用所述可调用设备的调用请求时,基于所述与操作终端的通信连接将所述调用请求对应的操作指令发送至所述操作终端之前,根据所述可调用设备的信息对所述可调用设备进行认证,述可调用设备的信息包括可调用设备的标识和/或者可调用设备的驱动信息。
  14. 如权利要求11所述的装置,其特征在于,所述可调用设备的信息包括可调用设备的标识;
    所述调用模块具体用于,在接收到应用程序发送的请求调用所述可调用设备的调用请求时,确定所述可调用设备的标识,基于所述与操作终端的通信连接将所述调用请求对应的操作指令,以及所述可调用设备的标识发送至所述操作终端;
    以及,
    接收所述操作终端反馈的所述操作指令的执行结果,以及所述执行结果对应的可调用设备的标识;根据所述可调用设备的标识将所述执行结果反馈所述应用程序。
  15. 如权利要求11所述的装置,其特征在于,所述可调用设备为图像采集设备或者图形处理器。
  16. 一种设备调用装置,其特征在于,所述装置包括:
    第二连接模块,用于在操作终端,基于所述操作终端与调用终端的通信连接向所述调用终端发送可供调用的可调用设备的信息;
    操作模块,用于基于与调用终端的通信连接,接收来自调用终端的操作指令;确定所述操作指令对应的可调用设备,调用所述对应的可调用设备的驱动程序执行所述操作指令;将所述操作指令的执行结果反馈至所述调用终端。
  17. 如权利要求16所述的装置,其特征在于,所述调用模块还用于,在所述确定所述操作指令对应的可调用设备,调用所述对应的可调用设备的驱动程序执行所述操作指令之前,对所述调用终端进行认证,和/或者对所述操作指令进行认证。
  18. 如权利要求16所述的装置,其特征在于,所述可调用设备的信息包括可调用设备的标识和/或者可调用设备的驱动信息。
  19. 如权利要求16所述的装置,其特征在于,
    所述操作模块具体用于,基于与调用终端的通信连接,接收来自调用终端的操作指令,和欲调用的可调用设备的标识;
    根据所述欲调用的可调用设备的标识确定所述操作指令对应的可调用设备,调用所述欲调用设备的驱动程序执行所述操作指令;
    将所述操作指令的执行结果和所述可调用设备的标识反馈至所述调用终端。
  20. 如权利要求16所述的装置,其特征在于,所述可调用设备为图像采集设备或者图形处理器。
  21. 一种设备调用系统,其特征在于所述设备调用系统包括:如权利要求11至15中任一权利要求所述的设备调用装置,以及如权利要求16至20中任一权利要求所述的设备调用装置。
  22. 一种电子设备,其特征在于,所述电子设备包括:
    通信设备,存储器,一个或多个处理器;以及一个或多个模块,所述一个或多个模块被存储在所述存储器中,并被配置成由所述一个或多个处理器执行,所述一个或多个模块包括用于执行权利要求1至5中任一所述方法中各个步骤的指令。
  23. 一种电子设备,其特征在于,所述电子设备包括:
    通信设备,存储器,一个或多个处理器;以及一个或多个模块,所述一个或多个模块被存储在所述存储器中,并被配置成由所述一个或多个处理器执行,所述一个或多个模块包括用于执行权利要求6至10中任一所述方法中各个步骤的指令。
  24. 一种云端机器人系统,其特征在于,所述云端机器人系统包括机器人终端和云服务器;
    所述云服务器包括,第一通信设备,第一存储器,一个或多个第一处理器;以及一个或多个第一模块,所述一个或多个第一模块被存储在所述第一存储器中,并被配置成由所述一个或多个第一处理器执行,所述一个或多个第一模块包括用于执行权利要求1至5中任一所述方法中的各个步骤的指令。
    所述机器人终端包括,第二通信设备,第二存储器,一个或多个第二处理器;以及一个或多个第二模块,所述一个或多个第二模块被存储在所述第二存储器中,并被配置成由所述一个或多个第二处理器执行,所述一个或多个第二模块包括用于执行权利要求6至10中任一所述方法中的各个步骤的指令。
  25. 一种与电子设备结合使用的计算机程序产品,所述计算机程序产品包括计算机可读的存储介质和内嵌于其中的计算机程序机制,所述计算机程序机制包括用于执行权利要求1至5中任一所述方法中各个步骤的指令。
  26. 一种与电子设备结合使用的计算机程序产品,所述计算机程序产品包括计算机可读的存储介质和内嵌于其中的计算机程序机制,所述计算机程序机制包括用于执行权利要求6至10中任一所述方法中各个步骤的指令。
PCT/CN2016/110927 2016-12-20 2016-12-20 设备调用方法、装置、系统和电子设备 WO2018112719A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201680002925.7A CN107077393A (zh) 2016-12-20 2016-12-20 设备调用方法、装置、系统和电子设备
PCT/CN2016/110927 WO2018112719A1 (zh) 2016-12-20 2016-12-20 设备调用方法、装置、系统和电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2016/110927 WO2018112719A1 (zh) 2016-12-20 2016-12-20 设备调用方法、装置、系统和电子设备

Publications (1)

Publication Number Publication Date
WO2018112719A1 true WO2018112719A1 (zh) 2018-06-28

Family

ID=59623887

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2016/110927 WO2018112719A1 (zh) 2016-12-20 2016-12-20 设备调用方法、装置、系统和电子设备

Country Status (2)

Country Link
CN (1) CN107077393A (zh)
WO (1) WO2018112719A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111541763A (zh) * 2020-04-20 2020-08-14 腾讯科技(深圳)有限公司 采集运行状态信息的方法、装置、设备及存储介质

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111352357B (zh) * 2018-12-21 2021-09-17 深圳市优必选科技有限公司 机器人的控制方法、装置及终端设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012164711A1 (ja) * 2011-06-02 2012-12-06 株式会社 日立製作所 情報処理システム、ソフトウエア検証方法、及びプログラム
CN103036916A (zh) * 2011-09-29 2013-04-10 中国移动通信集团公司 远程硬件资源的调用方法及其装置、系统
CN103077018A (zh) * 2012-12-27 2013-05-01 广州英码信息科技有限公司 一种基于安卓系统的设备接口的控制方法及系统
CN103731309A (zh) * 2013-12-31 2014-04-16 深圳市科漫达智能管理科技有限公司 一种设备管理方法及装置
CN107003952A (zh) * 2016-10-18 2017-08-01 深圳前海达闼云端智能科技有限公司 设备调用方法、装置、系统、电子设备和计算机程序产品

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104978176B (zh) * 2014-04-10 2019-03-08 腾讯科技(北京)有限公司 应用程序接口调用方法、装置及计算机可读存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012164711A1 (ja) * 2011-06-02 2012-12-06 株式会社 日立製作所 情報処理システム、ソフトウエア検証方法、及びプログラム
CN103036916A (zh) * 2011-09-29 2013-04-10 中国移动通信集团公司 远程硬件资源的调用方法及其装置、系统
CN103077018A (zh) * 2012-12-27 2013-05-01 广州英码信息科技有限公司 一种基于安卓系统的设备接口的控制方法及系统
CN103731309A (zh) * 2013-12-31 2014-04-16 深圳市科漫达智能管理科技有限公司 一种设备管理方法及装置
CN107003952A (zh) * 2016-10-18 2017-08-01 深圳前海达闼云端智能科技有限公司 设备调用方法、装置、系统、电子设备和计算机程序产品

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111541763A (zh) * 2020-04-20 2020-08-14 腾讯科技(深圳)有限公司 采集运行状态信息的方法、装置、设备及存储介质
CN111541763B (zh) * 2020-04-20 2023-08-11 腾讯科技(深圳)有限公司 采集运行状态信息的方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN107077393A (zh) 2017-08-18

Similar Documents

Publication Publication Date Title
US10915983B2 (en) System for distributed virtualization of GPUs in desktop cloud
EP3343364B1 (en) Accelerator virtualization method and apparatus, and centralized resource manager
US10057070B2 (en) Secure access control to an embedded device through a networked computer
CN110071933B (zh) 安全套接层加速方法、装置、设备及可读存储介质
US11700262B2 (en) System and method to securely execute datacenter management operations remotely
CN108927808B (zh) 一种ros节点的通信方法、认证方法及装置
US20170125060A1 (en) Video playing method and device
WO2019105093A1 (zh) 数据封装、处理方法、装置及电子设备
WO2018072101A1 (zh) 设备调用方法、装置、系统、电子设备和计算机程序产品
US20220075491A1 (en) Remote support service with smart whiteboard
US10810024B2 (en) Redirection method and apparatus, and system
US20180234517A1 (en) Redirecting scanners and printers over a wan
WO2015192582A1 (zh) 虚拟桌面登录验证方法和装置
US10177975B2 (en) Method and apparatus of performing remote management of a managed machine
WO2018112719A1 (zh) 设备调用方法、装置、系统和电子设备
CN111611054A (zh) 一种应用部署方法及装置
US9832198B2 (en) Service-based message access layer frame and implementation method thereof
CN107277163B (zh) 一种设备远程映射方法及装置
CN110795156B (zh) 移动存储器加载方法、瘦客户端、存储介质及装置
Ramil et al. ROS-based Multiple Cameras Video Streaming for a Teleoperation Interface of a Crawler Robot.
JP7049641B2 (ja) 通信デバイス、情報通信端末装置及び通信方法
WO2021032160A1 (zh) 图像处理方法、装置、内容分享方法和设备
WO2017143570A1 (zh) 设备认证方法、装置、认证设备、无人机和遥控器
WO2020232718A1 (zh) 边缘侧模型推断方法、边缘计算设备和计算机可读介质
CN110502418B (zh) 一种实现远程调试的方法

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 16924704

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205 DATED 18/10/2019)

122 Ep: pct application non-entry in european phase

Ref document number: 16924704

Country of ref document: EP

Kind code of ref document: A1