WO2017219290A1 - 一种远程同步的方法、装置及系统 - Google Patents

一种远程同步的方法、装置及系统 Download PDF

Info

Publication number
WO2017219290A1
WO2017219290A1 PCT/CN2016/086778 CN2016086778W WO2017219290A1 WO 2017219290 A1 WO2017219290 A1 WO 2017219290A1 CN 2016086778 W CN2016086778 W CN 2016086778W WO 2017219290 A1 WO2017219290 A1 WO 2017219290A1
Authority
WO
WIPO (PCT)
Prior art keywords
listener
listening
drone
write
remote
Prior art date
Application number
PCT/CN2016/086778
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 PCT/CN2016/086778 priority Critical patent/WO2017219290A1/zh
Priority to CN201680008273.8A priority patent/CN107466467B/zh
Publication of WO2017219290A1 publication Critical patent/WO2017219290A1/zh
Priority to US16/217,524 priority patent/US10819787B2/en
Priority to US17/070,328 priority patent/US20210026376A1/en

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/10Simultaneous control of position or course in three dimensions
    • G05D1/101Simultaneous control of position or course in three dimensions specially adapted for aircraft
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/0011Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots associated with a remote control arrangement
    • G05D1/0016Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots associated with a remote control arrangement characterised by the operator's input device
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/0011Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots associated with a remote control arrangement
    • G05D1/0022Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots associated with a remote control arrangement characterised by the communication link
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/0011Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots associated with a remote control arrangement
    • G05D1/005Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots associated with a remote control arrangement by providing the operator with signals other than visual, e.g. acoustic, haptic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • H04L67/025Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/30Services specially adapted for particular environments, situations or purposes
    • H04W4/40Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P]
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B64AIRCRAFT; AVIATION; COSMONAUTICS
    • B64CAEROPLANES; HELICOPTERS
    • B64C39/00Aircraft not otherwise provided for
    • B64C39/02Aircraft not otherwise provided for characterised by special use
    • B64C39/024Aircraft not otherwise provided for characterised by special use of the remote controlled vehicle type, i.e. RPV
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B64AIRCRAFT; AVIATION; COSMONAUTICS
    • B64UUNMANNED AERIAL VEHICLES [UAV]; EQUIPMENT THEREFOR
    • B64U2201/00UAVs characterised by their flight controls
    • B64U2201/20Remote controls

Definitions

  • the present invention relates to the field of data synchronization, and in particular, to a remote synchronization method, apparatus, and system.
  • Synchronizing the data and state on the remote device to the local device and operating it requires consideration of data validity and synchronization and mutual exclusion between various states. Usually, a large amount of synchronization code needs to be written, and if an error occurs, it is difficult to locate the problem. .
  • Embodiments of the present invention provide a remote synchronization method, apparatus, and system to reduce processing complexity and improve system stability.
  • a first aspect of the present invention provides a remote synchronization method, including:
  • the second device When the listening object changes, the second device is notified.
  • the listening environment includes a context context, and the context is used to implement information saved by the runtime runtime system.
  • the first device is a remote device of the second device, the first device and the first device Two devices wirelessly connected.
  • the first device is wiredly connected to the second device.
  • the first device includes one or more of the following devices: a movable object , carrier, carrier.
  • the movable object includes a drone
  • the carrier includes a pan/tilt having a pointing and stabilizing function, wherein the carrier includes a camera .
  • the monitoring object includes one or more of the following: status information of the drone, and the drone Status information of the component, status information of the pan/tilt, and status information of the camera.
  • the state information of the drone includes one or more of the following: a height of the drone, a position of the drone, The angle of the drone, the speed of the drone; the state information of the components of the drone includes: state information of the flight control; the state information of the pan/tilt includes: the angle of the pan/tilt; the state information of the camera It includes one or more of the following: sensitivity, shutter speed, exposure compensation, aperture.
  • the second device includes one or more of the following devices: a ground station, a remote control , mobile phones, tablets, personal computers, drones.
  • the adding a listener in the listening environment includes: using the listener And pointer information of the listener is added to the listening environment.
  • the pointer information of the listener and the interception object is added to the listening environment
  • the method includes: adding a weak pointer of the listener and the listening object to the listening environment.
  • the second device when the monitoring object changes, the second device is notified, including: When the listener object changes, the application deployed on the second device is notified.
  • the listener is configured to monitor a change of the monitoring object, including: Monitoring the change of the listener key value; and when the listener object changes, notifying the second device, comprising: notifying the second device when the key value of the listener object changes.
  • the method further includes: when the intercepting object is released, releasing The listening environment and the listener associated with the listening object.
  • the listening environment and the listener associated with the interception object are released, including
  • the monitored key value is changed to empty, and the listening environment and the listener associated with the listener object are released.
  • the method further includes: when registering the custom remote read/write method, If the listening environment does not exist, the listening environment is automatically created, and the custom remote reading and writing method is used to read and write the listening object.
  • the method further includes: checking whether the custom remote read/write method has been added; if the customization has been added The remote read/write method calls the custom remote read/write method; if the custom remote read/write method is not added, the default read/write method is called.
  • the method further includes: when the call starts to write the interface, starting the monitoring When the object is written, the lock state is increased in the listening environment; when the call end write interface ends writing to the listener object, the lock state is eliminated in the listening environment, and the The information is called back to the asynchronous write method and the asynchronous read method that are called.
  • the method further includes: when the calling end interface is updated or the key value interface is updated, if the listening environment is in the In the locked state, no operation is performed; if the listening environment is not in the locked state, the asynchronous read method called is called back.
  • An embodiment of the present invention provides a remote synchronization method, the method includes: associating a listening environment with a corresponding listening object, wherein the listening object is state information of the first device; and adding a listener in the listening environment, where The listener is configured to monitor a change of the listener object; when the listener object changes, notify the second device.
  • the processing process reduces processing complexity and improves system stability.
  • a second aspect of the present invention provides a remote synchronization device, the device comprising:
  • An association module configured to associate a monitoring environment with a monitoring object, where the monitoring object is status information of the first device
  • a listener adding module configured to add a listener in the listening environment, wherein the listener is configured to monitor a change of the listening object
  • the notification module is configured to notify the second device when the monitoring object changes.
  • the listening environment includes a context context, and the context is used to implement information saved by the runtime runtime system.
  • the first device is a remote device of the second device, the first device and the first device Two devices wirelessly connected.
  • the first device is wiredly connected to the second device.
  • the first device includes one or more of the following devices: a movable object, Carrier, carrier.
  • the movable object includes a drone
  • the carrier includes a pan/tilt having a pointing and stabilizing function
  • the carrier includes a camera
  • the monitoring object includes one or more of the following: status information of the drone, and the drone Status information of the component, status information of the pan/tilt, and status information of the camera.
  • the state information of the drone includes one or more of the following: a height of the drone, a position of the drone, The speed of the drone, the angle of the drone; the state information of the components of the drone includes: state information of the flight control; the state information of the pan/tilt includes: the angle of the pan/tilt; the camera of the airborne camera
  • the status information includes one or more of the following: sensitivity, shutter speed, exposure compensation, aperture.
  • the second device includes one or more of the following devices: a ground station, a remote control , mobile phones, tablets, personal computers, drones.
  • the listener adding module is specifically configured to: the listener, the monitor The pointer information of the object is added to the listening environment.
  • the listener adding module is specifically configured to add the listener and the weak pointer of the listening object to the monitoring Environment.
  • the notification module is specifically configured to notify when the interception object changes An application deployed on a second device.
  • the listener is specifically configured to monitor a change of the key value of the listening object.
  • the notification module is specifically configured to notify the second device when a key value of the listening object changes.
  • the apparatus further includes a listener release module, configured to: When released, the listening environment and listener associated with the listener object are released.
  • the listener release module is specifically configured to: when the interception object is released, the monitored key value is changed to be empty. , releasing the listening environment and listener associated with the listener object.
  • the apparatus further includes a creating module, configured to register a custom remote reading and writing In the method, if the listening environment does not exist currently, the listening environment is automatically created, wherein the custom remote reading and writing method is used to read and write the listening object.
  • the apparatus further includes an inspection module, configured to check whether the self has been added Defining a remote read/write method; if the custom remote read/write method has been added, the custom remote read/write method is invoked; if the custom remote method is not added, the default read/write method is invoked.
  • the device further includes a read/write protection module, configured to start writing when the call is started When the interface starts writing to the listening object, the locking state is increased in the listening environment; when the calling end write interface ends writing to the listening object, the locking state is eliminated in the listening environment, and the end is ended.
  • the information carried during writing is called back to the called asynchronous write method and asynchronous read method.
  • the read/write protection module is further configured to: when the end of the read interface or the update of the key interface is invoked, If the listening environment is in the locked state, no operation is performed; if the listening environment is not in the locked state, the invoked asynchronous key value method is called back.
  • the embodiment of the present invention provides a remote synchronization device, including: an association module, configured to associate a monitoring environment with a monitoring object, where the monitoring object is state information of the first device; and the listener adds a module for The listener is configured to add a listener, wherein the listener is configured to monitor a change of the listener object, and the notification module is configured to notify the second device when the listener object changes.
  • an association module configured to associate a monitoring environment with a monitoring object, where the monitoring object is state information of the first device
  • the listener adds a module for The listener is configured to add a listener, wherein the listener is configured to monitor a change of the listener object, and the notification module is configured to notify the second device when the listener object changes.
  • a third aspect of the present invention provides a remote synchronization system including a first device and a second device, the first device including one or more of the following devices: a drone, a pointing, and a stable
  • the function of the cloud platform, the camera, the second device comprises one or more of the following devices: a ground station, a remote controller, a mobile phone, a tablet computer, a personal computer, a drone, wherein the remote synchronization system further Including a remote synchronization device, the remote synchronization device includes:
  • An association module configured to associate a listening environment with a listening object, where the listening object is state information of the first device
  • a listener adding module configured to add a listener in the listening environment, wherein the listener is configured to monitor a change of the listening object
  • the notification module is configured to notify the second device when the monitoring object changes.
  • the listening environment includes a context context, where the context is used to implement information saved by the runtime runtime system.
  • the status information of the first device includes one or more of the following status information: status of the drone Information, status information of components of the drone, status information of the gimbal, status information of the camera; status information of the drone includes one or more of the following: the height of the drone, the position of the drone, The speed of the drone, the angle of the drone; the state information of the components of the drone includes: state information of the flight control; the state information of the pan/tilt includes: the angle of the pan/tilt; the state information of the camera It includes one or more of the following: sensitivity, shutter speed, exposure compensation, aperture.
  • the listener adding module is specifically configured to: the listener, the monitor The pointer information of the object is added to the listening environment.
  • the listener adding module is specifically configured to add the listener and the weak pointer of the listening object to the monitoring Environment.
  • the notification module is specifically configured to notify deployment when the interception object changes The application on the second device.
  • the listener is specifically configured to monitor a change of the key value of the listening object;
  • the notification module is specifically configured to notify the second device when a key value of the monitoring object changes.
  • the remote synchronization device further includes a listener release module, configured to be the listener object When released, the listening environment and listener associated with the listener object are released.
  • the listener release module is specifically configured to: when the interception object is released, the monitored key value is changed to null, and released.
  • the listening environment and listener associated with the listener object is specifically configured to: when the interception object is released, the monitored key value is changed to null, and released.
  • the remote synchronization device further includes a creation module, configured to register a custom remote read/write In the method, if the listening environment does not exist currently, the listening environment is automatically created, wherein the custom remote reading and writing method is used to read and write the listening object.
  • the remote synchronization device further includes an inspection module, configured to check whether the self has been added Defining a remote read/write method; if the custom remote read/write method has been added, the custom remote read/write method is invoked; if the custom remote method is not added, the default read/write method is invoked.
  • the remote synchronization device further includes a read/write protection module, configured to start writing when called When the inbound interface starts writing to the listening object, adding a locking state in the listening environment; when the calling end write interface ends writing to the listening object, the locking state is eliminated in the listening environment, and The information carried at the end of the write is called back to the called asynchronous write method and asynchronous read method.
  • a read/write protection module configured to start writing when called When the inbound interface starts writing to the listening object, adding a locking state in the listening environment; when the calling end write interface ends writing to the listening object, the locking state is eliminated in the listening environment, and The information carried at the end of the write is called back to the called asynchronous write method and asynchronous read method.
  • the write protection module is further configured to: when the end of the read interface or the update of the key interface is invoked, If the environment is in the locked state, no operation is performed; if the listening environment is not in the locked state, the invoked asynchronous key method is called back.
  • An embodiment of the present invention provides a remote synchronization UAV system, where the UAV system includes a first device and a second device, and the first device includes one or more of the following devices: a drone, Pointing and stabilizing function pan/tilt, camera, the second device comprises one or more of the following devices: a ground station, a remote controller, a mobile phone, a tablet computer, a personal computer, a drone, wherein the
  • the human-machine system further includes a remote synchronization device, the remote synchronization device includes: an association module, configured to associate the monitoring environment with the monitoring object, wherein the monitoring object is state information of the first device; the listener adds a module,
  • the method is configured to add a listener in the listening environment, where the listener is configured to monitor a change of the listener object, and a notification module is configured to notify the second device when the listener object changes.
  • a fourth aspect of the present invention provides a remote synchronization system, comprising: a control unit, configured to perform the steps of the remote synchronization method according to any one of the first aspect to the eighteenth embodiment of the first aspect.
  • a fifth aspect of the present invention provides a storage medium for storing instructions for performing the steps of the remote synchronization method according to any one of the first aspect to the eighteenth embodiment of the first aspect.
  • a sixth aspect of the present invention provides a remote synchronization method, which is applied to a drone system, including: registering one or more listeners for a listener object, wherein the listener object is state information of the first device; and when the listener object When the change occurs, the second device is notified; wherein the first device is the remote device of the second device.
  • the method further includes removing the one or more listeners when the intercepting object is released.
  • the registering one or more listeners for the state information of the first device includes: the listener to the monitored object Sending a registration message, the registration message carries the identifier of the listener and the key path keypath of the interception object.
  • the notifying the second device when the monitoring object changes, includes: when the monitoring When the object changes, the second device sends a notification message, where the notification message carries one or two values: a value before the monitoring object changes, and a value after the monitoring object changes.
  • the first device includes one or more of the following: a drone, a gimbal ,camera.
  • the state information of the first device includes one or more of the following: a drone Status information, status information of components of the drone, status information of the gimbal, status information of the camera; status information of the drone includes one or more of the following: the height of the drone, the drone's Position, the angle of the drone, the speed of the drone; the state information of the components of the drone includes: state information of the flight control; the state information of the pan/tilt includes: an angle of the pan/tilt; the camera The status information includes one or more of the following: sensitivity, shutter speed, exposure compensation, aperture.
  • the second device includes one or more of the following: a remote controller, a ground station, Mobile phones, tablets, personal computers.
  • Embodiments of the present invention provide a remote synchronization system, a storage medium, and a method.
  • a remote synchronization system When synchronizing data and state on a remote device to a local device and performing operations, it is necessary to consider data validity and synchronization mutual exclusion between various states.
  • the problem of the relationship the embodiment of the invention simplifies the processing when faced with such problems, reduces the processing complexity, and improves the stability of the system.
  • FIG. 1 is a schematic diagram of a movable object system according to an embodiment of the present invention.
  • FIG. 2 is a schematic diagram of a movable object manager according to an embodiment of the present invention.
  • FIG. 3 is a schematic diagram of a movable object interface according to an embodiment of the present invention.
  • FIG. 4 is a schematic diagram of an interface of a drone according to an embodiment of the present invention.
  • FIG. 5 is a schematic diagram of a listening environment according to an embodiment of the present invention.
  • FIG. 6 is a flowchart of a remote synchronization method according to an embodiment of the present invention.
  • FIG. 7 is a schematic diagram of a remote synchronization apparatus according to an embodiment of the present invention.
  • FIG. 8 is a schematic diagram of another remote synchronization apparatus according to an embodiment of the present invention.
  • FIG. 9 is a schematic diagram of a remote synchronization drone system according to an embodiment of the present invention.
  • FIG. 10 is a schematic diagram of a remote synchronization apparatus according to an embodiment of the present invention.
  • the embodiment of the invention provides a key value synchronization method, device, and drone system.
  • the processing process is greatly simplified, and the code amount is reduced. , improve system stability.
  • FIG. 1 is a schematic diagram of a movable object system in accordance with an embodiment of the present invention.
  • the user terminal 102 communicates with the movable object 101 via the physical link 103.
  • the movable object 101 may be an unmanned vehicle (such as a drone, a driverless car, etc.), a handheld device, and/or a robot;
  • the user terminal 102 may be a smartphone, a tablet, a remote controller, and / or personal computer.
  • the movable object 101 may include a function module 111.
  • the drone may include a camera module, a battery module, a pan/tilt head module, a flight controller module, a communication module, and the like.
  • the user terminal 102 can deploy the application 121.
  • the application 121 can control the drone and its load through the physical link 103, and can receive data of the drone and its load (such as audio, video pictures, etc.) through the physical link 103. Multimedia data).
  • the user terminal 102 may include a communication module for processing communication between the user terminal 102 and the movable object 101, specifically, for processing the application 121 in the user terminal 102 and the function module 111 in the movable object 101. Communication between.
  • a communication module for processing communication between the user terminal 102 and the movable object 101, specifically, for processing the application 121 in the user terminal 102 and the function module 111 in the movable object 101. Communication between.
  • an uplink is used to transmit control signals
  • a downlink is used to transmit data, such as audio, video, pictures, and the like.
  • Figure 2 is a schematic diagram of a movable object manager.
  • the movable object manager 204 can be used to access and control the movable object 201.
  • the movable object 201 can include the function modules 211 to 213.
  • the movable object manager 204 can be deployed on the user terminal 202 along with the applications 221-223.
  • the applications 221 to 223 access and control the movable object 201 through the movable object manager 204, and receive data (for example, multimedia data such as audio, video, picture, etc.) of the movable object 201.
  • the movable object manager 204 can be deployed on a separate device or deployed in the movable object 201.
  • the movable object manager 204 includes a communication manager 241, a data manager 242, and an interface 243.
  • the communication manager 241 is configured to process data related to the communication protocol, establish a communication connection between the applications 221 to 223 and the movable object 201, and the data manager 242 is used to manage the application between the applications 221 to 223 and the movable object 201.
  • Data interaction; interface 243 is used by applications 221-223 to access and invoke movable object manager 204.
  • FIG. 3 is a schematic diagram of a movable object interface in an embodiment of the present invention.
  • the movable object interface 303 can provide access to the movable object 301, which can be a software development kit (SDK) environment.
  • SDK software development kit
  • the movable object 301 may include, but is not limited to, functional modules A-C 311-313, which may include, without limitation, interface components A-C 331-333.
  • Each of the interface elements A-C 331-333 in the movable object interface 303 may represent a module A-C 311-313 in the movable object 301.
  • the movable object interface 303 can provide one or more callback functions to support a distributed computing model between the application and the movable object 301.
  • the application calls a callback function to confirm whether the movable object 301 has received the command or receives the execution result through the callback function. Therefore, although the application is spatially and logically separated from the movable object 301, it is still possible to interact through the callback function.
  • interface components A-C 331-333 can be associated with listeners A-C 341-343.
  • the Listener A-C 341-343 can notify the interface component A-C 331-333 to use the corresponding callback function to receive information from the associated function module.
  • the data manager 302 is configured to prepare data for the movable object interface 303.
  • the data manager 302 can decouple and encapsulate the related functions of the movable object 301.
  • the data manager 302 can be used to manage data exchange between the application and the movable object 301. Therefore, application developers do not need to involve complex data exchange processes.
  • the DJI SDK can provide a series of callback functions for transferring instance information or receiving execution results from drones.
  • the DJI SDK can establish a connection between a drone and an application on a smartphone (eg, using an Android system or an iOS system).
  • FIG. 4 is a schematic diagram of the drone interface. As shown in FIG. 4, the interface 402 corresponds to the drone 401. Applications 403-404 can access and control drone 401 by invoking interface 402.
  • the drone may include a plurality of functional modules: a camera 411, a battery 412, a pan/tilt 413, a flight controller 414, and/or a range extender 415.
  • interface 402 includes camera component 421, battery component 422, pan/tilt component 423, flight controller component 424, and/or range extender component 425.
  • application 403 can access and control camera 411 through camera component 421.
  • the movable object interface 402 can include a ground station component 1026.
  • the ground station component is used to perform one or more flight control operations that may require high levels of authority.
  • FIG. 5 is a schematic diagram of a listener according to an embodiment of the present invention.
  • the listener is registered, and the listener 521 is associated with the function module 511 in the movable object 501 for monitoring the change of the function module 511.
  • the application 531 on the user terminal 503 is notified.
  • the updated key value can be recalled to the application 531 by means of a callback.
  • the DJI SDK can provide a series of callback functions for transferring instance information or receiving execution results from drones.
  • a listener 521 is added to the context context, and the context may be deployed on the user terminal 503, for example, deployed on the application 531; or may be deployed on the movable object 501, for example, deployed on the function module 511; It can be deployed on third-party devices and is not limited here.
  • an embodiment of the present invention provides a method for remote synchronization, including:
  • the listening environment can include a context context that is used to implement information held by the runtime runtime system.
  • the context can be associated with the listener object through the setAssociatedObject method of the runtime runtime.
  • the first device is a remote device of the second device, and the first device is wirelessly connected to the second device.
  • the first device is connected to the second device by wire, and specifically, may be connected through a serial cable.
  • the first device can include one or more of the following: a movable object, a carrier, a carrier.
  • the movable object may include a drone
  • the carrier may include a pan/tilt having a pointing and stabilizing function
  • the carrier may include a camera.
  • the monitoring object may include one or more of the following: status information of the UAV, status information of the PTZ, and status information of the camera.
  • the status information of the drone may include one or more of the following: a height of the drone, a position of the drone, an angle of the drone, and a speed of the drone;
  • the status information of the component includes: status information of the flight control;
  • the status information of the cloud platform may include: an angle of the pan/tilt;
  • the status information of the camera may include one or more of the following: sensitivity, shutter speed, and exposure compensation. ,aperture.
  • pointer information of the listener, the listener object is added to the listening environment, and the pointer information may include a weak pointer.
  • the listener is configured to monitor the change of the key value of the listening object.
  • the second device can include one or more of the following: a ground station, a remote control, a cell phone, a tablet, a personal computer, a drone.
  • the second device is notified when the key value of the listening object changes.
  • the key value is updated in the non-lock state, or the key value is read in the non-lock state, and the key value of the monitor object changes, the notification of the key value change is sent to the second device.
  • the method further includes:
  • the listening object When the listening object is released, release a listening environment and a listener associated with the listening object.
  • the listener when the listener object is released, the listener changes the key value to null, releasing the listener environment and listener associated with the listener object.
  • the method further includes:
  • the listening environment may include a context context.
  • the method further includes:
  • the custom remote read/write method is invoked; specifically, the custom remote read/write method is invoked to perform remote read and write operations on the monitor object, for example, remote reading of the flight controller Write operation
  • the default read/write method is called.
  • the default key value observation (KVO) interface can be called to read and write the local device.
  • the method further includes:
  • the listening environment may include a context context.
  • the method further includes:
  • the listening environment is in the locked state, no operation is performed; if the listening environment is not in the locked state, the callback is invoked asynchronously.
  • the reading method specifically, the listening environment may include the context.
  • the asynchronous read method called by the callback will pass the key value to the caller; if the "update key” interface is called, and the listening environment is not When it is locked, the callback calls the asynchronous read method to notify all listeners of the key value changes.
  • the present invention also provides a corresponding remote synchronization device embodiment to implement the content described in the foregoing method embodiments.
  • an embodiment of the present invention provides a remote synchronization device 801.
  • the first device 802, the second device 803, the connection manner of the first device 802 and the second device 803, and the listening object are as described in the foregoing remote synchronization method embodiment.
  • the remotely synchronized device 801 can be deployed on the first device 802, for example, connected to the first device through a serial cable; the remotely synchronized device 801 can also be deployed on the second device 803, and the first device 802 can pass. Wireless connection; the remote synchronization device 801 can also be deployed on a third party device, and the first device and the second device can be connected by wireless or wired.
  • the association module 811 is configured to associate the monitoring environment with the monitoring object, where the monitoring object is state information of the first device.
  • the listening environment can include a context context that is used to implement information held by the runtime runtime system.
  • the association module 811 associates the context into the interception object by using the setAssociatedObject method of the runtime runtime.
  • a listener adding module 812 is configured to add a listener in the listening environment, wherein the listener is configured to monitor changes of the listening object.
  • the listener adding module 812 is specifically configured to add a weak pointer of the listener and the listener object to the listening environment.
  • the listener is configured to monitor the change of the key value of the listening object.
  • the notification module 813 is configured to notify the second device 803 when the interception object changes.
  • the notification module 813 is configured to notify the second device when a key value of the monitoring object changes.
  • the key value is updated in the non-lock state, or the key value is read in the non-lock state, and the key value of the monitor object changes, the notification of the key value change is sent to the second device 803.
  • the remote synchronization device 801 further includes:
  • the listener release module 814 is configured to release the listening environment and the listener associated with the listening object when the listening object is released.
  • the monitored key value is changed to empty, and the listening environment and the listener associated with the listening object are released.
  • the method further includes:
  • the creating module 815 is configured to automatically create a listening environment if the monitoring environment is not present when the custom remote reading and writing method is registered, wherein the customized remote reading and writing method is used for remote reading and writing operations on the monitoring object.
  • the method further includes:
  • the checking module 816 is configured to check whether the custom remote read/write method has been added; if the custom remote read/write method has been added, the custom remote read/write method is invoked; if the custom remote is not added
  • the method calls the default read and write methods, such as the default key value listener (KVO) method.
  • the method further includes:
  • a read/write protection module 817 configured to increase a lock state in the listening environment when the call start write interface starts to write to the listener object; when the call ends the write interface ends writing to the listener object, The lock state is eliminated in the listening environment, and the information carried in the end of writing is called back to the called asynchronous write method and asynchronous read method.
  • the read/write protection module 817 is further configured to: when the end of the read interface or the update key interface is invoked, if the listening environment is in the locked state, no operation is performed; if the listening environment is not in the The lock state, then callback the asynchronous key method called.
  • the embodiment of the invention provides a remote synchronization device.
  • the problem of data validity and the synchronization mutual exclusion relationship between the various states needs to be considered, and the embodiment of the present invention greatly simplifies the face of such a problem.
  • the processing of the problem reduces the amount of code and improves the stability of the system.
  • an embodiment of the present invention provides a remote synchronization UAV system, including a first device 902, a second device 903, and a remote synchronization device 901.
  • the first device 902 includes a drone 921, has a pointing device, and
  • the second device 903 includes one or more of the following devices: a ground station, a remote controller, a mobile phone, a tablet computer, a personal computer, and a drone.
  • the remotely synchronized device 901 can be deployed on the first device 902, for example, connected to the first device through a serial cable; the remotely synchronized device 901 can also be deployed on the second device 903, and the first device 902 can pass.
  • the wireless connection device 901 can also be deployed on a third-party device, and the first device 902 and the second device 903 can be connected by wire or wirelessly.
  • the remote synchronization device 901 includes:
  • the association module 911 is configured to associate the monitoring environment with the monitoring object, where the monitoring object is state information of the first device.
  • the status information of the first device 902 may include: one or more status information of the drone 921: the height of the drone, the position of the drone, the speed of the drone, and the angle of the drone.
  • the status information of the components of the drone includes: status information of the flight control; the status information of the pan/tilt 922 includes: the angle of the pan/tilt; one or several status information of the camera 923: sensitivity, shutter speed, exposure compensation ,aperture.
  • a listener adding module 912 configured to add a listener in the listening environment, wherein the listener is configured to monitor changes of the listening object, for example, parameters for monitoring the drone 921, components of the drone 921 Parameters, parameters of the pan/tilt 922, and parameters of the camera 923.
  • the listener adding module 912 is specifically configured to add the pointer information of the listener and the listener object to the listening environment.
  • the pointer information may include a weak pointer.
  • the listener is configured to monitor the change of the key value of the listening object, for example, the change of the key value of the corresponding parameter of the drone 921, the pan/tilt 922, and the camera 923.
  • the notification module 913 is configured to notify the second device 903 when the interception object changes.
  • the notification module 913 is configured to notify the second device 903 when the key value of the listening object changes.
  • the key value is updated in the non-lock state, or the key value is read in the non-lock state, and the key value of the monitor object changes, the notification of the key value change is sent to the second device 903.
  • the remote synchronization device 901 further includes:
  • the listener release module 914 is configured to release the listening environment and the listener associated with the listening object when the listening object is released, and specifically, release the context and the listener associated with the listening object.
  • the monitored key value is changed to empty, and the listening environment and the listener associated with the listening object are released, and specifically, the context and the listener associated with the listening object are released.
  • the remote synchronization device 901 further includes:
  • the creating module 915 is configured to automatically create the context if the context is not present when the custom asynchronous read/write method is invoked, wherein the custom remote read/write method is used to remotely monitor the object. Read and write operations.
  • the remote synchronization device 901 further includes:
  • the checking module 916 is configured to check whether the custom remote read/write method has been added; if the custom remote read/write method has been added, the custom remote read/write method is invoked; if the custom remote is not added
  • the method calls the default read and write methods, such as the default key value listener (KVO) method.
  • the remote synchronization device 901 further includes:
  • a read/write protection module 917 configured to increase a lock state in the listening environment when the call start write interface starts to write to the listener object; when the call ends the write interface ends writing to the listener object, The lock state is eliminated in the listening environment, and the information carried in the end of writing is called back to the called asynchronous write method and asynchronous read method.
  • the read/write protection module 917 is further configured to: when the end of the read interface or the update key interface is invoked, if the listening environment is in the locked state, no operation is performed; if the listening environment is not in the The lock state, then callback the asynchronous key method called.
  • an embodiment of the present invention provides a remote synchronization apparatus.
  • the application 1031 in the user terminal 1003 invokes the asynchronous read/write interface 1025 of the remote synchronization device 1002; the remote synchronization device 1002 invokes a custom remote read/write interface to perform corresponding operations on the functional module 1011 on the movable object 1001, and then accepts the operation result and Callback to application 1031.
  • the application 1031 is to set the parameters of the function module 1011, the application 1031 calls the asynchronous read/write interface 1023, and the remote synchronization device 1002 calls the "start writing" interface 1021 in the custom remote read/write interface for the movable object 1001.
  • the function module 1011 performs remote writing, adds a locked state in the remote synchronization device 1002; then sends a command; when the setting is completed, the command responds, the remote synchronization device calls the "end write” interface 1022, and is eliminated in the remote synchronization device 1002.
  • the state is locked; and the information carried in the end of writing is called back to the application 1031 via the asynchronous read/write interface 1025.
  • the application 1031 reads the parameters of the function module 1011, the application 1031 calls the asynchronous read/write interface 1025, and the remote synchronization device 1002 calls a custom remote read/write method, the custom remote method returns a read result, and then the remote The device 1002 invokes the "end read" interface 1023 to call back the read result to the application 1031 via the asynchronous read/write interface 1031.
  • the remote synchronization device 1002 receives the function module 1011 pushed by the movable object 1001 to update the key value notification, the "update key value" interface 1024 is called, and the updated key value is notified to all the listeners through the asynchronous read/write interface 1025.
  • the embodiment of the invention provides a remote synchronization device.
  • the problem of data validity and the synchronization mutual exclusion relationship between the various states needs to be considered, and the embodiment of the present invention greatly simplifies the face of such a problem.
  • the processing of the problem reduces the amount of code and improves the stability of the system.
  • the related apparatus and method disclosed may be implemented in other manners.
  • the device embodiments described above are merely illustrative.
  • the division of the modules is only a logical function division.
  • multiple modules may be combined or integrated. Go to another system, or some features can be ignored or not executed.
  • the mutual coupling or direct coupling or communication connection shown or discussed may be an indirect coupling or communication connection through some interface, device or unit, and may be in an electrical, mechanical or other form.
  • the modules described as separate components may or may not be physically separated, and the components displayed as modules may or may not be physical units, that is, may be located in one place, or may be distributed to multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of the embodiment.
  • each functional module in each embodiment of the present invention may be integrated into one processing module, or each module may exist physically separately, or two or more modules may be integrated into one module.
  • the above integrated modules can be implemented in the form of hardware or in the form of software functional modules.
  • the integrated modules if implemented in the form of software functional modules and sold or used as separate products, may be stored in a computer readable storage medium.
  • the technical solution of the present invention which is essential or contributes to the prior art, or all or part of the technical solution, may be embodied in the form of a software product stored in a storage medium.
  • a number of instructions are included to cause a computer processor to perform all or part of the steps of the methods described in various embodiments of the present invention.
  • the foregoing storage medium includes: a U disk, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk, and the like, which can store program codes.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Automation & Control Theory (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • General Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Human Computer Interaction (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Telephonic Communication Services (AREA)
  • Selective Calling Equipment (AREA)
  • Telephone Function (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

一种远程同步方法、装置及系统,用于将远程设备上的数据和状态同步到本地设备上显示并进行操作,在数据同步过程中需要考虑数据有效性及各种状态之间的同步互斥关系等问题,所述方法简化了面对此类问题时的处理过程,减少了代码量,提高了系统稳定性。

Description

一种远程同步的方法、装置及系统 技术领域
本发明涉及数据同步领域,尤其涉及一种远程同步方法、装置及系统。
背景技术
将远程设备上的数据和状态同步到本地设备上并进行操作,需要考虑数据有效性以及各种状态之间的同步互斥关系等问题,通常需要编写大量同步代码,且一旦出错,难以定位问题。
发明内容
本发明实施例提供了一种远程同步方法、装置及系统,以降低处理复杂度和提高系统稳定性。
本发明第一方面提供一种远程同步方法,包括:
将监听环境关联到对应的监听对象,其中,所述监听对象为第一设备的状态信息;
在所述监听环境中添加监听器,其中,所述监听器用于监听所述监听对象的变化;
当所述监听对象发生变化时,通知第二设备。
结合本发明第一方面,本发明第一方面第一实施方式中,所述监听环境包括上下文context,所述context是用于实现运行时runtime系统所保存的信息。
结合本发明第一方面或第一方面第一实施方式,本发明第一方面第二实施方式中,所述第一设备为所述第二设备的远程设备,所述第一设备与所述第二设备无线连接。
结合本发明第一方面或第一方面第一实施方式,本发明第一方面第三实施方式中,所述第一设备与所述第二设备有线连接。
结合本发明第一方面至第一方面第三实施方式中任一种实施方式,本发明第一方面第四实施方式中,所述第一设备包括以下设备的一种或几种:可移动物体、载体、承载物。
结合本发明第一方面第四实施方式,本发明第一方面第五实施方式中,所述可移动物体包括无人机,所述载体包括有指向和稳定功能的云台,其中承载物包括相机。
结合本发明第一方面第五实施方式,本发明第一方面第六实施方式中,所述监听对象包括以下的一种或几种:所述无人机的状态信息、所述无人机的组件的状态信息、所述云台的状态信息、所述相机的状态信息。
结合本发明第一方面第六实施方式,本发明第一方面第七实施方式中,所述无人机的状态信息包括以下一种或几种:无人机的高度、无人机的位置、无人机的角度、无人机的速度;所述无人机的组件的状态信息包括:飞控的状态信息;所述云台的状态信息包括:云台的角度;所述相机的状态信息包括以下一种或几种:感光度、快门速度、曝光补偿、光圈。
结合本发明第一方面至第一方面第七实施方式中任一实施方式,本发明第一方面第八实施方式中,所述第二设备包括以下设备的一种或几种:地面站、遥控器、手机、平板电脑、个人电脑、无人机。
结合本发明第一方面至第一方面第八实施方式中任一实施方式,本发明第一方面第九实施方式中,所述在所述监听环境中添加监听器,包括:将所述监听器和监听器的指针信息添加到所述监听环境中。
结合本发明第一方面至第一方面第九实施方式中任一实施方式,本发明第一方面第十实施方式中,将所述监听器和所述监听对象的指针信息添加到所述监听环境中,包括:将所述监听器和所述监听对象的弱指针添加到所述监听环境中。
结合本发明第一方面至第一方面第十实施方式中任一实施方式,本发明第一方面第十一实施方式中,当所述监听对象发生变化时,通知第二设备,包括:当所述监听对象发生变化时,通知部署在第二设备上的应用程序。
结合本发明第一方面至第一方面第十一实施方式中任一实施方式,本发明第一方面第十二实施方式中,所述监听器用于监听所述监听对象的变化,包括:监听器用于监听所述监听对象键值的变化;所述当所述监听对象发生变化时,通知第二设备,包括:当所述监听对象的键值发生变化时,通知所述第二设备。
结合本发明第一方面至第一方面第十二实施方式中任一实施方式,本发明第一方面第十三实施方式中,所述方法还包括:当所述监听对象被释放时,释放与所述监听对象关联的监听环境及监听器。
结合本发明第一方面第十三实施方式,本发明第一方面第十四实施方式中,所述当所述监听对象被释放时,释放与所述监听对象关联的监听环境及监听器,包括:当所述监听对象释放时,监听到键值变更为空,释放与所述监听对象关联的监听环境及监听器。
结合本发明第一方面至第一方面第十四实施方式中任一实施方式,本发明第一方面第十五实施方式中,所述方法还包括:当注册自定义远程读写方法时,若当前不存在所述监听环境,则自动创建所述监听环境,其中,所述自定义远程读写方法用于对监听对象进行读写操作。
结合本发明第一方面第十五实施方式,本发明第一方面第十六实施方式中,所述方法还包括:检查是否已经添加所述自定义远程读写方法;若已经添加所述自定义远程读写方法,则调用所述自定义远程读写方法;若没有添加所述自定义远程读写方法,则调用默认读写方法。
结合本发明第一方面至第一方面第十六实施方式中任一实施方式,本发明第一方面第十七实施方式中,所述方法还包括:当调用开始写入接口开始对所述监听对象写入时,在所述监听环境中增加锁定状态;当调用结束写入接口结束对所述监听对象写入时,在所述监听环境中消除锁定状态,并将结束写入时所携带的信息回调给所调用的异步写入方法和异步读取方法。
结合本发明第一方面第十六实施方式,本发明第一方面第十八实施方式中,所述方法还包括:当调用结束读取接口或更新键值接口时,若所述监听环境处于所述锁定状态,则不进行任何操作;若所述监听环境不处于所述锁定状态,则回调所调用的异步读取方法。
本发明实施例提供了一种远程同步方法,方法包括:将监听环境关联到对应的监听对象,其中,所述监听对象为第一设备的状态信息;在所述监听环境中添加监听器,其中,所述监听器用于监听所述监听对象的变化;当所述监听对象发生变化时,通知第二设备。将远程设备上的数据和状态同步到本地设备上并进行操作时,需要考虑数据有效性以及各种状态之间的同步互斥关系的问题,本发明实施例简化了面对此类问题时的处理过程,降低了处理复杂度,提高了系统稳定性。
本发明第二方面提供一种远程同步装置,所述装置包括:
关联模块,用于将监听环境与监听对象关联,其中,所述监听对象为第一设备的状态信息;
监听器添加模块,用于在所述监听环境中添加监听器,其中,所述监听器用于监听所述监听对象的变化;
通知模块,用于当所述监听对象发生变化时,通知第二设备。
结合本发明第二方面,本发明第二方面第一实施方式中,所述监听环境包括上下文context,所述context是用于实现运行时runtime系统所保存的信息。
结合本发明第二方面或第二方面第一实施方式,本发明第二方面第二实施方式中,所述第一设备为所述第二设备的远程设备,所述第一设备与所述第二设备无线连接。
结合本发明第二方面或第二方面第一实施方式,本发明第二方面第三实施方式中,所述第一设备与所述第二设备有线连接。
结合本发明第二方面至第二方面第三实施方式中任一实施方式,本发明第二方面第四实施方式中,所述第一设备包括以下设备的一种或几种:可移动物体、载体、承载物。
结合本发明第二方面第四实施方式,本发明第二方面第五实施方式中,所述可移动物体包括无人机,所述载体包括有指向和稳定功能的云台,承载物包括相机。
结合本发明第二方面第五实施方式,本发明第二方面第六实施方式中,所述监听对象包括以下的一种或几种:所述无人机的状态信息、所述无人机的组件的状态信息、所述云台的状态信息、所述相机的状态信息。
结合本发明第二方面第五实施方式,本发明第二方面第七实施方式中,所述无人机的状态信息包括以下一种或几种:无人机的高度、无人机的位置、无人机的速度、无人机的角度;所述无人机的组件的状态信息包括:飞控的状态信息;所述云台的状态信息包括:云台的角度;所述机载相机的状态信息包括以下一种或几种:感光度、快门速度、曝光补偿、光圈。
结合本发明第二方面至第二方面第七实施方式中任一实施方式,本发明第二方面第八实施方式中,所述第二设备包括以下设备的一种或几种:地面站、遥控器、手机、平板电脑、个人电脑、无人机。
结合本发明第二方面至第二方面第八实施方式中任一实施方式,本发明第二方面第九实施方式中,所述监听器添加模块,具体用于将所述监听器、所述监听对象的指针信息添加到所述监听环境中。
结合本发明第二方面第九实施方式,本发明第二方面第十实施方式中,所述监听器添加模块,具体用于将所述监听器和所述监听对象的弱指针添加到所述监听环境中。
结合本发明第二方面至第二方面第十实施方式中任一实施方式,本发明第二方面第十一实施方式中,所述通知模块,具体用于当所述监听对象发生变化时,通知部署在第二设备上的应用程序。
结合本发明第二方面至第二方面第十一实施方式中任一实施方式,本发明第二方面第十二实施方式中,所述监听器,具体用于监听所述监听对象键值的变化;所述通知模块,具体用于当所述监听对象的键值发生变化时,通知所述第二设备。
结合本发明第二方面至第二方面第十二实施方式中任一实施方式,本发明第二方面第十三实施方式中,所述装置还包括监听器释放模块,用于当所述监听对象被释放时,释放与所述监听对象关联的监听环境及监听器。
结合本发明第二方面第十三实施方式,本发明第二方面第十四实施方式中,所述监听器释放模块,具体用于当所述监听对象被释放时,监听到键值变更为空,释放与所述监听对象关联的监听环境及监听器。
结合本发明第二方面至第二方面第十四实施方式中任一实施方式,本发明第二方面第十五实施方式中,所述装置还包括创建模块,用于当注册自定义远程读写方法时,若当前不存在所述监听环境,则自动创建所述监听环境,其中,所述自定义远程读写方法用于对监听对象进行读写操作。
结合本发明第二方面至第二方面第十五实施方式中任一实施方式,本发明第二方面第十六实施方式中,所述装置还包括检查模块,用于检查是否已经添加所述自定义远程读写方法;若已经添加所述自定义远程读写方法,则调用所述自定义远程读写方法;若没有添加所述自定义远程方法,则调用默认读写方法。
结合本发明第二方面至第二方面第十六实施方式中任一实施方式,本发明第二方面第十七实施方式中,所述装置还包括读写保护模块,用于当调用开始写入接口开始对所述监听对象写入时,在所述监听环境中增加锁定状态;当调用结束写入接口结束对所述监听对象写入时,在所述监听环境中消除锁定状态,并将结束写入时所携带的信息回调给所调用的异步写入方法和异步读取方法。
结合本发明第二方面第十七实施方式,本发明第二方面第十八实施方式中,所述读写保护模块,还用于当调用结束读取接口或更新键值接口时,若所述监听环境处于所述锁定状态,则不进行任何操作;若所述监听环境不处于所述锁定状态,则回调所调用的异步键值方法。
本发明实施例提供了一种远程同步装置,包括:关联模块,用于将监听环境与监听对象关联,其中,所述监听对象为第一设备的状态信息;监听器添加模块,用于在所述监听环境中添加监听器,其中,所述监听器用于监听所述监听对象的变化;通知模块,用于当所述监听对象发生变化时,通知第二设备。将远程设备上的数据和状态同步到本地设备上并进行操作时,需要考虑数据有效性以及各种状态之间的同步互斥关系的问题,本发明实施例简化了面对此类问题时的处理过程,降低了处理复杂度,提高了系统稳定性。
本发明第三方面提供一种远程同步系统,所述无人机系统包括第一设备和第二设备,所述第一设备包括以下设备的一种或几种:无人机、有指向和稳定功能的云台、相机,所述第二设备包括以下设备的一种或几种:地面站、遥控器、手机、平板电脑、个人电脑、无人机,其特征在于,所述远程同步系统还包括远程同步装置,所述远程同步装置包括:
关联模块,用于将监听环境与监听对象关联,其中,所述监听对象为所述第一设备的状态信息;
监听器添加模块,用于在所述监听环境中添加监听器,其中,所述监听器用于监听所述监听对象的变化;
通知模块,用于当所述监听对象发生变化时,通知所述第二设备。
结合本发明第三方面,本发明第三方面第一实施方式中,所述监听环境包括上下文context,所述context是用于实现运行时runtime系统所保存的信息。
结合本发明第三方面或第三方面第一实施方式,本发明第三方面第二实施方式中,所述第一设备的状态信息包括以下状态信息的一种或几种:无人机的状态信息、无人机的组件的状态信息、云台的状态信息、相机的状态信息;所述无人机的状态信息包括以下一种或几种:无人机的高度、无人机的位置、无人机的速度、无人机的角度;所述无人机的组件的状态信息包括:飞控的状态信息;所述云台的状态信息包括:云台的角度;所述相机的状态信息包括以下一种或几种:感光度、快门速度、曝光补偿、光圈。
结合本发明第三方面至第三方面第二实施方式中任一实施方式,本发明第三方面第三实施方式中,所述监听器添加模块,具体用于将所述监听器、所述监听对象的指针信息添加到所述监听环境中。
结合本发明第三方面第三实施方式,本发明第三方面第四实施方式中,所述监听器添加模块,具体用于将所述监听器、所述监听对象的弱指针添加到所述监听环境中。
结合本发明第三方面至第三方面第四实施方式中任一实施方式,本发明第三方面第五实施方式中,所述通知模块,具体用于当所述监听对象发生变化时,通知部署在第二设备上的应用程序。
结合本发明第三方面至第三方面第五实施方式中任一实施方式,本发明第三方面第六实施方式中,所述监听器,具体用于监听所述监听对象键值的变化;所述通知模块,具体用于当所述监听对象的键值发生变化时,通知所述第二设备。
结合本发明第三方面至第三方面第六实施方式中任一实施方式,本发明第三方面第七实施方式中,所述远程同步装置还包括监听器释放模块,用于当所述监听对象被释放时,释放与所述监听对象关联的监听环境及监听器。
结合本发明第三方面第七实施方式,本发明第三方面第八实施方式中,所述监听器释放模块,具体用于当所述监听对象被释放时,监听到键值变更为空,释放与所述监听对象关联的监听环境及监听器。
结合本发明第三方面至第三方面第八实施方式中任一实施方式,本发明第三方面第九实施方式中,所述远程同步装置还包括创建模块,用于当注册自定义远程读写方法时,若当前不存在所述监听环境,则自动创建所述监听环境,其中,所述自定义远程读写方法用于对监听对象进行读写操作。
结合本发明第三方面至第三方面第九实施方式中任一实施方式,本发明第三方面第十实施方式中,所述远程同步装置还包括检查模块,用于检查是否已经添加所述自定义远程读写方法;若已经添加所述自定义远程读写方法,则调用所述自定义远程读写方法;若没有添加所述自定义远程方法,则调用默认读写方法。
结合本发明第三方面至第三方面第十实施方式中任一实施方式,本发明第三方面第十一实施方式中,所述远程同步装置还包括读写保护模块,用于当调用开始写入接口开始对所述监听对象写入时,在所述监听环境中增加锁定状态;当调用结束写入接口结束对所述监听对象写入时,在所述监听环境中消除锁定状态,并将结束写入时所携带的信息回调给所调用的异步写入方法和异步读取方法。
结合本发明第三方面第十一实施方式,本发明第三方面第十二实施方式中,所述写保护模块,还用于当调用结束读取接口或更新键值接口时,若所述监听环境处于所述锁定状态,则不进行任何操作;若所述监听环境不处于所述锁定状态,则回调所调用的异步键值方法。
本发明实施例提供了一种远程同步无人机系统,所述无人机系统包括第一设备和第二设备,所述第一设备包括以下设备的一种或几种:无人机、有指向和稳定功能的云台、相机,所述第二设备包括以下设备的一种或几种:地面站、遥控器、手机、平板电脑、个人电脑、无人机,其特征在于,所述无人机系统还包括远程同步装置,所述远程同步装置包括:关联模块,用于将监听环境与监听对象关联,其中,所述监听对象为所述第一设备的状态信息;监听器添加模块,用于在所述监听环境中添加监听器,其中,所述监听器用于监听所述监听对象的变化;通知模块,用于当所述监听对象发生变化时,通知所述第二设备。将远程设备上的数据和状态同步到本地设备上并进行操作时,需要考虑数据有效性以及各种状态之间的同步互斥关系的问题,本发明实施例简化了面对此类问题时的处理过程,降低了处理复杂度,提高了系统稳定性。
本发明第四方面提供一种远程同步系统,包括控制单元,用于执行如第一方面至第一方面第十八实施方式中任一实施方式所述的远程同步方法的步骤。
本发明第五方面提供一种存储介质,用于存储指令,所述指令用于执行如第一方面至第一方面第十八实施方式中任一实施方式所述的远程同步方法的步骤。
本发明第六方面提供一种远程同步方法,应用于无人机系统,包括:为监听对象注册一个或多个监听器,其中所述监听对象为第一设备的状态信息;当所述监听对象发生变化时,通知第二设备;其中,第一设备为第二设备的远端设备。
结合本发明第六方面,本发明第六方面第一实施方式中,所述方法还包括:当所述监听对象被释放时,移除所述一个或多个监听器。
结合本发明第六方面或第六方面第一实施方式,本发明第六方面第二实施方式中,所述为第一设备的状态信息注册一个或多个监听器包括:监听器向被监听对象发送注册消息,所述注册消息中携带有监听器的标识和监听对象的键路径keypath。
结合本发明第六方面至第六方面第二实施方式中任一实施方式,本发明第六方面第三实施方式中,所述当监听对象发生变化时,通知第二设备包括:当所述监听对象发生变化时,给第二设备发送通知消息,其中,所述通知消息携带有以下一种或两种值:所述监听对象变化前的值、所述监听对象变化后的值。
结合本发明第六方面至第六方面第三实施方式中任一实施方式,本发明第六方面第四实施方式中,所述第一设备包括以下一种或几种:无人机、云台、相机。
结合本发明第六方面至第六方面第四实施方式中任一实施方式,本发明第六方面第五实施方式中,所述第一设备的状态信息包括以下一种或几种:无人机的状态信息、无人机的组件的状态信息、云台的状态信息、相机的状态信息;所述无人机的状态信息包括以下一种或几种:无人机的高度、无人机的位置、无人机的角度、无人机的速度;所述无人机的组件的状态信息包括:飞控的状态信息;所述云台的状态信息包括:云台的角度;所述相机的状态信息包括以下一种或几种:感光度、快门速度、曝光补偿、光圈。
结合本发明第六方面至第六方面第五实施方式中任一实施方式,本发明第六方面第六实施方式中,所述第二设备包括以下一种或几种:遥控器、地面站、手机、平板电脑、个人电脑。
本发明实施例提供了一种远程同步系统、存储介质及方法,将远程设备上的数据和状态同步到本地设备上并进行操作时,需要考虑数据有效性以及各种状态之间的同步互斥关系的问题,本发明实施例简化了面对此类问题时的处理过程,降低了处理复杂度,提高了系统稳定性。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本发明实施例中可移动物体系统的示意图;
图2为本发明实施例中可移动物体管理器示意图;
图3为本发明实施例中可移动物体接口示意图;
图4为本发明实施例中无人机接口示意图;
图5为本发明实施例中监听环境示意图;
图6为本发明实施例中一种远程同步方法流程图;
图7为本发明实施例中一种远程同步装置示意图;
图8为本发明实施例中另一种远程同步装置示意图;
图9为本发明实施中一种远程同步无人机系统示意图。
图10为本发明实施例中远程同步装置示意图。
具体实施方式
本发明实施例提供了一种键值同步方法、装置、和无人机系统,将远程设备上的数据和状态同步到本地设备上显示并进行操作时,极大地简化处理过程,减少了代码量,提高了系统稳定性。
以下对本发明的描述使用无人机作为可移动物体的示例。显而易见的是,对于本领域技术人员将可以不受限制地使用其他类型的可移动物体。
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
下面通过具体实施例,分别进行详细说明。
示例性可移动物体系统
图1为本发明实施例中可移动物体系统的示意图。如图1所示,在可移动物体系统100中,用户终端102与可移动物体101,通过物理链路103进行通信。
可选的,可移动物体101可以是无人驾驶器(例如无人机、无人驾驶汽车等)、手持设备、和/或机器人;用户终端102可以是智能手机、平板电脑、遥控器、和/或个人电脑。
可选的,可移动物体101可以包括功能模块111。例如,无人机可以包括相机模块、电池模块、云台模块、飞行控制器模块、通信模块等。
可选的,用户终端102可以部署应用程序121。例如,在无人机系统中,应用程序121可以通过物理链路103控制无人机及其搭载物,可以通过物理链路103接收无人机及其搭载物的数据(例如音频、视频图片等多媒体数据)。
可选的,用户终端102可以包括通信模块,用于处理用户终端102与可移动物体101之间的通信,具体的,用于处理用户终端102中应用程序121与可移动物体101中功能模块111之间的通信。例如,在无人机系统中,包括上行链路和下行链路,上行链路用于发送控制信号,下行链路用于发送数据,例如音频、视频、图片等多媒体数据。
图2是可移动物体管理器示意图。如图2所示,可移动物体管理器204可以用于访问和控制可移动物体201,可选的,可移动物体201可以包括功能模块211~213。
可选的,可移动物体管理器204可以与应用程序221~223一起部署在用户终端202上。应用程序221~223,通过可移动物体管理器204访问和控制可移动物体201,并接收可移动物体201的数据(例如音频、视频、图片等多媒体数据)。可选的,可移动物体管理器204可以部署在独立的设备上,或者部署在可移动物体201中。
可选的,可移动物体管理器204包括通信管理器241、数据管理器242和接口243。通信管理器241用于处理与通信协议相关的数据,建立应用程序221~223与可移动物体201之间的通信连接;数据管理器242用于管理应用程序221~223与可移动物体201之间的数据交互;接口243用于应用程序221~223访问和调用可移动物体管理器204。
示例性可移动物体接口
图3是本发明实施例中可移动物体接口示意图。如图3中所示,在软件开发环境300中,可移动物体接口303可以提供对可移动物体301的访问,软件开发环境300可以为软件开发工具包(SDK)环境。
可移动物体301可以包括且不限于功能模块A-C 311-313,可移动物体接口303可以包括且不限于接口组件A-C 331-333。可移动物体接口303中的每个接口组件A-C 331-333可以代表可移动物体301中的模块A-C 311-313。
可移动物体接口303可以提供一个或多个回调函数(callback function),以支持应用程序与可移动物体301之间的分布式计算模型。
应用程序调用回调函数以确认可移动物体301是否已接收到命令,或者通过回调函数接收执行结果。因此,尽管应用程序与可移动物体301在空间和逻辑上是分离的,依然可以通过回调函数进行交互。
如图3中所示,接口组件A-C 331-333可以与监听器(listener)A-C 341-343相关联。监听器A-C 341-343可以通知接口组件A-C 331-333使用对应的回调函数来从相关功能模块接收信息。
数据管理器302,用于为可移动物体接口303准备数据。数据管理器302可以将可移动物体301的相关功能进行解耦和封装。而且,数据管理器302可以用于管理应用程序与可移动物体301之间的数据交换。因此,应用程序开发者不需要涉及到复杂的数据交换过程。
例如,DJI SDK可以提供一系列回调函数,用于传送实例信息,或者从无人机接收执行结果。例如,DJI SDK可以在无人机与智能手机(例如,使用Android系统或iOS系统)上的应用程序之间建立连接。
图4是无人机接口示意图。如图4所示,接口402与无人机401相对应。应用程序403~404可以通过调用接口402访问和控制无人机401。
可选的,无人机可以包括多个功能模块:相机411、电池412、云台413、飞行控制器414、和/或增程器415。相应的,接口402包括相机组件421、电池组件422、云台组件423、飞行控制器组件424、和/或增程器组件425。例如,应用程序403可以通过相机组件421访问和控制相机411。
此外,可移动物体接口402可以包括地面站组件1026。地面站组件用于执行可能需要高级别权限的一个或多个飞控操作。
示例性监听器
如图5为本发明实施例中监听器示意图。如图5所示,注册监听器,监听器521与可移动物体501中的功能模块511相关联,用于监听功能模块511的变化。当监听到功能模块511发生变化时,通知用户终端503上的应用程序531。可以通过回调的方式,将更新后的键值回调给应用程序531。例如,DJI SDK可以提供一系列回调函数,用于传送实例信息,或从无人机接收执行结果。
可选的,在上下文context中添加监听器521,该context可以部署于用户终端503上,例如部署于应用程序531上;也可以部署于可移动物体501上,例如部署于功能模块511上;也可以部署于第三方设备上,在此不做限定。
可移动物体环境中远程同步方法
如图6所示,本发明实施例提供一种远程同步的方法,包括:
601、将监听环境关联到对应的监听对象,其中,所述监听对象为第一设备的状态信息。
在某些实施例中,监听环境可以包括上下文context,所述context是用于实现运行时runtime系统所保存的信息。具体的,可以通过运行时 runtime 的setAssociatedObject方法将该context关联到监听对象。
可选的,第一设备为第二设备的远程设备,第一设备与第二设备无线连接。
可选的,第一设备与第二设备有线连接,具体的,可以通过串口线缆连接。
在某些实施例中,第一设备可以包括以下设备的一种或几种:可移动物体、载体、承载物。
具体的,所述可移动物体可以包括无人机,所述载体可以包括有指向和稳定功能的云台,承载物可以包括相机。
具体的,所述监听对象可以包括以下的一种或几种:所述无人机的状态信息、所述云台的状态信息、所述相机的状态信息。
具体的,所述无人机的状态信息可以包括以下一种或几种:无人机的高度、无人机的位置、无人机的角度、无人机的速度;所述无人机的组件的状态信息包括:飞控的状态信息;所述云台的状态信息可以包括:云台的角度;所述相机的状态信息可以包括以下一种或几种:感光度、快门速度、曝光补偿、光圈。
602、在所述监听环境中添加监听器,其中,所述监听器用于监听所述监听对象的变化。
在某些实施例中,将监听器、监听对象的指针信息添加到所述监听环境中,指针信息可以包括弱指针。
可选的,监听器用于监听所述监听对象键值的变化。
603、当所述监听对象发生变化时,通知第二设备。
在某些实施例中,第二设备可以包括以下设备的一种或几种:地面站、遥控器、手机、平板电脑、个人电脑、无人机。
可选的,当监听对象的键值发生变化时,通知第二设备。
可选的,当写入成功、非锁定状态下更新键值、或非锁定状态下读取键值,导致监听对象的键值发生变化时,向第二设备发送键值变化的通知。
可选的,如图7所示,还包括:
604、当所述监听对象被释放时,释放与所述监听对象关联的监听环境及监听器。
在某些实施例中,当监听对象被释放时,监听到键值变更为空,释放与监听对象关联的监听环境及监听器。
在某些实施例中,还包括:
生成自定义远程读写方法的接口,调用该接口在监听环境中注册自定义远程读写方法。若调用该接口注册自定义远程读写方法时,不存在监听环境,则自动创建监听环境,然后在所述监听环境中注册自定义远程读写方法;其中,自定义远程读写方法用于对监听对象进行远程读写操作。具体的,监听环境可以包括上下文context。
在某些实施例中,还包括:
生成异步读写接口。当调用该异步读写接口时,检查是否已经注册自定义远程读写方法;
若已经注册自定义远程读写方法,则调用所述自定义远程读写方法;具体的,调用自定义远程读写方法对监听对象进行远程读写操作,例如,可以是对飞控进行远程读写操作;
若没有注册所述自定义远程读写方法,则调用默认读写方法,例如,可以是调用默认的键值观察(KVO)接口,对本地设备进行读写操作。
在某些实施例中,还包括:
在监听环境中生成“开始写入”接口和“结束写入”接口;当调用“开始写入”接口开始对所述监听对象写入时,在所述监听环境中增加锁定状态;当调用“结束写入”接口结束对所述监听对象写入时,在所述监听环境中消除锁定状态,并将结束写入时所携带的信息回调给所调用的异步写入方法和异步读取方法。具体的,监听环境可以包括上下文context。
在某些实施例中,还包括:
生成“结束读取”接口和“更新键值”接口;
当调用“结束读取”接口或“更新键值”接口时,若所述监听环境处于锁定状态,则不进行任何操作;若所述监听环境不处于所述锁定状态,则回调所调用的异步读取方法;具体的,监听环境可以包括所述context。
例如,若调用“结束读取”接口,且监听环境不处于锁定状态,则回调所调用的异步读取方法,将键值传递给调用方;若调用“更新键值”接口,且监听环境不处于锁定状态,则回调所调用的异步读取方法,将键值变化通知给所有监听器。
需要说明的是,对于前述的方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明所必需的。
基于上述方法实施例的说明,本发明还提供了相应的远程同步的装置实施例,来实现上述方法实施例所述的内容。
如图8所示,本发明实施例提供一种远程同步的装置801。
可选的,第一设备802、第二设备803、第一设备802与第二设备803的连接方式、和监听对象,如前述远程同步方法实施例中所述。
可选的,远程同步的装置801可以部署在第一设备802上,例如与第一设备通过串口线缆连接;远程同步的装置801也可以部署在第二设备803上,与第一设备802通过无线连接;远程同步装置801还可以部署在第三方设备上,与第一设备、第二设备可以通过无线或有线连接。
包括:
关联模块811,用于将监听环境与监听对象关联,其中,所述监听对象为第一设备的状态信息。
在某些实施例中,监听环境可以包括上下文context,所述context是用于实现运行时runtime系统所保存的信息。具体的,关联模块811通过运行时 runtime 的setAssociatedObject方法将该context关联到监听对象中。
监听器添加模块812,用于在监听环境中添加监听器,其中,所述监听器用于监听所述监听对象的变化。
可选的,监听器添加模块812,具体用于将监听器、监听对象的弱指针添加到监听环境中。
具体的,监听器用于监听所述监听对象键值的变化。
通知模块813,用于当所述监听对象发生变化时,通知第二设备803。
可选的,通知模块813用于当所述监听对象的键值发生变化时,通知所述第二设备。
可选的,当写入成功、非锁定状态下更新键值、或非锁定状态下读取键值,导致监听对象的键值发生变化时,向第二设备803发送键值变化的通知。
在某些实施例中,远程同步装置801还包括:
监听器释放模块814,用于当所述监听对象被释放时,释放与所述监听对象关联的监听环境及监听器。
可选的,当所述监听对象被释放时,监听到键值变更为空,释放与所述监听对象关联的监听环境及监听器。
在某些实施例中,还包括:
创建模块815,用于当注册自定义远程读写方法时,若当前不存在监听环境,则自动创建监听环境,其中,所述自定义远程读写方法用于对监听对象进行远程读写操作。
在某些实施例中,还包括:
检查模块816,用于检查是否已经添加所述自定义远程读写方法;若已经添加所述自定义远程读写方法,则调用所述自定义远程读写方法;若没有添加所述自定义远程方法,则调用默认读写方法,例如默认的键值监听(KVO)方法。
在某些实施例中,还包括:
读写保护模块817,用于当调用开始写入接口开始对所述监听对象写入时,在所述监听环境中增加锁定状态;当调用结束写入接口结束对所述监听对象写入时,在所述监听环境中消除锁定状态,并将结束写入时所携带的信息回调给所调用的异步写入方法和异步读取方法。
可选的,读写保护模块817还用于当调用结束读取接口或更新键值接口时,若所述监听环境处于所述锁定状态,则不进行任何操作;若所述监听环境不处于所述锁定状态,则回调所调用的异步键值方法。
对于上述远程同步的装置实施例而言,由于其与方法及装置实施例基本相似,所以描述的比较简单,相关之处参见图6~图7所示方法实施例的部分说明即可。
本发明实施例提供了一种远程同步装置。将远程设备上的数据和状态同步到本地设备上显示并进行操作时,需要考虑数据有效性以及各种状态之间的同步互斥关系的问题,本发明实施例极大地简化了面对此类问题时的处理过程,减少了代码量,提高了系统稳定性。
如图9所示,本发明实施例提供一种远程同步无人机系统,包括第一设备902、第二设备903、和远程同步装置901,第一设备902包括无人机921、有指向和稳定功能的云台922、和相机923,第二设备903包括以下设备的一种或几种:地面站、遥控器、手机、平板电脑、个人电脑、无人机。
可选的,远程同步的装置901可以部署在第一设备902上,例如与第一设备通过串口线缆连接;远程同步的装置901也可以部署在第二设备903上,与第一设备902通过无线连接;远程同步装置901也可以部署在第三方设备上,与第一设备902、第二设备903可以通过有线连接或无线连接。
远程同步装置901包括:
关联模块911,用于将监听环境与监听对象关联,其中,所述监听对象为第一设备的状态信息。可选的,第一设备902的状态信息可以包括:无人机921的一种或几种状态信息:无人机的高度、无人机的位置、无人机的速度、无人机的角度;无人机的组件的状态信息,包括:飞控的状态信息;云台922的状态信息包括:云台的角度;相机923的一种或几种状态信息:感光度、快门速度、曝光补偿、光圈。
监听器添加模块912,用于在监听环境中添加监听器,其中,所述监听器用于监听所述监听对象的变化,例如,用于监听无人机921的参数、无人机921的组件的参数、云台922的参数、相机923的参数。
可选的,监听器添加模块912,具体用于将监听器、监听对象的指针信息添加到监听环境中,具体的,指针信息可以包括弱指针。
具体的,监听器用于监听所述监听对象键值的变化,例如,监听无人机921、云台922、相机923相应参数的键值的变化。
通知模块913,用于当所述监听对象发生变化时,通知第二设备903。
可选的,通知模块913用于当所述监听对象的键值发生变化时,通知所述第二设备903。
可选的,当写入成功、非锁定状态下更新键值、或非锁定状态下读取键值,导致监听对象的键值发生变化时,向第二设备903发送键值变化的通知。
在某些实施例中,远程同步装置901还包括:
监听器释放模块914,用于当所述监听对象被释放时,释放与所述监听对象关联的监听环境及监听器,具体的,释放与监听对象关联的context及监听器。
可选的,当所述监听对象被释放时,监听到键值变更为空,释放与所述监听对象关联的监听环境及监听器,具体的,释放与监听对象关联的context及监听器。
在某些实施例中,远程同步装置901还包括:
创建模块915,用于当调用自定义异步读写方法进行注册时,若当前不存在所述上下文,则自动创建所述上下文,其中,所述自定义远程读写方法用于对监听对象进行远程读写操作。
在某些实施例中,远程同步装置901还包括:
检查模块916,用于检查是否已经添加所述自定义远程读写方法;若已经添加所述自定义远程读写方法,则调用所述自定义远程读写方法;若没有添加所述自定义远程方法,则调用默认读写方法,例如默认的键值监听(KVO)方法。
在某些实施例中,远程同步装置901还包括:
读写保护模块917,用于当调用开始写入接口开始对所述监听对象写入时,在所述监听环境中增加锁定状态;当调用结束写入接口结束对所述监听对象写入时,在所述监听环境中消除锁定状态,并将结束写入时所携带的信息回调给所调用的异步写入方法和异步读取方法。
可选的,读写保护模块917还用于当调用结束读取接口或更新键值接口时,若所述监听环境处于所述锁定状态,则不进行任何操作;若所述监听环境不处于所述锁定状态,则回调所调用的异步键值方法。
对于上述远程同步的无人机系统实施例而言,由于其与方法及装置实施例基本相似,所以描述的比较简单,相关之处参见图6~图8所示方法、装置实施例的部分说明即可。
如图10所示,本发明实施例提供一种远程同步装置。
用户终端1003中的应用程序1031调用远程同步装置1002的异步读写接口1025;远程同步装置1002调用自定义远程读写接口对可移动物体1001上的功能模块1011进行相应操作,然后接受操作结果并回调给应用程序1031。
例如,应用程序1031要设置功能模块1011的参数,应用程序1031调用异步读写接口1023,远程同步装置1002调用自定义远程读写接口中的“开始写入”接口1021对可移动物体1001中的功能模块1011进行远程写入,在远程同步装置1002中增加锁定状态;然后发送命令;当设置完成,命令响应的时候,远程同步装置调用“结束写入”接口1022,在远程同步装置1002中消除锁定状态;并将结束写入时所携带的信息通过异步读写接口1025回调给应用程序1031。
又例如,应用程序1031要读取功能模块1011的参数,应用程序1031调用异步读写接口1025,远程同步装置1002调用自定义远程读写方法,该自定义远程方法返回一个读取结果,然后远程装置1002调用“结束读取”接口1023,将读取结果通过异步读写接口1031回调给应用程序1031。
又例如,远程同步装置1002接收到可移动物体1001推送的功能模块1011更新键值通知,则调用“更新键值”接口1024,将更新的键值通过异步读写接口1025通知所有的监听者。
本发明实施例提供了一种远程同步装置。将远程设备上的数据和状态同步到本地设备上显示并进行操作时,需要考虑数据有效性以及各种状态之间的同步互斥关系的问题,本发明实施例极大地简化了面对此类问题时的处理过程,减少了代码量,提高了系统稳定性。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域技术人员易于想到的是:上述各个实施例的任意组合应用都是可行的,故上述各个实施例之间的任意组合都是本发明的实施方案,但是由于篇幅限制,本说明书在此就不一一详述。
在本发明所提供的几个实施例中,应该理解到,所揭露的相关装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得计算机处理器(processor)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (60)

  1. 一种远程同步方法,其特征在于,所述方法包括:
    将监听环境关联到对应的监听对象,其中,所述监听对象为第一设备的状态信息;
    在所述监听环境中添加监听器,其中,所述监听器用于监听所述监听对象的变化;
    当所述监听对象发生变化时,通知第二设备。
  2. 根据权利要求1所述的方法,其特征在于,所述监听环境包括上下文context,所述context是用于实现运行时runtime系统所保存的信息。
  3. 根据权利要求1或2所述的方法,其特征在于,所述第一设备为所述第二设备的远程设备,所述第一设备与所述第二设备无线连接。
  4. 根据权利要求1或2所述的方法,其特征在于,所述第一设备与所述第二设备有线连接。
  5. 根据权利要求1至4任一项所述的方法,其特征在于,所述第一设备包括以下设备的一种或几种:可移动物体、载体、承载物。
  6. 根据权利要求5所述的方法,其特征在于,所述可移动物体包括无人机,所述载体包括有指向和稳定功能的云台,承载物包括相机。
  7. 根据权利要求6所述的方法,其特征在于,所述监听对象包括以下的一种或几种:所述无人机的状态信息、所述无人机的组件的状态信息、所述云台的状态信息、所述相机的状态信息。
  8. 根据权利要求7所述的方法,其特征在于,所述无人机的状态信息包括以下一种或几种:无人机的高度、无人机的位置、无人机的角度、无人机的速度;所述无人机的组件的状态信息包括:飞控的状态信息;所述云台的状态信息包括:云台的角度;所述相机的状态信息包括以下一种或几种:感光度、快门速度、曝光补偿、光圈。
  9. 根据权利要求1至8任一项所述的方法,其特征在于,所述第二设备包括以下设备的一种或几种:地面站、遥控器、手机、平板电脑、个人电脑、无人机。
  10. 根据权利要求1至9任一项所述的方法,其特征在于,所述在所述监听环境中添加监听器,包括:
    将所述监听器和所述监听对象的指针信息添加到所述监听环境中。
  11. 根据权利要求10所述的方法,其特征在于,将所述监听器和所述监听对象的指针信息添加到所述监听环境中,包括:
    将所述监听器和所述监听对象的弱指针添加到所述监听环境中。
  12. 根据权利要求1至11任一项所述的方法,其特征在于,当所述监听对象发生变化时,通知第二设备,包括:
    当所述监听对象发生变化时,通知部署在第二设备上的应用程序。
  13. 根据权利要求1至12任一项所述的方法,其特征在于,
    所述监听器用于监听所述监听对象的变化,包括:监听器用于监听所述监听对象键值的变化;
    当所述监听对象发生变化时,通知第二设备,包括:当所述监听对象的键值发生变化时,通知所述第二设备。
  14. 根据权利要求1至13任一项所述的方法,其特征在于,所述方法还包括:
    当所述监听对象被释放时,释放与所述监听对象关联的监听环境及监听器。
  15. 根据权利要求14所述的方法,其特征在于,所述当所述监听对象被释放时,释放与所述监听对象关联的监听环境及监听器,包括:
    当所述监听对象释放时,监听到键值变更为空,释放与所述监听对象关联的监听环境及监听器。
  16. 根据权利要求1至15任一项所述的方法,其特征在于,所述方法还包括:
    当注册自定义远程读写方法时,若当前不存在所述监听环境,则自动创建所述监听环境,其中,所述自定义远程读写方法用于对监听对象进行读写操作。
  17. 根据权利要求16所述的方法,其特征在于,所述方法还包括:
    检查是否已经添加所述自定义远程读写方法;
    若已经添加所述自定义远程读写方法,则调用所述自定义远程读写方法;
    若没有添加所述自定义远程读写方法,则调用默认读写方法。
  18. 根据权利要求1至17任一项所述的方法,其特征在于,所述方法还包括:
    当调用开始写入接口开始对所述监听对象写入时,在所述监听环境中增加锁定状态;
    当调用结束写入接口结束对所述监听对象写入时,在所述监听环境中消除锁定状态,并将结束写入时所携带的信息回调给所调用的异步写入方法和异步读取方法。
  19. 根据权利要求17述的方法,其特征在于,所述方法还包括:
    当调用结束读取接口或更新键值接口时,
    若所述监听环境处于所述锁定状态,则不进行任何操作;
    若所述监听环境不处于所述锁定状态,则回调所调用的异步读取方法。
  20. 一种远程同步的装置,其特征在于,所述装置包括:
    关联模块,用于将监听环境关联到对应的监听对象,其中,所述监听对象为第一设备的状态信息;
    监听器添加模块,用于在所述监听环境中添加监听器,其中,所述监听器用于监听所述监听对象的变化;
    通知模块,用于当所述监听对象发生变化时,通知第二设备。
  21. 根据权利要求20所述的装置,其特征在于,所述监听环境包括上下文context,所述context是用于实现运行时runtime系统所保存的信息。
  22. 根据权利要求20或21所述的装置,其特征在于,所述第一设备为所述第二设备的远程设备,所述第一设备与所述第二设备无线连接。
  23. 根据权利要求20或21所述的装置,其特征在于,所述第一设备与所述第二设备有线连接。
  24. 根据权利要求20至23任一项所述的装置,其特征在于,所述第一设备包括以下设备的一种或几种:可移动物体、载体、承载物。
  25. 根据权利要求24所述的装置,其特征在于,所述可移动物体包括无人机,所述载体包括有指向和稳定功能的云台,承载物包括相机。
  26. 根据权利要求25所述的装置,其特征在于,所述监听对象包括以下的一种或几种:所述无人机的状态信息、所述无人机的组件的状态信息,所述云台的状态信息、所述相机的状态信息。
  27. 根据权利要求26所述的装置,其特征在于,
    所述无人机的状态信息包括以下一种或几种:无人机的高度、无人机的位置、无人机的速度、无人机的角度;
    所述无人机的组件的状态信息包括:飞控的状态信息;
    所述云台的状态信息包括:云台的角度;
    所述机载相机的状态信息包括以下一种或几种:感光度、快门速度、曝光补偿、光圈。
  28. 根据权利要求20至27任一项述的装置,其特征在于,所述第二设备包括以下设备的一种或几种:地面站、遥控器、手机、平板电脑、个人电脑、无人机。
  29. 根据权利要求20至28任一项所述的装置,其特征在于,所述监听器添加模块,具体用于将所述监听器、所述监听对象的指针信息添加到所述监听环境中。
  30. 根据权利要求29所述的装置,其特征在于, 所述监听器添加模块,具体用于将所述监听器和所述监听对象的弱指针添加到所述监听环境中。
  31. 根据权利要求20至30任一项所述的装置,其特征在于,所述通知模块,具体用于当所述监听对象发生变化时,通知部署在第二设备上的应用程序。
  32. 根据权利要求20至31任一项所述的装置,其特征在于,
    所述监听器,具体用于监听所述监听对象键值的变化;
    所述通知模块,具体用于当所述监听对象的键值发生变化时,通知所述第二设备。
  33. 根据权利要求20至32任一项所述的装置,其特征在于,所述装置还包括监听器释放模块,用于当所述监听对象被释放时,释放与所述监听对象关联的监听环境及监听器。
  34. 根据权利要求33所述的装置,其特征在于,所述监听器释放模块,具体用于当所述监听对象被释放时,监听到键值变更为空,释放与所述监听对象关联的监听环境及监听器。
  35. 根据权利要求20至34任一项所述的装置,其特征在于,所述装置还包括创建模块,用于当注册自定义远程读写方法时,若当前不存在所述监听环境,则自动创建所述监听环境,其中,所述自定义远程读写方法用于对监听对象进行远程读写操作。
  36. 根据权利要求20至35任一项所述的装置,其特征在于,所述装置还包括检查模块,用于检查是否已经添加所述自定义远程读写方法;若已经添加所述自定义远程读写方法,则调用所述自定义远程读写方法;若没有添加所述自定义远程方法,则调用默认读写方法。
  37. 根据权利要求20至36任一项所述装置,其特征在于,所述装置还包括读写保护模块,用于当调用开始写入接口开始对所述监听对象写入时,在所述监听环境中增加锁定状态;当调用结束写入接口结束对所述监听对象写入时,在所述监听环境中消除锁定状态,并将结束写入时所携带的信息回调给所调用的异步写入方法和异步读取方法。
  38. 根据权利要求37所述装置,其特征在于,所述读写保护模块,还用于当调用结束读取接口或更新键值接口时,若所述监听环境处于所述锁定状态,则不进行任何操作;若所述监听环境不处于所述锁定状态,则回调所调用的异步键值方法。
  39. 一种远程同步系统,包括第一设备和第二设备,所述第一设备包括以下设备的一种或几种:无人机、无人机的组件、有指向和稳定功能的云台、相机,所述第二设备包括以下设备的一种或几种:地面站、遥控器、手机、平板电脑、个人电脑、无人机,其特征在于,所述远程同步系统还包括远程同步装置,所述远程同步装置包括:
    关联模块,用于将监听环境关联到对应的监听对象,其中,所述监听对象为所述第一设备的状态信息;
    监听器添加模块,用于在所述监听环境中添加监听器,其中,所述监听器用于监听所述监听对象的变化;
    通知模块,用于当所述监听对象发生变化时,通知所述第二设备。
  40. 根据权利要求39所述的系统,其特征在于,所述监听环境包括上下文context,所述context是用于实现运行时runtime系统所保存的信息。
  41. 根据权利要求39或40所述的系统,其特征在于,
    所述第一设备的状态信息包括以下状态信息的一种或几种:无人机的状态信息、无人机的组件的状态信息、云台的状态信息、相机的状态信息;
    所述无人机的状态信息包括以下一种或几种:无人机的高度、无人机的位置、无人机的速度、无人机的角度;
    所述无人机的组件的状态信息包括:飞控的状态信息;
    所述云台的状态信息包括:云台的角度;
    所述相机的状态信息包括以下一种或几种:感光度、快门速度、曝光补偿、光圈。
  42. 根据权利要求39至41任一项所述的系统,其特征在于,所述监听器添加模块,具体用于将所述监听器、所述监听对象的指针信息添加到所述监听环境中。
  43. 根据权利要求42所述的系统,其特征在于,所述监听器添加模块,具体用于将所述监听器、所述监听对象的弱指针添加到所述监听环境中。
  44. 根据权利要求39至43任一项所述的系统,其特征在于,所述通知模块,具体用于当所述监听对象发生变化时,通知部署在第二设备上的应用程序。
  45. 根据权利要求39至44任一项所述的系统,其特征在于,
    所述监听器,具体用于监听所述监听对象键值的变化;
    所述通知模块,具体用于当所述监听对象的键值发生变化时,通知所述第二设备。
  46. 根据权利要求39至45任一项所述的系统,其特征在于,所述远程同步装置还包括监听器释放模块,用于当所述监听对象被释放时,释放与所述监听对象关联的监听环境及监听器。
  47. 根据权利要求46所述的系统,其特征在于,所述监听器释放模块,具体用于当所述监听对象被释放时,监听到键值变更为空,释放与所述监听对象关联的监听环境及监听器。
  48. 根据权利要求39至47任一项所述的系统,其特征在于,所述远程同步装置还包括创建模块,用于当注册所述自定义远程读写方法时,若当前不存在所述监听环境,则自动创建所述监听环境,其中,所述自定义远程读写方法用于对监听对象进行读写操作。
  49. 根据权利要求39至48任一项所述的系统,其特征在于,所述远程同步装置还包括检查模块,用于检查是否已经添加所述自定义远程读写方法;若已经添加所述自定义远程读写方法,则调用所述自定义远程读写方法;若没有添加所述自定义远程方法,则调用默认读写方法。
  50. 根据权利要求39至59任一项所述的系统,其特征在于, 所述远程同步装置还包括读写保护模块,用于当调用开始写入接口开始对所述监听对象写入时,在所述监听环境中增加锁定状态;当调用结束写入接口结束对所述监听对象写入时,在所述监听环境中消除锁定状态,并将结束写入时所携带的信息回调给所调用的异步写入方法和异步读取方法。
  51. 根据权利要求50所述的系统,其特征在于,所述写保护模块,还用于当调用结束读取接口或更新键值接口时,若所述监听环境处于所述锁定状态,则不进行任何操作;若所述监听环境不处于所述锁定状态,则回调所调用的异步键值方法。
  52. 一种远程同步系统,其特征在于,包括控制单元,用于执行如权利要求1至19任一项所述的远程同步方法的步骤。
  53. 一种存储介质,其特征在于,用于存储指令,所述指令用于执行如权利要求1至19任一项所述的远程同步方法的步骤。
  54. 一种远程同步方法,应用于无人机系统,其特征在于,所述方法包括:
    为监听对象注册一个或多个监听器,其中所述监听对象为第一设备的状态信息;
    当所述监听对象发生变化时,通知第二设备;
    其中,第一设备为第二设备的远端设备。
  55. 根据权利要求48所述的方法,其特征在于,所述方法还包括:
    当所述监听对象被释放时,移除所述一个或多个监听器。
  56. 根据权利要求48或49所述的方法,其特征在于,所述为第一设备的状态信息注册一个或多个监听器包括:
    监听器向被监听对象发送注册消息,所述注册消息中携带有监听器的标识和监听对象的键路径keypath。
  57. 根据权利要求54至56任一项所述的方法,其特征在于,所述当监听对象发生变化时,通知第二设备包括:
    当所述监听对象发生变化时,给第二设备发送通知消息,其中,所述通知消息携带有以下一种或两种值:所述监听对象变化前的值、所述监听对象变化后的值。
  58. 根据权利要求54至57任一项所述的方法,其特征在于,所述第一设备包括以下一种或几种:无人机、云台、相机。
  59. 根据权利要求54至58任一项所述的方法,其特征在于,所述第一设备的状态信息包括以下一种或几种:无人机的状态信息、无人机的组件的状态信息、云台的状态信息、相机的状态信息;
    所述无人机的状态信息包括以下一种或几种:无人机的高度、无人机的位置、无人机的角度、无人机的速度;
    所述无人机的组件的状态信息包括:飞控的状态信息;
    所述云台的状态信息包括:云台的角度;
    所述相机的状态信息包括以下一种或几种:感光度、快门速度、曝光补偿、光圈。
  60. 根据权利要求48至53任一项所述的方法,其特征在于,
    所述第二设备包括以下一种或几种:遥控器、地面站、手机、平板电脑、个人电脑。
PCT/CN2016/086778 2016-06-22 2016-06-22 一种远程同步的方法、装置及系统 WO2017219290A1 (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
PCT/CN2016/086778 WO2017219290A1 (zh) 2016-06-22 2016-06-22 一种远程同步的方法、装置及系统
CN201680008273.8A CN107466467B (zh) 2016-06-22 2016-06-22 一种远程同步的方法、装置及系统
US16/217,524 US10819787B2 (en) 2016-06-22 2018-12-12 Remote synchronization method, apparatus, and system
US17/070,328 US20210026376A1 (en) 2016-06-22 2020-10-14 Remote synchronization method, apparatus, and system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2016/086778 WO2017219290A1 (zh) 2016-06-22 2016-06-22 一种远程同步的方法、装置及系统

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US16/217,524 Continuation US10819787B2 (en) 2016-06-22 2018-12-12 Remote synchronization method, apparatus, and system

Publications (1)

Publication Number Publication Date
WO2017219290A1 true WO2017219290A1 (zh) 2017-12-28

Family

ID=60545122

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2016/086778 WO2017219290A1 (zh) 2016-06-22 2016-06-22 一种远程同步的方法、装置及系统

Country Status (3)

Country Link
US (2) US10819787B2 (zh)
CN (1) CN107466467B (zh)
WO (1) WO2017219290A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108089205B (zh) * 2017-12-21 2021-02-02 成都大学 一种无人机飞控人员定位系统
CN110704203B (zh) * 2018-07-10 2022-08-16 武汉斗鱼网络科技有限公司 一种可中断的远程过程调用方法及装置
US11822904B2 (en) * 2019-05-06 2023-11-21 Google Llc Generating and updating voice-based software applications using application templates
CN112631421B (zh) * 2020-12-07 2022-07-26 联想(北京)有限公司 消息传输控制方法、装置及电子设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104570872A (zh) * 2015-01-07 2015-04-29 厦门翼正航空科技有限公司 一种无人机远程监控与管制方法
US20150142211A1 (en) * 2012-05-04 2015-05-21 Aeryon Labs Inc. System and method for controlling unmanned aerial vehicles
CN105045283A (zh) * 2015-08-19 2015-11-11 无锡觅睿恪科技有限公司 无人机的控制装置及其操作界面
CN204926552U (zh) * 2015-08-14 2015-12-30 成都翼比特科技有限责任公司 无人机低空预警管理系统
CN204968021U (zh) * 2015-09-06 2016-01-13 深圳市顶逸创新科技有限公司 无人机及其智能监控系统

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6321338B1 (en) * 1998-11-09 2001-11-20 Sri International Network surveillance
US6754678B2 (en) * 1999-12-20 2004-06-22 California Institute Of Technology Securely and autonomously synchronizing data in a distributed computing environment
US8538673B2 (en) * 2008-10-31 2013-09-17 Czech Technical University In Prague System and method for planning/replanning collision free flight plans in real or accelerated time
US8630751B2 (en) * 2009-06-30 2014-01-14 Spider Tracks Limited Tracking system device and method
CN101738608B (zh) * 2009-12-11 2013-03-20 北京航空航天大学 一种无人机遥测信息综合处理系统及其综合处理显示方法
US9083627B2 (en) * 2011-12-20 2015-07-14 Cisco Technology, Inc. Assisted traffic engineering for minimalistic connected object networks
US20160086391A1 (en) * 2012-03-14 2016-03-24 Autoconnect Holdings Llc Fleetwide vehicle telematics systems and methods
US10780988B2 (en) * 2014-08-11 2020-09-22 Amazon Technologies, Inc. Propeller safety for automated aerial vehicles
SG10201406357QA (en) * 2014-10-03 2016-05-30 Infinium Robotics Pte Ltd System for performing tasks in an operating region and method of controlling autonomous agents for performing tasks in the operating region
US10122748B1 (en) * 2015-08-21 2018-11-06 InsCyt, LLC Network protection system and threat correlation engine

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150142211A1 (en) * 2012-05-04 2015-05-21 Aeryon Labs Inc. System and method for controlling unmanned aerial vehicles
CN104570872A (zh) * 2015-01-07 2015-04-29 厦门翼正航空科技有限公司 一种无人机远程监控与管制方法
CN204926552U (zh) * 2015-08-14 2015-12-30 成都翼比特科技有限责任公司 无人机低空预警管理系统
CN105045283A (zh) * 2015-08-19 2015-11-11 无锡觅睿恪科技有限公司 无人机的控制装置及其操作界面
CN204968021U (zh) * 2015-09-06 2016-01-13 深圳市顶逸创新科技有限公司 无人机及其智能监控系统

Also Published As

Publication number Publication date
CN107466467A (zh) 2017-12-12
US20190116225A1 (en) 2019-04-18
US10819787B2 (en) 2020-10-27
CN107466467B (zh) 2020-11-10
US20210026376A1 (en) 2021-01-28

Similar Documents

Publication Publication Date Title
WO2017219290A1 (zh) 一种远程同步的方法、装置及系统
WO2017084051A1 (zh) 外接设备的管理方法、装置、系统以及存储器、无人机
WO2016049905A1 (zh) 一种飞行任务处理方法、装置及系统
WO2013035952A1 (en) Mobile terminal, image display device mounted on vehicle and data processing method using the same
WO2018076866A1 (zh) 数据处理方法、装置、存储介质、电子设备及服务器
WO2015053454A1 (en) Communication service operating method and electronic device supporting the same
WO2016074235A1 (zh) 一种移动物体的控制方法、装置及移动设备
WO2018161585A1 (zh) 电子设备帧率的控制方法、装置、存储介质及电子设备
WO2017206878A1 (zh) 一种基于唤醒锁的处理方法、装置、存储介质及电子设备
WO2015156640A1 (en) Method and device for controlling security screen in electronic device
WO2018076819A1 (zh) 数据的上传方法、装置、存储介质、电子设备及系统
WO2018076864A1 (zh) 一种数据同步方法、装置、存储介质及电子设备
WO2018161593A1 (zh) 广播处理方法、装置、存储介质和终端设备
WO2020032449A1 (en) Electronic device for supporting data communication and method therefor
WO2015163646A1 (ko) 메시지 서비스 제공 장치 및 방법
WO2018076888A1 (zh) 移动终端数据的同步方法、装置及系统、存储介质及移动终端
WO2022031029A1 (ko) 전자 장치 및 전자 장치가 외부 장치 디스플레이 상에 어플리케이션 화면을 제공하는 방법
WO2017219636A1 (zh) 数据交互方法、云端服务器以及智能终端
WO2020218805A1 (en) Electronic device and method of controlling thereof
WO2021162186A1 (ko) 전자 장치와 외부 전자 장치의 전기적 연결에 의해 생성된 통신 채널을 이용하는 전자 장치 및 전자 장치의 동작 방법
WO2017206892A1 (zh) 一种移动终端的传感器处理方法、装置、存储介质及电子设备
WO2018076829A1 (zh) 终端数据的处理方法、装置、系统、存储介质及服务器
WO2017111291A1 (en) Electronic device and method of controlling the same
WO2020067677A1 (ko) 외부 장치와 통신이 필요한 어플리케이션의 운영 방법 및 전자 장치
WO2017206867A1 (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: 16905832

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 16905832

Country of ref document: EP

Kind code of ref document: A1