CN116471550A - Communication system, communication method and equipment - Google Patents

Communication system, communication method and equipment Download PDF

Info

Publication number
CN116471550A
CN116471550A CN202210027797.9A CN202210027797A CN116471550A CN 116471550 A CN116471550 A CN 116471550A CN 202210027797 A CN202210027797 A CN 202210027797A CN 116471550 A CN116471550 A CN 116471550A
Authority
CN
China
Prior art keywords
electronic device
broadcast
time
data packet
communication
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202210027797.9A
Other languages
Chinese (zh)
Inventor
蒋钟寅
郑博文
林学森
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN202210027797.9A priority Critical patent/CN116471550A/en
Priority to PCT/CN2023/070541 priority patent/WO2023134522A1/en
Publication of CN116471550A publication Critical patent/CN116471550A/en
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/06Selective distribution of broadcast services, e.g. multimedia broadcast multicast service [MBMS]; Services to user groups; One-way selective calling services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L5/00Arrangements affording multiple use of the transmission path
    • H04L5/14Two-way operation using the same type of signal, i.e. duplex
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W72/00Local resource management
    • H04W72/12Wireless traffic scheduling
    • H04W72/1263Mapping of traffic onto schedule, e.g. scheduled allocation or multiplexing of flows
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/02Processing of mobility data, e.g. registration information at HLR [Home Location Register] or VLR [Visitor Location Register]; Transfer of mobility data, e.g. between HLR, VLR or external networks
    • H04W8/08Mobility data transfer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/18Self-organising networks, e.g. ad-hoc networks or sensor networks
    • H04W84/20Master-slave selection or change arrangements
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Multimedia (AREA)
  • Databases & Information Systems (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

The application provides a communication system, a communication method and equipment. In the communication system, a first electronic device sends first indication information to a second electronic device, wherein the first indication information is used for indicating the period of a communication window and the starting time of the communication window, and the communication window is a time period for broadcasting communication between the first electronic device and the second electronic device; the first electronic device and the second electronic device transmit broadcast data packets or initiate broadcast scanning in a communication window. Based on the communication system, the first electronic device can indicate the period of the communication window and the starting time of the communication window to the second electronic device through the first indication information, so that the first electronic device and the second electronic device can align communication time, broadcast scanning or broadcast data packet sending can be performed in the same communication window, the problem of packet loss in broadcast communication is avoided, and efficient and accurate ordered communication is realized.

Description

Communication system, communication method and equipment
Technical Field
The present disclosure relates to the field of communications technologies, and in particular, to a communications system, a communications method, and a device.
Background
Along with the development of internet of things, various wearable devices and intelligent devices surrounding people are gradually increased, for example, users may simultaneously have electronic devices such as smart phones, tablet computers, televisions, sound equipment, headphones, car machines, AR/VR devices and the like, and the devices bring intelligent services to the users in scenes such as home, office, traffic, entertainment, body building and the like, so that user experience is improved.
In order to provide convenient intelligent service for users, a plurality of electronic devices need to interact with each other to perform cooperative work, the plurality of electronic devices need to be connected to a communication bus, for example, the plurality of electronic devices are connected to the same wireless bus, and the wireless bus can be realized through Wi-Fi, bluetooth, zig-zag-bee and other wireless technologies.
When a plurality of electronic devices communicate based on a Bluetooth broadcasting technology, a receiving party sends a Bluetooth broadcasting data packet in the scanning starting process, and then the receiving party can receive the Bluetooth broadcasting data packet sent by the sending party; if the receiving party does not start scanning, any Bluetooth broadcast data packet cannot be received. In order to prevent packet loss, the receiving side needs to scan with high duty ratio to increase the probability of receiving the bluetooth broadcast data packet sent by the sending side. For example, if the receiving party continues scanning, a bluetooth broadcast packet sent randomly by the transmitting party may be received. However, when the electronic device is turned on, the scanning with a high duty ratio causes high power consumption and resource waste, and thus the normal working state of the electronic device cannot be maintained for a long time.
Therefore, there is a need for an efficient communication method.
Disclosure of Invention
The application provides a communication system, a communication method and a communication device, which are used for improving communication efficiency between electronic devices.
In a first aspect, the present application provides a communication system comprising a first electronic device and a second electronic device;
the first electronic device is configured to send first indication information to the second electronic device, where the first indication information is used to indicate a period of a communication window and a start time of the communication window, and the communication window is a time period during which the first electronic device and the second electronic device perform broadcast communication; transmitting a broadcast data packet or starting a broadcast scan in the communication window;
the second electronic device is configured to receive the first indication information sent by the first electronic device, and send a broadcast data packet in the communication window or start broadcast scanning.
Based on the communication system, the first electronic device can indicate the period of the communication window and the starting time of the communication window to the second electronic device through the first indication information, so that the first electronic device and the second electronic device can align communication time, broadcast scanning or broadcast data packet sending can be performed in the same communication window, the problem of packet loss in broadcast communication is avoided, and efficient and accurate ordered communication is realized. Meanwhile, the scheme does not need to continuously start broadcast scanning by the electronic equipment, so that resources are saved and communication efficiency is improved.
In one possible design, the first electronic device is further configured to: before the first indication information is sent to the second electronic equipment, receiving a broadcast data packet sent by the second electronic equipment, and determining that the first electronic equipment and the second electronic equipment communicate based on the same communication protocol;
the second electronic device is configured to: and before receiving the first indication information sent by the first electronic equipment, receiving a broadcast data packet sent by the first electronic equipment, and determining that the first electronic equipment and the second electronic equipment communicate based on the same communication protocol.
Through the design, after the first electronic device and the second electronic device receive the broadcast data packet sent by the other party, the first electronic device and the second electronic device can be determined to communicate based on the same communication protocol according to the received broadcast data packet, so that the first electronic device and the second electronic device can analyze the broadcast data packet sent by the other party and further perform communication interaction.
In one possible design, the first electronic device is further configured to: after determining that the first electronic device and the second electronic device communicate based on the same communication protocol, determining that the first electronic device and the second electronic device have a binding relationship;
The second electronic device is further configured to: after determining that the first electronic device and the second electronic device communicate based on the same communication protocol, determining that the first electronic device and the second electronic device have a binding relationship.
Through the design, the first electronic device and the second electronic device can determine that the first electronic device and the second electronic device have a binding relationship, for example, the first electronic device and the second electronic device bind the same user account, the first electronic device and the second electronic device are in the same area, the first electronic device and the second electronic device scan the same two-dimensional code, and the like. In this way, the electronic devices with binding relationship can be used as a communication group, and a plurality of electronic devices orderly communicate in the communication group so as to realize cooperative work among a plurality of devices.
In one possible design, the first electronic device is further configured to: acquiring a weight value of the second electronic equipment;
determining the first electronic equipment as a master equipment according to the weight value of the first electronic equipment and the weight value of the second electronic equipment, wherein the second electronic equipment is a slave equipment; the weight value of the first electronic device is used for representing the priority of the first electronic device, and the weight value of the second electronic device is used for representing the priority of the second electronic device; the weight value of the first electronic device is larger than the weight value of the second electronic device;
The second electronic device is further configured to: acquiring a weight value of the first electronic equipment; and determining the first electronic equipment as a master equipment and the second electronic equipment as a slave equipment according to the weight value of the first electronic equipment and the weight value of the second electronic equipment.
Through the design, the first electronic device and the second electronic device can acquire the weight value of each other to determine the role of the first electronic device and the second electronic device in the communication group, for example, the electronic device with the largest weight value is used as a master device, and other electronic devices are used as slave devices. The slave device may be clock synchronized with the master device, and the master device may indicate to the slave device the period and start time of the communication window to align the communication window for orderly communication. The electronic device with the largest weight value indicates that the priority of the electronic device is highest, for example, the electronic device most commonly used by the user in the current scene.
In one possible design, the first electronic device is further configured to:
after the first electronic device is determined to be a master device and the second electronic device is a slave device, authenticating the second electronic device, and determining that the second electronic device is authenticated;
The second electronic device is further configured to: and after the first electronic equipment is determined to be the master equipment and the second electronic equipment is the slave equipment, authenticating the first electronic equipment, and determining that the authentication of the first electronic equipment is passed.
Through the design, before the first electronic device and the second electronic device align with the communication window, after the first electronic device is determined to be the master device and the second electronic device is determined to be the slave device, the first electronic device and the second electronic device can perform bidirectional authentication, the first electronic device authenticates the second electronic device and passes the authentication of the second electronic device, and after the second electronic device authenticates the first electronic device, the first electronic device sends first indication information to the second electronic device again, so that communication safety is ensured.
In one possible design, the second electronic device is further configured to: a target clock difference between the second electronic device and the first electronic device is determined prior to transmitting a broadcast data packet or initiating a broadcast scan in the communication window.
Through the design, the second electronic equipment can determine the target clock difference value between the clock of the second electronic equipment and the clock of the first electronic equipment, so that the second electronic equipment can realize clock synchronization with the first electronic equipment according to the clock difference value, the situation that the second electronic equipment is not synchronous with the clock of the first electronic equipment and cannot align communication time is prevented, and the first electronic equipment and the second electronic equipment can carry out broadcast communication in the same communication window is ensured.
In one possible design, the first electronic device includes an upper computer and a lower computer, and the second electronic device includes an upper computer and a lower computer;
the second electronic device is configured to: acquiring a first clock difference value, wherein the first clock difference value is a clock difference value between a lower computer of the first electronic equipment and a lower computer of the second electronic equipment; acquiring a second clock difference value, wherein the second clock difference value is a clock difference value between an upper computer of the first electronic equipment and a lower computer of the first electronic equipment; determining a third clock difference value, wherein the third clock difference value is a clock difference value between an upper computer of the second electronic equipment and a lower computer of the second electronic equipment; determining the target clock difference value according to the first clock difference value, the second clock difference value and the third clock difference value;
the first electronic device is further configured to: determining the second clock difference value between an upper computer of the first electronic device and a lower computer of the first electronic device; and sending the second clock difference value to the second electronic equipment.
Through the design, the target clock difference value between the first electronic device and the second electronic device can comprise a first clock difference value between a lower computer of the first electronic device and a lower computer of the second electronic device, a second clock difference value between an upper computer of the first electronic device and the lower computer, and a third clock difference value between an upper computer of the second electronic device and the lower computer, and the second electronic device can acquire the three clock difference values, so that the target clock difference value is determined, and the accuracy of the determined target clock difference value is improved.
In one possible design, the first electronic device is further configured to: transmitting a first broadcast data packet to the second electronic device, and determining a first time when the first electronic device actually transmits the first broadcast data packet; transmitting a second broadcast data packet to the second electronic device, wherein the second broadcast data packet comprises the first time;
the second electronic device is configured to: receiving the first broadcast data packet sent by the first electronic equipment, and recording a second time for receiving the first broadcast data packet; receiving the second broadcast data packet sent by the first electronic device, and obtaining a first time in the second broadcast data packet; determining a broadcast transmission delay between the first electronic device and the second electronic device; and determining the target clock difference value according to the first time, the second time and the broadcast transmission delay.
By the design, the second electronic device can also determine the target clock difference value according to the time of the broadcast data packet sent by the first electronic device. The second electronic device may record the time of receiving the first broadcast data packet sent by the first electronic device, obtain the time of actually sending the first broadcast data packet by the first electronic device, determine a broadcast transmission delay of transmission of the broadcast data packet between the first electronic device and the second electronic device, and further accurately determine a target clock difference value between the first electronic device and the second electronic device.
In one possible design, the first electronic device includes an upper computer and a lower computer; the upper computer of the first electronic device is specifically configured to: determining the starting time and the ending time of the broadcast scanning according to the period of the communication window and the starting time of the communication window, triggering the lower computer of the first electronic equipment to start the broadcast scanning at the starting time of the broadcast scanning, and triggering the lower computer of the first electronic equipment to close the broadcast scanning at the ending time of the broadcast scanning; determining the starting time of the broadcast event and the ending time of the broadcast event according to the period of the communication window and the starting time of the communication window; and triggering the lower computer of the first electronic equipment to send the broadcast data packet at the starting time of the broadcast event, and triggering the lower computer of the first electronic equipment to stop sending the broadcast data packet at the ending time of the broadcast event.
In one possible design, the first electronic device includes a lower computer; the lower computer of the first electronic device is specifically configured to: determining the starting time and the ending time of the broadcast scanning according to the period of the communication window and the starting time of the communication window, starting the broadcast scanning at the starting time of the broadcast scanning, and closing the broadcast scanning at the ending time of the broadcast scanning; determining the starting time of the broadcast event and the ending time of the broadcast event according to the period of the communication window and the starting time of the communication window; and sending the broadcast data packet at the starting time of the broadcast event, and stopping sending the broadcast data packet at the ending time of the broadcast event.
By the design, when the first electronic device starts the broadcast scanning or sends the broadcast data packet in the communication window, the first electronic device can control to start the broadcast scanning or send the broadcast data packet according to the following two modes: one way is that an upper computer of a first electronic device respectively triggers a lower computer of the electronic device to execute corresponding processing at the starting time and the ending time of a broadcast scanning or broadcasting event; another way is to determine the start time and the end time of the broadcast scan or broadcast event for the lower computer of the first electronic device and perform the corresponding processing when the determined time arrives. Through the two modes, the purposes of accurately starting broadcast scanning and/or sending broadcast data packets in a communication window can be achieved, and ordered communication is achieved.
In one possible design, the lower computer of the first electronic device is further configured to: if the service with the priority higher than the priority of the broadcast scanning exists in the current communication window, the broadcast scanning is started in a delayed mode.
By means of the design, in the scheme that the lower computer of the first electronic device determines the starting time and the ending time of the broadcast scanning and starts or closes the broadcast scanning when the determined time arrives, when the lower computer of the first electronic device determines that a service with priority higher than that of the broadcast scanning exists in a certain communication window, the broadcast scanning can be delayed, but the delay time of the broadcast scanning does not affect the time of starting the broadcast scanning in a next communication window, that is, the time of starting the broadcast scanning next time is still the starting time of the broadcast scanning next determined by the lower computer of the first electronic device. By the scheme, the situation that communication time cannot be aligned with other electronic equipment due to the fact that delay time influences the starting time of broadcast scanning in all subsequent communication windows after the broadcast scanning is delayed when higher-priority service exists can be avoided.
In one possible design, the second electronic device includes an upper computer and a lower computer; the upper computer of the second electronic device is specifically configured to: determining the starting time and the ending time of the broadcast scanning according to the period of the communication window, the starting time of the communication window and the target clock difference value, triggering a lower computer of the second electronic equipment to start the broadcast scanning at the starting time of the broadcast scanning, and triggering the lower computer of the second electronic equipment to close the broadcast scanning at the ending time of the broadcast scanning; determining the starting time of the broadcast event and the ending time of the broadcast event according to the period of the communication window, the starting time of the communication window and the target clock difference value; and triggering the lower computer of the second electronic equipment to send the broadcast data packet at the starting time of the broadcast event, and triggering the lower computer of the second electronic equipment to stop sending the broadcast data packet at the ending time of the broadcast event.
In one possible design, the second electronic device includes a lower computer; the lower computer of the second electronic device is specifically configured to: determining the starting time of the broadcast scanning and the ending time of the broadcast scanning according to the period of the communication window, the starting time of the communication window and the target clock difference value, starting the broadcast scanning at the starting time of the broadcast scanning, and closing the broadcast scanning at the ending time of the broadcast scanning; determining the starting time of the broadcast event and the ending time of the broadcast event according to the period of the communication window, the starting time of the communication window and the target clock difference value; and sending the broadcast data packet at the starting time of the broadcast event, and stopping sending the broadcast data packet at the ending time of the broadcast event.
By the design, when the second electronic device starts the broadcast scanning or sends the broadcast data packet in the communication window, the second electronic device can control to start the broadcast scanning or send the broadcast data packet according to the following two modes: one mode is that an upper computer of the second electronic equipment respectively triggers a lower computer of the electronic equipment to execute corresponding processing at the starting time and the ending time of a broadcast scanning or broadcasting event; and the other two modes are that the lower computer of the first electronic equipment determines the starting time and the ending time of the broadcast scanning or the broadcast event, and corresponding processing is executed when the determined time arrives. Through the two modes, the purposes of accurately starting broadcast scanning and/or sending broadcast data packets in a communication window can be achieved, and ordered communication is achieved. And when the upper computer or the lower computer of the second electronic device determines the starting time and the ending time of the broadcast scanning or the broadcast event, the starting time and the ending time of the broadcast scanning or the broadcast event can be determined according to the target clock difference value between the second electronic device and the first electronic device, so that the determined starting time and ending time of the broadcast scanning or the broadcast event are consistent with the starting time and the ending time of the broadcast scanning or the broadcast event determined by the first electronic device, and accurate and orderly communication is realized.
In one possible design, the lower computer of the second electronic device is further configured to: and if the service with the priority higher than that of the broadcast scanning exists in the current communication window, the broadcast scanning is started in a delayed mode.
In one possible design, the starting time of the target broadcast event and the starting time of the broadcast time last to the target broadcast time, the period of the communication window, and the delay of the broadcast event satisfy the following formulas, wherein the target broadcast event is any broadcast event except the first broadcast event among the plurality of broadcast events started in the communication window:
T advEventNext =T advEventPrevious -advDelayPrevious+advInterval+advDelayNext
wherein T is advEventNext T is the start time of the target broadcast event advEventPrevious As for the starting time of the last broadcast event of the target broadcast event, advDelayPrevious is the time delay of the last broadcast event of the target broadcast event, advInterval is the period of the communication window, and advDelayNext is the time delay of the target broadcast event.
According to the scheme, when the starting time of the next broadcast event is determined, the lower computer can subtract the broadcasting time delay of the current broadcast event and the period of the communication window and the broadcasting time delay of the next broadcast event on the basis of the starting time of the current broadcast event, so that when the starting time of the broadcast event is determined, only the broadcasting time delay of the broadcast event is considered, but the broadcasting time delay of the previous broadcast event is not accumulated, and the situation that the broadcasting event cannot be aligned with the communication window due to the fact that the starting time of the subsequent broadcast event is continuously delayed due to the continuous superposition time delay is avoided.
In one possible design, the upper computer of the first electronic device is a host in a bluetooth communication protocol, and the lower computer of the first electronic device is a controller in the bluetooth communication protocol.
Through the design, the first electronic equipment and the second electronic equipment can carry out Bluetooth broadcast communication, at the moment, the upper computer is a host in a Bluetooth communication protocol, and the lower computer is a controller in the Bluetooth communication protocol.
In one possible design, the broadcast data packet is a heartbeat packet for sensing the presence of other electronic devices, or the broadcast data packet is a service data packet for requesting a communication connection with other electronic devices, or the broadcast data packet is a service data packet for reporting a sensor event.
Through the design, when the first electronic device and the second electronic device send broadcast data packets in the communication window, broadcast data packets of various different services, such as heartbeat packets, service data packets for requesting to establish communication connection, service data packets for reporting sensor events and the like, can be sent, and thus, various services are realized through broadcast communication.
In a second aspect, the present application provides a communication method, applied to a first electronic device, the method including:
Transmitting first indication information to a second electronic device, wherein the first indication information is used for indicating the period of a communication window and the starting time of the communication window, and the communication window is a time period for broadcasting communication between the first electronic device and the second electronic device; and transmitting a broadcast data packet or starting broadcast scanning in the communication window.
In one possible design, before sending the first indication information to the second electronic device, the method further includes: and receiving a broadcast data packet sent by the second electronic equipment, and determining that the first electronic equipment and the second electronic equipment communicate based on the same communication protocol.
In one possible design, after determining that the first electronic device and the second electronic device communicate based on the same communication protocol, the method further includes: and determining that the first electronic device and the second electronic device have a binding relationship.
In one possible design, the method further comprises: acquiring a weight value of the second electronic equipment; determining the first electronic equipment as a master equipment according to the weight value of the first electronic equipment and the weight value of the second electronic equipment, wherein the second electronic equipment is a slave equipment; the weight value of the first electronic device is used for representing the priority of the first electronic device, and the weight value of the second electronic device is used for representing the priority of the second electronic device; the weight value of the first electronic device is larger than the weight value of the second electronic device.
In one possible design, after determining that the first electronic device is a master device and the second electronic device is a slave device, the method further includes: and authenticating the second electronic equipment, and determining that the authentication of the second electronic equipment is passed.
In one possible design, the first electronic device includes an upper computer and a lower computer, and the second electronic device includes an upper computer and a lower computer;
the method further comprises the steps of: determining the second clock difference value between an upper computer of the first electronic device and a lower computer of the first electronic device; transmitting the second clock difference value to the second electronic device, so that the second electronic device determines a target clock difference value between the second electronic device and the first electronic device according to the first clock difference value, the second clock difference value and the third clock difference value; the first clock difference value is a clock difference value between a lower computer of the first electronic device and a lower computer of the second electronic device, and the third clock difference value is a clock difference value between an upper computer of the second electronic device and a lower computer of the second electronic device.
In one possible design, the method further comprises: transmitting a first broadcast data packet to the second electronic device;
determining a first time at which the first electronic device actually transmits the first broadcast data packet; transmitting a second broadcast data packet to the second electronic device, wherein the second broadcast data packet comprises the first time, so that the second electronic device determines a target clock difference value between the second electronic device and the first electronic device according to the first time, the second time and the broadcast transmission delay; the second time is the time when the second electronic device receives the first broadcast data packet.
In one possible design, the transmitting the broadcast data packet or initiating the broadcast scan in the communication window includes: determining the starting time and the ending time of the broadcast scanning according to the period of the communication window and the starting time of the communication window, starting the broadcast scanning at the starting time of the broadcast scanning, and closing the broadcast scanning at the ending time of the broadcast scanning; determining the starting time of the broadcast event and the ending time of the broadcast event according to the period of the communication window and the starting time of the communication window; and sending the broadcast data packet at the starting time of the broadcast event, and stopping sending the broadcast data packet at the ending time of the broadcast event.
In one possible design, the method further comprises: if the service with the priority higher than the priority of the broadcast scanning exists in the current communication window, the broadcast scanning is started in a delayed mode.
In one possible design, the starting time of the target broadcast event and the starting time of the broadcast time last to the target broadcast time, the period of the communication window, and the delay of the broadcast event satisfy the following formulas, wherein the target broadcast event is any broadcast event except the first broadcast event among the plurality of broadcast events started in the communication window:
T advEventNext =T advEventPrevious -advDelayPrevious+advInterval+advDelayNext
wherein T is advEventNext T is the start time of the target broadcast event advEventPrevious As for the starting time of the last broadcast event of the target broadcast event, advDelayPrevious is the time delay of the last broadcast event of the target broadcast event, advInterval is the period of the communication window, and advDelayNext is the time delay of the target broadcast event.
In one possible design, the upper computer of the first electronic device is a host in a bluetooth communication protocol, and the lower computer of the first electronic device is a controller in the bluetooth communication protocol.
In one possible design, the broadcast data packet is a heartbeat packet for sensing the presence of other electronic devices, or the broadcast data packet is a service data packet for requesting a communication connection with other electronic devices, or the broadcast data packet is a service data packet for reporting a sensor event.
In a third aspect, the present application provides a communication method applied to a second electronic device, the method including:
receiving first indication information sent by a first electronic device, wherein the first indication information is used for indicating the period of a communication window and the starting time of the communication window, and the communication window is a time period for broadcasting communication between the first electronic device and the second electronic device; and transmitting a broadcast data packet or starting broadcast scanning in the communication window.
In one possible design, before the receiving the first indication information sent by the first electronic device, the method further includes: and receiving a broadcast data packet sent by the first electronic equipment, and determining that the first electronic equipment and the second electronic equipment communicate based on the same communication protocol.
In one possible design, after the determining that the first electronic device and the second electronic device communicate based on the same communication protocol, the method further includes: and determining that the first electronic device and the second electronic device have a binding relationship.
In one possible design, the method further comprises: acquiring a weight value of the first electronic equipment; determining the first electronic equipment as a master equipment and the second electronic equipment as a slave equipment according to the weight value of the first electronic equipment and the weight value of the second electronic equipment; the weight value of the first electronic device is used for representing the priority of the first electronic device, and the weight value of the second electronic device is used for representing the priority of the second electronic device; the weight value of the first electronic device is larger than the weight value of the second electronic device.
In one possible design, after the determining that the first electronic device is a master device and the second electronic device is a slave device, the method further includes: and authenticating the first electronic equipment, and determining that the authentication of the first electronic equipment is passed.
In one possible design, before sending a broadcast packet or initiating a broadcast scan in the communication window, the method further comprises: a target clock difference between the second electronic device and the first electronic device is determined.
In one possible design, the first electronic device includes an upper computer and a lower computer, and the second electronic device includes an upper computer and a lower computer; the determining a target clock difference between the second electronic device and the first electronic device includes: acquiring a first clock difference value, wherein the first clock difference value is a clock difference value between a lower computer of the first electronic equipment and a lower computer of the second electronic equipment; acquiring a second clock difference value, wherein the second clock difference value is a clock difference value between an upper computer of the first electronic equipment and a lower computer of the first electronic equipment; determining a third clock difference value, wherein the third clock difference value is a clock difference value between an upper computer of the second electronic equipment and a lower computer of the second electronic equipment; and determining the target clock difference value according to the first clock difference value, the second clock difference value and the third clock difference value.
In one possible design, the determining the target clock difference between the second electronic device and the first electronic device includes: receiving a first broadcast data packet sent by the first electronic equipment, and recording a second time for receiving the first broadcast data packet; receiving a second broadcast data packet sent by the first electronic device, and acquiring a first time in the second broadcast data packet; the first time is the time when the first electronic device actually transmits the first broadcast data packet; determining a broadcast transmission delay between the first electronic device and the second electronic device; and determining the target clock difference value according to the first time, the second time and the broadcast transmission delay.
In one possible design, the transmitting the broadcast data packet or initiating the broadcast scan in the communication window includes: determining the starting time of the broadcast scanning and the ending time of the broadcast scanning according to the period of the communication window, the starting time of the communication window and the target clock difference value, starting the broadcast scanning at the starting time of the broadcast scanning, and closing the broadcast scanning at the ending time of the broadcast scanning; determining the starting time of the broadcast event and the ending time of the broadcast event according to the period of the communication window, the starting time of the communication window and the target clock difference value; and sending the broadcast data packet at the starting time of the broadcast event, and stopping sending the broadcast data packet at the ending time of the broadcast event.
In one possible design, the method further comprises: if the service with the priority higher than the priority of the broadcast scanning exists in the current communication window, the broadcast scanning is started in a delayed mode.
In one possible design, the starting time of the target broadcast event and the starting time of the broadcast time last to the target broadcast time, the period of the communication window, and the delay of the broadcast event satisfy the following formulas, wherein the target broadcast event is any broadcast event except the first broadcast event among the plurality of broadcast events started in the communication window:
T advEventNext =T advEventPrevious -advDelayPrevious+advInterval+advDelayNext
wherein T is advEventNext T is the start time of the target broadcast event advEventPrevious As for the starting time of the last broadcast event of the target broadcast event, advDelayPrevious is the time delay of the last broadcast event of the target broadcast event, advInterval is the period of the communication window, and advDelayNext is the time delay of the target broadcast event.
In one possible design, the upper computer of the second electronic device is a host in a bluetooth communication protocol, and the lower computer of the second electronic device is a controller in the bluetooth communication protocol.
In one possible design, the broadcast data packet is a heartbeat packet for sensing the presence of other electronic devices, or the broadcast data packet is a service data packet for requesting a communication connection with other electronic devices, or the broadcast data packet is a service data packet for reporting a sensor event.
In a fourth aspect, the present application provides an electronic device comprising a plurality of functional modules; the plurality of functional modules interact to implement the method performed by the first electronic device or the second electronic device in any of the above aspects and embodiments thereof. The plurality of functional modules may be implemented based on software, hardware, or a combination of software and hardware, and the plurality of functional modules may be arbitrarily combined or divided based on the specific implementation.
In a fifth aspect, the present application provides an electronic device comprising at least one processor and at least one memory, the at least one memory storing computer program instructions that, when executed by the electronic device, perform the method performed by the first electronic device or the second electronic device in any of the above aspects and embodiments thereof.
In a sixth aspect, the present application further provides a computer program, which when run on a computer, causes the computer to perform the method performed by the first electronic device or the second electronic device in any of the above aspects and embodiments thereof.
In a seventh aspect, the present application further provides a computer readable storage medium having a computer program stored therein, which when executed by a computer, causes the computer to perform the method performed by the first electronic device or the second electronic device in any of the above aspects and embodiments thereof.
In an eighth aspect, the present application further provides a chip, where the chip is configured to read a computer program stored in a memory, and perform a method performed by the first electronic device or the second electronic device in any one of the above aspects and embodiments thereof.
In a ninth aspect, the present application further provides a chip system, where the chip system includes a processor, and the processor is configured to enable a computer apparatus to implement a method performed by the first electronic device or the second electronic device in any one of the above aspects and embodiments thereof. In one possible design, the chip system further includes a memory for storing programs and data necessary for the computer device. The chip system may be formed of a chip or may include a chip and other discrete devices.
Drawings
Fig. 1 is a schematic view of a scenario in which a plurality of electronic devices perform cooperative work according to an embodiment of the present application;
FIG. 2 is a schematic diagram of an electronic device communicating via Bluetooth broadcast;
fig. 3 is a schematic diagram of a communication system according to an embodiment of the present application;
fig. 4 is a schematic structural diagram of an electronic device according to an embodiment of the present application;
fig. 5 is a software structural block diagram of an electronic device according to an embodiment of the present application;
Fig. 6 is a schematic diagram of a module related to bluetooth communication in an electronic device according to an embodiment of the present application;
fig. 7 is a flowchart of a communication method provided in an embodiment of the present application;
fig. 8 is a flowchart of a method for performing authentication between electronic devices according to an embodiment of the present application;
fig. 9 is a schematic diagram of clock synchronization between a first electronic device and a second electronic device according to an embodiment of the present application;
fig. 10 is a schematic diagram of clock synchronization between a second first electronic device and a second electronic device according to an embodiment of the present application;
fig. 11 is a schematic diagram of clock synchronization between a third first electronic device and a second electronic device according to an embodiment of the present application;
FIG. 12 is a schematic diagram of an interaction flow between a host and a controller according to an embodiment of the present disclosure;
fig. 13 is a schematic diagram of a method for clock synchronization based on bluetooth broadcast according to an embodiment of the present application;
fig. 14 is a schematic diagram of a communication window provided in an embodiment of the present application;
fig. 15 is a schematic diagram of a communication window provided in an embodiment of the present application;
fig. 16 is a schematic diagram of a broadcast event according to an embodiment of the present application;
FIG. 17 is a schematic diagram of a host scheduling controller according to an embodiment of the present disclosure;
Fig. 18 is a schematic diagram of broadcast communication performed by a plurality of electronic devices in a communication window according to an embodiment of the present application;
fig. 19 is a schematic diagram of a plurality of electronic devices communicating in a communication window according to an embodiment of the present application;
fig. 20 is a flowchart of a communication method according to an embodiment of the present application.
Detailed Description
To facilitate an understanding of embodiments of the present application, the following terms relating to embodiments of the present application are presented:
(1) Bluetooth low energy (bluetooth low energy, BLE) is a low cost, short range, robust wireless technology. Compared with classical Bluetooth, BLE aims at remarkably reducing power consumption and cost while maintaining the same communication range, and BLE increases support and utilization of broadcast communication, bluetooth connection can be established between devices by sending broadcast data packets, and information can be interacted by sending the broadcast data packets.
(2) The upper computer and the lower computer are two roles in a communication system or electronic equipment. In the electronic device, the upper computer has a main control function, and is mainly used for planning and controlling tasks executed by the electronic device, belonging to a decision layer; the lower computer belongs to a specific execution layer and is mainly used for completing tasks issued by the upper computer, but the lower computer can also execute tasks by itself.
For example, in the bluetooth specification the upper computer may be a host (host), such as a central processing unit (central processing unit, CPU) in the electronic device; the lower computer may be a controller (controller), such as a bluetooth chip in an electronic device.
Along with the development of internet of things, various wearable devices and intelligent devices surrounding people are gradually increased, for example, users may simultaneously have electronic devices such as smart phones, tablet computers, televisions, sound equipment, headphones, car machines, AR/VR devices and the like, and the electronic devices bring intelligent services to the users in scenes such as home, office, traffic, entertainment, body building and the like, so that user experience is improved. For example, fig. 1 is a schematic view of a scenario in which a plurality of electronic devices cooperate. The scenario shown in fig. 1 includes a smart phone, a wearable device, a tablet, headphones, an AR/VR device, a speaker, and a television. Different electronic devices have different functions, and a plurality of electronic devices can form a super terminal, for example, the AR/VR device is connected with the mobile phone by taking the mobile phone used by the user as the center, so that stronger sensing capability can be provided for the user; the sound box is connected with the mobile phone, so that a better player or microphone function can be provided for a user; the television is connected with the mobile phone, so that stronger screen display capability can be provided for users.
In order to provide convenient intelligent services for users, a plurality of electronic devices need to interact with each other to perform cooperative work, so that the plurality of electronic devices need to be connected to one communication bus, for example, the plurality of electronic devices are connected to the same wireless bus, and the wireless bus can be realized through Wi-Fi, bluetooth, zig-zag-bee and other wireless technologies. To achieve smooth cooperative work between multiple electronic devices, a communication bus between multiple electronic devices needs to meet the following two requirements: 1. the electronic equipment can quickly find other electronic equipment and quickly sense the state change of the other electronic equipment; 2. the electronic device has lower power consumption when communicating based on the communication bus, and can work for a long time.
Alternatively, multiple electronic devices may communicate based on bluetooth broadcast technology. Fig. 2 is a schematic diagram of an electronic device communicating via bluetooth broadcast. Referring to fig. 2 (a), the electronic device a, the electronic device B, and the electronic device C transmit the broadcast data packets at different times, and at this time, the electronic device D needs to turn on scanning to receive the broadcast data packets transmitted by the above three electronic devices. Referring to fig. 2 (B), if the electronic device is turned on to perform continuous scanning, that is, the scanning turned on by the electronic device D covers all time domains, the electronic device D may receive all broadcast data packets sent by the electronic device a, the electronic device B, and the electronic device C, but as shown in fig. 2 (B), the electronic device is turned on to perform continuous scanning, which results in an increase of a time period of the idle scanning, resulting in resource waste, and the continuous scanning also results in high power consumption, and the electronic device cannot maintain long-term operation. Referring to fig. 2 (c), if the electronic device turns on the scan with the preset duty cycle, for example, the scan with the duty cycle of 50% turned on by the electronic device D is shown in fig. 2 (c). When the electronic equipment A sends a broadcast data packet, the electronic equipment D is in a scanning starting state, and the electronic equipment D can receive the broadcast data packet sent by the electronic equipment A; when the electronic device B sends the broadcast data packet, the electronic device D is in a state of not starting scanning, and the electronic device D cannot receive the broadcast data packet sent by the electronic device B, so that the packet is lost.
Based on the above-mentioned problems, the present application provides a communication method for improving communication efficiency between electronic devices.
Fig. 3 is a schematic diagram of a communication system according to an embodiment of the present application. Referring to fig. 3, the communication system includes a plurality of electronic devices that communicate based on the same communication protocol. Further, a plurality of electronic devices have a binding relationship therebetween, for example, the plurality of electronic devices bind the same user account. The plurality of electronic devices comprise a first electronic device and at least one second electronic device, the at least one second electronic device can synchronize clocks to the first electronic device, the first electronic device sends first indication information to the second electronic device, the first indication information is used for indicating the period and the starting time of a communication window, and the communication window is a communicable time period. The first electronic device and the second electronic device broadcast or scan in a communication window. According to the scheme, the plurality of electronic devices can broadcast or scan in the same communication window, so that broadcasting or scanning time is aligned, and efficient and accurate ordered communication is realized.
Embodiments of an electronic device, and for using such an electronic device, are described below. The electronic device in the embodiment of the present application may be, for example, a tablet computer, a mobile phone, a vehicle-mounted device, an augmented reality (augmented reality, AR)/Virtual Reality (VR) device, a notebook computer, an ultra-mobile personal computer (UMPC), a netbook, a personal digital assistant (personal digital assistant, PDA), a wearable device, an internet of things (internet of thing, ioT) device, a car machine, or the like, and the embodiment of the present application does not limit the specific type of the electronic device.
Fig. 4 is a schematic structural diagram of an electronic device 100 according to an embodiment of the present application. As shown in fig. 4, the electronic device 100 may include a processor 110, an external memory interface 120, an internal memory 121, a universal serial bus (universal serial bus, USB) interface 130, a charge management module 140, a power management module 141, a battery 142, an antenna 1, an antenna 2, a mobile communication module 150, a wireless communication module 160, an audio module 170, a speaker 170A, a receiver 170B, a microphone 170C, an earphone interface 170D, a sensor module 180, keys 190, a motor 191, an indicator 192, a camera 193, a display 194, a user identification module (subscriber identification module, SIM) card interface 195, and the like.
The processor 110 may include one or more processing units, such as: the processor 110 may include an application processor (application processor, AP), a modem processor, a graphics processor (graphics processing unit, GPU), an image signal processor (image signal processor, ISP), a controller, a memory, a video codec, a digital signal processor (digital signal processor, DSP), a baseband processor, and/or a neural network processor (neural-network processing unit, NPU), etc. Wherein the different processing units may be separate devices or may be integrated in one or more processors. The controller may be a neural hub and a command center of the electronic device 100, among others. The controller can generate operation control signals according to the instruction operation codes and the time sequence signals to finish the control of instruction fetching and instruction execution. A memory may also be provided in the processor 110 for storing instructions and data. In some embodiments, the memory in the processor 110 is a cache memory. The memory may hold instructions or data that the processor 110 has just used or recycled. If the processor 110 needs to reuse the instruction or data, it can be called directly from the memory. Repeated accesses are avoided and the latency of the processor 110 is reduced, thereby improving the efficiency of the system.
The USB interface 130 is an interface conforming to the USB standard specification, and may specifically be a Mini USB interface, a Micro USB interface, a USB Type C interface, or the like. The USB interface 130 may be used to connect a charger to charge the electronic device 100, and may also be used to transfer data between the electronic device 100 and a peripheral device. The charge management module 140 is configured to receive a charge input from a charger. The power management module 141 is used for connecting the battery 142, and the charge management module 140 and the processor 110. The power management module 141 receives input from the battery 142 and/or the charge management module 140 and provides power to the processor 110, the internal memory 121, the external memory, the display 194, the camera 193, the wireless communication module 160, and the like.
The wireless communication function of the electronic device 100 may be implemented by the antenna 1, the antenna 2, the mobile communication module 150, the wireless communication module 160, a modem processor, a baseband processor, and the like. The antennas 1 and 2 are used for transmitting and receiving electromagnetic wave signals. Each antenna in the electronic device 100 may be used to cover a single or multiple communication bands. Different antennas may also be multiplexed to improve the utilization of the antennas. For example: the antenna 1 may be multiplexed into a diversity antenna of a wireless local area network. In other embodiments, the antenna may be used in conjunction with a tuning switch.
The mobile communication module 150 may provide a solution for wireless communication including 2G/3G/4G/5G, etc., applied to the electronic device 100. The mobile communication module 150 may include at least one filter, switch, power amplifier, low noise amplifier (low noise amplifier, LNA), etc. The mobile communication module 150 may receive electromagnetic waves from the antenna 1, perform processes such as filtering, amplifying, and the like on the received electromagnetic waves, and transmit the processed electromagnetic waves to the modem processor for demodulation. The mobile communication module 150 can amplify the signal modulated by the modem processor, and convert the signal into electromagnetic waves through the antenna 1 to radiate. In some embodiments, at least some of the functional modules of the mobile communication module 150 may be disposed in the processor 110. In some embodiments, at least some of the functional modules of the mobile communication module 150 may be provided in the same device as at least some of the modules of the processor 110.
The wireless communication module 160 may provide solutions for wireless communication including wireless local area network (wireless local area networks, WLAN) (e.g., wireless fidelity (wireless fidelity, wi-Fi) network), bluetooth (BT), global navigation satellite system (global navigation satellite system, GNSS), frequency modulation (frequency modulation, FM), near field wireless communication technology (near field communication, NFC), infrared technology (IR), etc., as applied to the electronic device 100. The wireless communication module 160 may be one or more devices that integrate at least one communication processing module. The wireless communication module 160 receives electromagnetic waves via the antenna 2, modulates the electromagnetic wave signals, filters the electromagnetic wave signals, and transmits the processed signals to the processor 110. The wireless communication module 160 may also receive a signal to be transmitted from the processor 110, frequency modulate it, amplify it, and convert it to electromagnetic waves for radiation via the antenna 2.
In some embodiments, antenna 1 and mobile communication module 150 of electronic device 100 are coupled, and antenna 2 and wireless communication module 160 are coupled, such that electronic device 100 may communicate with a network and other devices through wireless communication techniques. The wireless communication techniques may include the Global System for Mobile communications (global system for mobile communications, GSM), general packet radio service (general packet radio service, GPRS), code division multiple access (code division multiple access, CDMA), wideband code division multiple access (wideband code division multiple access, WCDMA), time division code division multiple access (time-division code division multiple access, TD-SCDMA), long term evolution (long term evolution, LTE), BT, GNSS, WLAN, NFC, FM, and/or IR techniques, among others. The GNSS may include a global satellite positioning system (global positioning system, GPS), a global navigation satellite system (global navigation satellite system, GLONASS), a beidou satellite navigation system (beidou navigation satellite system, BDS), a quasi zenith satellite system (quasi-zenith satellite system, QZSS) and/or a satellite based augmentation system (satellite based augmentation systems, SBAS).
The display 194 is used to display a display interface of an application, such as a display page of an application installed on the electronic device 100. The display 194 includes a display panel. The display panel may employ a liquid crystal display (liquid crystal display, LCD), an organic light-emitting diode (OLED), an active-matrix organic light-emitting diode (AMOLED) or an active-matrix organic light-emitting diode (matrix organic light emitting diode), a flexible light-emitting diode (flex), a mini, a Micro led, a Micro-OLED, a quantum dot light-emitting diode (quantum dot light emitting diodes, QLED), or the like. In some embodiments, the electronic device 100 may include 1 or N display screens 194, N being a positive integer greater than 1.
The camera 193 is used to capture still images or video. The object generates an optical image through the lens and projects the optical image onto the photosensitive element. The photosensitive element may be a charge coupled device (charge coupled device, CCD) or a Complementary Metal Oxide Semiconductor (CMOS) phototransistor. The photosensitive element converts the optical signal into an electrical signal, which is then transferred to the ISP to be converted into a digital image signal. The ISP outputs the digital image signal to the DSP for processing. The DSP converts the digital image signal into an image signal in a standard RGB, YUV, or the like format. In some embodiments, electronic device 100 may include 1 or N cameras 193, N being a positive integer greater than 1.
The internal memory 121 may be used to store computer executable program code including instructions. The processor 110 executes various functional applications of the electronic device 100 and data processing by executing instructions stored in the internal memory 121. The internal memory 121 may include a storage program area and a storage data area. The storage program area may store an operating system, software code of at least one application program, and the like. The storage data area may store data (e.g., captured images, recorded video, etc.) generated during use of the electronic device 100, and so forth. In addition, the internal memory 121 may include a high-speed random access memory, and may further include a nonvolatile memory such as at least one magnetic disk storage device, a flash memory device, a universal flash memory (universal flash storage, UFS), and the like.
The external memory interface 120 may be used to connect an external memory card, such as a Micro SD card, to enable expansion of the memory capabilities of the electronic device. The external memory card communicates with the processor 110 through an external memory interface 120 to implement data storage functions. For example, files such as pictures and videos are stored in an external memory card.
The electronic device 100 may implement audio functions through an audio module 170, a speaker 170A, a receiver 170B, a microphone 170C, an earphone interface 170D, an application processor, and the like. Such as music playing, recording, etc.
The sensor module 180 may include a pressure sensor 180A, an acceleration sensor 180B, a touch sensor 180C, and the like, among others.
The pressure sensor 180A is used to sense a pressure signal, and may convert the pressure signal into an electrical signal. In some embodiments, the pressure sensor 180A may be disposed on the display screen 194.
The touch sensor 180C, also referred to as a "touch panel". The touch sensor 180C may be disposed on the display 194, and the touch sensor 180C and the display 194 form a touch screen, which is also referred to as a "touch screen". The touch sensor 180C is used to detect a touch operation acting thereon or thereabout. The touch sensor may communicate the detected touch operation to the application processor to determine the touch event type. Visual output related to touch operations may be provided through the display 194. In other embodiments, the touch sensor 180C may also be disposed on the surface of the electronic device 100 at a different location than the display 194.
The keys 190 include a power-on key, a volume key, etc. The keys 190 may be mechanical keys. Or may be a touch key. The electronic device 100 may receive key inputs, generating key signal inputs related to user settings and function controls of the electronic device 100. The motor 191 may generate a vibration cue. The motor 191 may be used for incoming call vibration alerting as well as for touch vibration feedback. For example, touch operations acting on different applications (e.g., photographing, audio playing, etc.) may correspond to different vibration feedback effects. The touch vibration feedback effect may also support customization. The indicator 192 may be an indicator light, may be used to indicate a state of charge, a change in charge, a message indicating a missed call, a notification, etc. The SIM card interface 195 is used to connect a SIM card. The SIM card may be contacted and separated from the electronic device 100 by inserting the SIM card interface 195 or extracting it from the SIM card interface 195.
It is to be understood that the components shown in fig. 4 are not to be construed as a particular limitation of the electronic device 100, and the electronic device may include more or less components than illustrated, or may combine certain components, or may split certain components, or may have a different arrangement of components. In addition, the combination/connection relationship between the components in fig. 4 is also adjustable and modifiable.
Fig. 5 is a software structural block diagram of an electronic device according to an embodiment of the present application. As shown in fig. 5, the software structure of the electronic device may be a hierarchical architecture, for example, the software may be divided into several layers, each layer having a distinct role and division of work. The layers communicate with each other through a software interface. In some embodiments, the operating system is divided into four layers, from top to bottom, an application layer, an application framework layer (FWK), a runtime (run time) and a system library, and a kernel layer, respectively.
The application layer may include a series of application packages (application package). As shown in fig. 5, the application layer may include a camera, settings, skin modules, user Interfaces (UIs), three-way applications, and the like. The three-party application program can comprise a gallery, calendar, conversation, map, navigation, WLAN, bluetooth, music, video, short message, and the like.
The application framework layer provides an application programming interface (application programming interface, API) and programming framework for application programs of the application layer. The application framework layer may include some predefined functions. As shown in FIG. 5, the application framework layer may include a window manager, a content provider, a view system, a telephony manager, a resource manager, and a notification manager.
The window manager is used for managing window programs. The window manager can acquire the size of the display screen, judge whether a status bar exists, lock the screen, intercept the screen and the like. The content provider is used to store and retrieve data and make such data accessible to applications. The data may include video, images, audio, calls made and received, browsing history and bookmarks, phonebooks, etc.
The view system includes visual controls, such as controls to display text, controls to display pictures, and the like. The view system may be used to build applications. The display interface may be composed of one or more views. For example, a display interface including a text message notification icon may include a view displaying text and a view displaying a picture.
The telephony manager is for providing communication functions of the electronic device. Such as the management of call status (including on, hung-up, etc.).
The resource manager provides various resources for the application program, such as localization strings, icons, pictures, layout files, video files, and the like.
The notification manager allows the application to display notification information in a status bar, can be used to communicate notification type messages, can automatically disappear after a short dwell, and does not require user interaction. Such as notification manager is used to inform that the download is complete, message alerts, etc. The notification manager may also be a notification in the form of a chart or scroll bar text that appears on the system top status bar, such as a notification of a background running application, or a notification that appears on the screen in the form of a dialog window. For example, a text message is prompted in a status bar, a prompt tone is emitted, the electronic device vibrates, and an indicator light blinks, etc.
The runtime includes a core library and a virtual machine. The runtime is responsible for the scheduling and management of the operating system.
The core library consists of two parts: one part is a function which needs to be called by java language, and the other part is a core library of an operating system. The application layer and the application framework layer run in a virtual machine. The virtual machine executes java files of the application program layer and the application program framework layer as binary files. The virtual machine is used for executing the functions of object life cycle management, stack management, thread management, security and exception management, garbage collection and the like.
The system library may include a plurality of functional modules. For example: surface manager (surface manager), media library (media library), three-dimensional graphics processing library (e.g., openGL ES), 2D graphics engine (e.g., SGL), etc.
The surface manager is used to manage the display subsystem and provides a fusion of 2D and 3D layers for multiple applications.
Media libraries support a variety of commonly used audio, video format playback and recording, still image files, and the like. The media library may support a variety of audio and video encoding formats, such as MPEG4, h.264, MP3, AAC, AMR, JPG, PNG, etc.
The three-dimensional graphic processing library is used for realizing three-dimensional graphic drawing, image rendering, synthesis, layer processing and the like.
The 2D graphics engine is a drawing engine for 2D drawing.
The kernel layer is a layer between hardware and software. The inner core layer at least comprises a display driver, a camera driver, an audio driver and a sensor driver.
The hardware layer may include various sensors such as acceleration sensors, gyroscopic sensors, touch sensors, and the like.
It should be noted that the structures shown in fig. 4 and fig. 5 are only an example of the electronic device provided in the embodiments of the present application, and the electronic device provided in the embodiments of the present application is not limited in any way, and in a specific implementation, the electronic device may have more or fewer devices or modules than those shown in the structures shown in fig. 4 or fig. 5.
The following describes a bluetooth specification related to the electronic device in the embodiment of the present application when performing bluetooth communication. Fig. 6 is a schematic diagram of a module related to bluetooth communication in an electronic device according to an embodiment of the present application. Referring to fig. 6, the logical entities involved in the bluetooth specification mainly include an upper computer and a lower computer, wherein the upper computer may be a host (host) and the lower computer may be a controller (controller) in the bluetooth specification, and optionally, two hosts, such as host 003 and host 004 shown in fig. 6, may be included in the electronic device. The functionality of the various devices or logical entities shown in fig. 6 is further described below:
the processor 001 may be the most powerful central processor (central processing unit, CPU) in the electronic device, which may run the operating system of the electronic device.
The processor 002 may be a microprocessor in the electronic device that may be used to perform specific tasks, such as the microprocessor may be a sensor hub that uniformly processes sensor data. The processor 002 has the characteristics of low power consumption and long-term operation.
Host 003 may be implemented by processor 001, host 004 may be implemented by processor 002, and host 003 may be the primary host. Since the processor 001 is configured to keep the battery running, the electronic device usually enters a sleep state after the electronic device is turned off, and the host 004 can perform the role of host. Alternatively, some tasks that need to be maintained for a long period of time may also be handled by the host 004 that does not enter the sleep state at all times. Referring to fig. 6, each host may include three parts, an application layer, a bluetooth protocol layer, and a host control interface.
The controller 005 may be implemented by a bluetooth chip in the electronic device, and both the host 003 and the host 004 may communicate with the controller 005 to perform different tasks with the controller 005.
The controller 005 can transmit and receive radio signals through the wireless interface 006.
The following describes a communication method provided in an embodiment of the present application.
Fig. 7 is a flowchart of a communication method according to an embodiment of the present application. The method is applicable to the communication system shown in fig. 3, and a plurality of electronic devices in the communication system shown in fig. 3 may have the structure shown in fig. 4 and/or fig. 5. Referring to fig. 7, the communication method provided in the embodiment of the present application includes the following steps:
s701: the first electronic device and the second electronic device form a communication group.
In an alternative embodiment, each of the plurality of electronic devices in the communication system shown in fig. 3 may send a broadcast packet, or may start scanning, and receive broadcast packets sent by other electronic devices.
Alternatively, in the embodiments of the present application, electronic devices that communicate based on the same communication protocol may be grouped into a communication group. In an implementation, after receiving the broadcast data packet sent by the second electronic device, the first electronic device may determine whether the first electronic device and the second electronic device communicate based on the same communication protocol. When the first electronic device and the second electronic device communicate based on the same communication protocol, the first electronic device and the second electronic device can analyze the broadcast data packet sent by the other party so as to perform communication interaction.
Further, when the first electronic device and the second electronic device have a binding relationship, the first electronic device and the second electronic device may form a communication group. The binding relationship between the first electronic device and the second electronic device may be: the user account bound by the first electronic device is the same as the user account bound by the second electronic device.
In implementation, the first electronic device may send the user account identifier bound by the first electronic device to the second electronic device, after receiving the user account identifier sent by the first electronic device, the second electronic device may determine, according to the identifier of the user account bound by the first electronic device, whether the user accounts bound by the first electronic device and the second electronic device are the same, and if the user accounts bound by the first electronic device and the second electronic device are the same, the second electronic device determines that the first electronic device and the second electronic device have a binding relationship, where the first electronic device and the second electronic device may form a communication group. In this way, the electronic devices bound by the same user account can be used as a communication group for communication, so as to realize cooperative work among multiple devices.
It can be understood that the binding relationship between electronic devices is that the electronic devices bind the same user account, which is only an example of the application and not a limitation, and in specific implementation, a communication group may be established according to other policies, for example, an electronic device in a preset range is used as a communication group; or electronic equipment scanning the same two-dimensional code is used as a communication group; or the first electronic device presets a password (such as a password formed by numbers, letters and the like), and the electronic device inputting the password preset by the first electronic device and the first electronic device are used as a communication group; or the electronic device performing the same function is used as a communication group, for example, the electronic device performing the function of triggering to search other electronic devices such as shaking is used as a communication group. Of course, in the specific implementation, the communication group may also be determined by other binding relationships, which is not limited in the embodiment of the present application.
In an alternative embodiment, the electronic device may also obtain weight values sent by other electronic devices to determine the role of the electronic device in the communication group, e.g., including the master device and the slave device in the communication group. The weight value is used to indicate the priority of the electronic device, for example, in a daily life scenario, the mobile phone is more convenient for the user to use, and the higher the priority of the mobile phone, the larger the weight value. And the electronic device with the largest weight value in the plurality of electronic devices can be used as a master device, and if the first electronic device is determined to be the master device when the weight value of the first electronic device is the largest, the second electronic device is the slave device.
In some embodiments of the present application, the type ordering of the electronic devices in different scenes may be preset, so that the determined master device is more suitable for the current scene. For example, in a daily scenario, the type ordering of the electronic devices may be preset as: the weight value of the mobile phone is the largest weight value of the four devices. For another example, in a driving scenario, the type ordering of the electronic devices may be preset as: the weight value of the car machine is the largest weight value of the weight values of the four devices.
After the first electronic device and the second electronic device determine that the first electronic device is a master device and the second electronic device is a slave device, the first electronic device and the second electronic device can perform authentication. The authentication process may be a bidirectional authentication process, and after authentication is completed between two electronic devices, a communication group may be formed, where multiple electronic devices in the communication group may implement orderly communication according to the communication method provided by the embodiment of the present application.
Optionally, the first electronic device and the second electronic device may further acquire a weight value of the other party in the authentication process, and determine the master device and the slave device. For example, fig. 8 is a flowchart of a method for performing authentication between electronic devices according to an embodiment of the present application. The first electronic device and the second electronic device may be any one of the plurality of electronic devices in the communication system shown in fig. 3. Referring to fig. 8, a method for performing authentication between electronic devices provided in an embodiment of the present application may include the following steps:
S801: the first electronic device generates a message authentication code for the first electronic device based on the shared key.
The shared secret key is a secret key which is obtained in advance by the first electronic equipment and the second electronic equipment and used for carrying out safe communication between the first electronic equipment and the second electronic equipment. Optionally, the method of obtaining the shared key may be any secure information transmission method, for example, the second electronic device and the first electronic device establish encrypted connection by logging in the same user account, agreeing on a number or a password, scanning the same two-dimensional code, and then negotiate to obtain the shared key based on the encrypted connection. For example, the shared key may be a bluetooth device address resolution key (identity resolving key, IRK).
The message authentication code may be, for example, a media access control (media access control, MAC) address.
S802: the first electronic device sends the message authentication code and the weight value of the first electronic device to the second electronic device.
The weight value of the first electronic device is used for indicating the priority of the first electronic device, and when the frequency of using the electronic device by the user is higher or the user uses the electronic device more conveniently, the weight value of the electronic device is larger, the possibility that the electronic device is used as a main device in a communication group is larger.
It should be noted that, the first electronic device may send the message authentication code and the weight value of the first electronic device to the second electronic device through a broadcast communication or a communication connection establishment manner. For example, in the bluetooth specification, the message authentication code may be delivered by way of a resolvable private address (resolvable private address, RPA).
S803: and the second electronic equipment determines that the authentication of the first electronic equipment is passed according to the shared secret key and the message authentication code of the first electronic equipment.
In an alternative embodiment, the second electronic device determines that the authentication of the first electronic device is passed when determining that the message authentication code of the first electronic device matches the result obtained by the second electronic device according to the calculation of the shared key.
S804: and the second electronic equipment determines the main equipment according to the weight value of the second electronic equipment and the obtained weight values of other electronic equipment.
Optionally, the second electronic device may use an electronic device with the largest weight value among the plurality of electronic devices as the master device.
It should be noted that, fig. 8 illustrates that the second electronic device authenticates the first electronic device, and in implementation, two-way authentication may be performed between the electronic devices, that is, the first electronic device may also authenticate the second electronic device, and specific implementation may refer to the method illustrated in fig. 8, and repeated parts will not be repeated.
S702: the second electronic device determines a target clock difference between the second electronic device and the first electronic device.
It will be appreciated that the local clocks of the first electronic device and the second electronic device may be different, and that the second electronic device may need to be clock synchronized with the first electronic device before the first electronic device communicates with the second electronic device. Two clock synchronization methods provided in the embodiments of the present application are described below:
in the first mode, clock synchronization is performed based on Bluetooth connection between the first electronic device and the second electronic device.
In an alternative embodiment, the first electronic device may establish a bluetooth connection with the second electronic device, and the second electronic device may determine a first clock difference value through the bluetooth connection established with the first electronic device, where the first clock difference value is a clock difference value between a controller of the first electronic device and a controller of the second electronic device.
In addition, a clock difference value also exists between the host computer and the controller in the electronic device, the first electronic device can determine a second clock difference value between the host computer of the first electronic device and the controller of the first electronic device, and the second electronic device can also determine a third clock difference value between the host computer of the second electronic device and the controller of the second electronic device. The first electronic device may send the second clock difference value to the second electronic device. For example, the first electronic device may send the second clock difference value to the second electronic device in S802 in the electronic device authentication method shown in fig. 8.
Specifically, the target clock difference between the second electronic device and the first electronic device may be: a target clock difference between a host of the second electronic device and a host of the first electronic device. After the second electronic device obtains the first clock difference value, the second clock difference value and the third clock difference value, the second electronic device can determine a target clock difference value between the second electronic device and the first electronic device according to the first clock difference value, the second clock difference value and the third clock difference value.
Optionally, after determining the target clock difference value between the second electronic device and the first electronic device, when the second electronic device communicates with the first electronic device, the second electronic device may align clocks with the first electronic device according to the target clock difference value, so as to avoid that the second electronic device and the first electronic device cannot perform orderly communication due to asynchronous clocks.
It should be noted that, when the first electronic device and the second electronic device establish bluetooth connection, the two electronic devices have different roles in the bluetooth connection process. Specifically, if the first electronic device is an electronic device that initiates a request for establishing a bluetooth connection, the role of the first electronic device is a bluetooth master (master), and the role of the second electronic device is a bluetooth slave (slave). If the second electronic device is an electronic device that initiates a request for establishing a bluetooth connection, the role of the first electronic device is bluetooth slave (slave), and the role of the second electronic device is bluetooth master (master). The following describes different ways in which the second electronic device performs clock synchronization for different roles in the bluetooth connection:
1. The second electronic device is a bluetooth master device.
Fig. 9 is a schematic diagram of clock synchronization between a first electronic device and a second electronic device according to an embodiment of the present application. Referring to fig. 9, the method includes the steps of:
s901: the host of the first electronic device determines a second clock difference (offset 2) between the host and the controller.
S902: the host of the second electronic device determines a third clock difference (offset 3) between the host and the controller.
S903: the controller of the second electronic device obtains a first clock difference value (offset 1) from the controller of the first electronic device.
S904: the controller of the second electronic device sends the first clock difference value to the host of the first electronic device.
For example, the host of the second electronic device may obtain the first Clock difference value from the controller through an hci_read_clock_offset command or a private command.
The hci_read_clock_offset command may be a command supported by an existing bluetooth chip, and the private command vendor command may be a new command.
S905: the host of the first electronic device sends the second clock difference to the host of the second electronic device.
It should be noted that, in the embodiment shown in fig. 9, the execution sequence of S901, S902 and S905 is merely an example, and the execution sequence of S901, S902 and S905 is not limited in this embodiment.
S906: the host of the second electronic device determines a target clock difference between the second electronic device and the first electronic device according to the first clock difference, the second clock difference and the third clock difference.
2. The second electronic device is a bluetooth slave device.
Fig. 10 is a schematic diagram of clock synchronization between a second first electronic device and a second electronic device according to an embodiment of the present application. Referring to fig. 10, the method includes the steps of:
s1001: the host of the first electronic device determines a second clock difference (offset 2) between the host and the controller.
S1002: the host of the second electronic device determines a third clock difference (offset 3) between the host and the controller.
S1003: the controller of the second electronic device sends the first clock difference value (offset 1) to the host of the first electronic device.
For example, the host of the second electronic device may obtain the first clock difference value from the controller via a vendor hci read master clock offset command.
The vector hci_read_master_clock_offset command may be a newly added command.
S1004: the host of the first electronic device sends the second clock difference to the host of the second electronic device.
It should be noted that, in the embodiment shown in fig. 10, the execution sequence of S1001, S1002, and S1004 is only an example, and the execution sequence of S1001, S1002, and S1004 is not limited in this embodiment.
S1005: the host of the second electronic device determines a target clock difference between the second electronic device and the first electronic device according to the first clock difference, the second clock difference and the third clock difference.
Fig. 11 is a schematic diagram of clock synchronization between a third first electronic device and a second electronic device according to an embodiment of the present application. Referring to fig. 11, the method includes the steps of:
s1101: the host of the first electronic device determines a second clock difference (offset 2) between the host and the controller.
S1102: the host of the second electronic device determines a third clock difference (offset 3) between the host and the controller.
S1103: the controller of the first electronic device obtains a first clock difference value (offset 1) from the controller of the second electronic device.
For example, the controller of the first electronic device may obtain the first Clock difference value from the controller of the second electronic device via an hci_read_clock_offset command.
The hci_read_clock_offset command may be a command supported by an existing bluetooth chip.
S1104: the host of the first electronic device obtains a first clock difference value from a controller of the first electronic device.
It should be noted that, in the embodiment shown in fig. 11, the execution sequence of S1101, S1102 and S1104 is merely an example, and the execution sequence of S1101, S1102 and S1104 is not limited in this embodiment.
S1105: the host of the first electronic device sends the first clock difference and the second clock difference to the host of the second electronic device.
S1106: the host of the second electronic device determines a target clock difference between the second electronic device and the first electronic device according to the first clock difference, the second clock difference and the third clock difference.
Referring to the clock synchronization method shown in fig. 9 to 11, the first electronic device and the second electronic device need to determine clock differences between the host and the controller, such as S901 and S902 in fig. 9, S1001 and S1002 in fig. 10, and S1101 and S1102 in fig. 11. Alternatively, the first electronic device or the second electronic device may determine the clock difference between the host and the controller according to the following manner:
fig. 12 is a schematic diagram of an interaction flow between a host and a controller according to an embodiment of the present application. Referring to fig. 12, the interactive flow includes the steps of:
s1201: the host sends a clock request command to the controller and records the time of sending the clock request command as T1.
The CLOCK request command sent by the host may be, for example, hci_read_local_clock.
S1202: the controller records the time of receiving the clock request command sent by the host as T2.
S1203: the controller sends a response event of the clock request command to the host, and records the time of sending the response message as T3.
The response EVENT of the CLOCK request command sent by the controller may be, for example, hci_read_local_clock_complete_event, and the response EVENT of the CLOCK request command may include T2 and T3.
S1204: the host records the time of receiving the response event of the clock request command sent by the controller as T4.
After the host obtains T1, T2, T3 and T4, the clock difference between the host and the controller may be determined according to T1, T2, T3 and T4, for example, the clock difference θ between the host and the controller and T1, T2, T3 and T4 satisfy the following formulas:
it should be noted that, the content and the function of the command sent by the host to the controller and the response event returned by the controller in the interaction flow between the host and the controller shown in fig. 10 may refer to the following table:
in some embodiments, as shown in fig. 6, the electronic device may include two hosts, for example, the two hosts are a CPU and a microprocessor of the electronic device, respectively, where the microprocessor may replace a CPU to process a task, such as a task of maintaining a communication group formed by a plurality of electronic devices, when the CPU goes into a sleep state; when the CPU re-enters the operating state, the microprocessor needs to give control to the CPU. Thus, when two hosts in the second electronic device exchange control, the target clock difference may be sent by one host to the other host, so that clock synchronization may be maintained with the first electronic device regardless of which host performs the task.
And secondly, clock synchronization is performed based on Bluetooth broadcasting between the first electronic device and the second electronic device.
In an alternative embodiment, the first electronic device and the second electronic device may communicate by sending broadcast data packets. Fig. 13 is a schematic diagram of a method for clock synchronization based on bluetooth broadcast according to an embodiment of the present application. Referring to fig. 13, when the first electronic device triggers transmission of the first broadcast packet, the first electronic device triggers a broadcast transmission delay between transmission of the first broadcast packet and actual transmission of the first broadcast packet because the priority of the broadcast packet is low and may not be immediately transmitted. In an embodiment of the present application, the controller of the first electronic device may send a response event to the host indicating that the first broadcast packet has been sent, the host of the first electronic device may record a time when the response event is received, and the first electronic device may determine a transmission delay of a transfer command or the response event between the controller and the host, for example, the transmission delay is a universal asynchronous receiver transmitter (universal asynchronous receiver/transmitter, UART) transmission delay. The first electronic device may calculate a first time when the first electronic device actually transmits the first broadcast data packet according to a time when the host of the first electronic device receives the response event and a transmission delay between the controller of the first electronic device and the host. The first electronic device may send a second broadcast data packet to the second electronic device, and the second broadcast data packet may include the first time.
The second electronic device may record a second time of receipt of the first broadcast data packet after receiving the first broadcast data packet. The second electronic device may obtain the first time in the second broadcast data packet after receiving the second broadcast data packet sent by the first electronic device. And, the second electronic device may determine a broadcast propagation delay according to the feature information between the two devices, where the broadcast propagation delay is a time period when the first electronic device actually sends a broadcast data packet to the second electronic device and receives the broadcast data packet, and the feature information may be, for example, a device model, and the feature information may be carried in the first broadcast data packet or the second broadcast data packet. The second electronic device may determine a target clock difference between the second electronic device and the first electronic device according to the first time, the second time and the broadcast transmission delay, where the target clock difference and the first time, the second time and the broadcast transmission delay satisfy the following formula:
MS offset =t2-t1-D1
wherein MS is offset For the target clock difference between the second electronic device and the first electronic device, t1 is the first time when the first electronic device actually transmits the first broadcast data packet, D1 is the broadcast transmission delay, and t2 is the second time when the second electronic device receives the first broadcast data packet.
Optionally, after determining the target clock difference value between the second electronic device and the first electronic device, when the second electronic device communicates with the first electronic device, the second electronic device may align clocks with the first electronic device according to the target clock difference value, so as to avoid that the second electronic device and the first electronic device cannot perform orderly communication due to asynchronous clocks.
S703: the first electronic device sends first indication information to the second electronic device.
The first indication information is used for indicating the period and the starting time of a communication window, and the communication window is a time period for broadcasting communication between the first electronic equipment and the second electronic equipment.
Alternatively, the first indication information may include period and start point information of the communication window. The period of the communication window is a time interval between starting times of two adjacent communication windows, and the starting point information may be a starting time of a first communication window or a difference between the starting time of the first communication window and a time of the first electronic device transmitting the first indication information. Further, the first indication information may further include a duration of each communication window. Of course, the duration of each communication window may not be included in the first indication information, and the first electronic device and the second electronic device may use the preset value as the duration of each communication window.
S704: the first electronic device and the second electronic device determine a communication window according to the period and the starting time of the communication window respectively.
Optionally, after the first electronic device sends the first indication information to the second electronic device, the second electronic device may acquire the period and the start point information of the communication window from the first indication information, and the first electronic device and the second electronic device may determine the communication window based on the same period and start point information of the communication window, so as to align the communication opportunity.
It should be noted that, when the electronic device sends a bluetooth broadcast or starts a bluetooth scan, the bluetooth broadcast or scan may be performed for a controller in the electronic device, for example, a bluetooth chip in the electronic device performs the above functions. In the embodiment of the application, the controller in the electronic device may determine the start time of each communication window, and when the current time reaches the start time of the communication window, send a broadcast packet or start scanning; or the host may send an open command to the controller at the start time of each communication window and send an end command at the end time of each communication window, the controller sends a broadcast packet or initiates a scan when receiving the open command, and the controller stops sending the broadcast packet or stops scanning when receiving the end command. The following two ways are respectively described further:
1. The controller determines a start time for each communication window.
The first electronic device and the second electronic device may perform broadcast communication in a communication window, specifically, may be that the first electronic device sends a broadcast data packet in the communication window or starts scanning, and the second electronic device sends a broadcast data packet in the communication window or starts scanning, where when determining the communication window, the controller of the first electronic device or the controller of the second electronic device may determine a time period for starting scanning and a time for sending the broadcast data packet respectively.
In an alternative embodiment, the controller may determine at least one communication window based on the period and start time of the communication windows and initiate a scan in each communication window. For example, fig. 14 is a schematic diagram of a communication window provided in an embodiment of the present application. Referring to fig. 14, assuming that the period of the communication windows is 600ms, the duration of each communication window may be a preset value, for example, the duration of each communication window is 60ms, the controller may start scanning within 60ms of each communication window according to at least one communication window calculated from the start time and the communication window as shown in fig. 14.
It should be noted that, when the controller needs to start scanning, but there is a service with a higher priority than scanning, such as a broadcast service, the controller needs to delay the execution of scanning, and the time for which the controller starts scanning will be delayed, but the delay of this scanning does not affect the start time of the next scanning. For example, fig. 15 is a schematic diagram of a communication window provided in an embodiment of the present application, and three communication windows (a communication window 1, a communication window 2, and a communication window 3) are shown in fig. 15. If the controller determines that traffic having a higher priority than the scanning is stored before the controller starts scanning in the communication window 2 and needs to delay the execution of the scanning, the controller executes the scanning in a delayed time period, but the controller still starts the next scanning at the start time of the communication window 3, and the scanning in the communication window 3 is not affected by the scanning delay in the communication window 2.
In an alternative embodiment, the controller may determine when broadcast packets may be transmitted in the communication window. Fig. 16 is a schematic diagram of a broadcast event according to an embodiment of the present application. The broadcast event may be a time in which a broadcast packet may be transmitted in one communication window, and three broadcast events (broadcast event 1, broadcast event 2, and broadcast event 3) are illustrated in fig. 16. Referring to fig. 16, the start time of each broadcast event may be affected by the broadcast delay, for example, the start time of broadcast event 2 is the start time of broadcast event 1 + the period of the communication window + delay 1. As can be seen from fig. 16, the second period further includes a delay 1, where if the start time of the broadcast event 3 is directly calculated as the start time of the broadcast event 2+the period of the communication window+the delay 2, the delay 1 is repeatedly calculated, and so on, the start time of the subsequent broadcast event is continuously delayed due to the continuous overlapping of the delays, so that the broadcast event cannot be aligned with the communication window.
Based on the above analysis, in the embodiment of the present application, the start time of the first broadcast event started in the communication window is the start time of the communication window, and the start time of the target broadcast event started in the communication window and the start time of the last broadcast event of the target broadcast event, the period of the communication window, and the time delay of the broadcast event satisfy the following formulas:
T advEventNext =T advEventPrevious -advDelayPrevious+advInterval+advDelayNext
the target broadcast event is any broadcast event except the first broadcast event in a plurality of broadcast events started in the communication window. T (T) advEventNext For the start time of the target broadcast event, T advEventPrevious The starting time of the last broadcast event of the target broadcast event is advDelayPrevious, the time delay of the last broadcast event of the target broadcast event is advDelayPrevious, the advInterval is the period of the communication window, and the advDelayNext is the time delay of the target broadcast event.
It should be noted that, the delay of the broadcast event, such as advDelayPrevious and advDelayNext in the above formula, may be positive or negative, when the delay of the broadcast event is positive, the start time of the broadcast event is shifted backward, and when the delay of the broadcast event is negative, the start time of the broadcast event is shifted forward.
According to the above formula, the start time of broadcast event 3 in fig. 16 in the embodiment of the present application may be: by this way, accumulation delays can be avoided, such that the electronic devices send broadcast data packets in the communication window to maintain orderly communication between the electronic devices, as the start time of broadcast event 2 + the period of the communication window-delay 1+ delay 2.
2. The host sends an open command to the controller at the start time of each communication window and an end command to the controller at the end time of each communication window.
Fig. 17 is a schematic diagram of a host scheduling controller according to an embodiment of the present application. Referring to fig. 17, the host transmits an open command to the controller at a start time of each communication window and transmits an end command to the controller at an end time of each communication window.
In an alternative embodiment, the host may send an open scan command to the controller at the start time of each communication window and a close scan command at the end time of each communication window; the host may also send an on-broadcast command to the controller in the communication window to indicate that the controller may begin sending broadcast data packets, and may also send an end-broadcast command to the controller to indicate that the controller stops sending broadcast data packets.
It should be noted that, the host of the scheduling controller may be a CPU or a microprocessor of the electronic device.
S705: the first electronic device and the second electronic device transmit broadcast data packets or initiate broadcast scanning in a communication window.
Optionally, after aligning the communication window, the plurality of electronic devices may send broadcast data packets in the communication window, where the broadcast data packets may be service data, such as heartbeat packets for sensing the presence of other electronic devices, service data for requesting communication connection with other electronic devices, service data for reporting sensor events, and so forth.
Alternatively, the electronic device may initiate scanning in the communication window to receive broadcast data packets sent by other electronic devices, and send the broadcast data packets in the communication window when there is broadcast traffic. For example, fig. 18 is a schematic diagram of a plurality of electronic devices performing broadcast communication in a communication window according to an embodiment of the present application, and referring to fig. 18, electronic device a, electronic device B, and electronic device C send broadcast data packets in the communication window. The electronic equipment D starts scanning in the communication window, so that the problem of packet loss is avoided, the electronic equipment D is not required to start scanning with high duty ratio, and resources are saved. Through the method, the plurality of electronic devices can realize ordered communication in the communication window, and the communication efficiency is improved.
Fig. 19 is a schematic diagram of a plurality of electronic devices communicating in a communication window according to an embodiment of the present application. In fig. 19, three electronic devices (electronic device 1, electronic device 2, and electronic device 3) are exemplified, and referring to fig. 19, in the communication window 1, each electronic device transmits a broadcast heartbeat packet to other electronic devices for sensing whether the other electronic devices are in an on-line state or an off-line state. Before the communication window 2, the electronic device 1 triggers a service request, where the service request is used to request to establish a communication connection with the electronic device 2, and then in the communication window 2, the electronic device 1 sends a broadcast data packet to the electronic device 2, where the electronic device 2 starts scanning in the communication window 2, and after receiving the broadcast data packet sent by the electronic device 1, establishes a communication connection with the electronic device 1.
The electronic device 1 requests to connect to the electronic device 2 in a communication manner, and may request to establish a classical bluetooth connection, a BLE connection, a Wi-Fi connection, or other wireless communication connection with the electronic device 2, and the broadcast data packet sent by the electronic device 1 to the electronic device 2 for requesting to establish a communication connection may be a wake-up broadcast (wake-up adv), where the wake-up broadcast is used to wake up the electronic device 2 to start a communication mode. To increase the efficiency of establishing the communication connection, the wake-up broadcast may be a high duty cycle broadcast to increase the probability that the electronic device 2 receives the wake-up broadcast. The electronic device 2 may start the communication mode after receiving the wake-up broadcast and establish a communication connection with the electronic device 1.
Based on the above embodiments, the present application also provides a communication method that can be performed by a first electronic device and a second electronic device in the communication system shown in fig. 3. The first electronic device and the second electronic device may have the structures shown in fig. 4 and/or fig. 5. Fig. 20 is a flowchart of a communication method according to an embodiment of the present application. Referring to fig. 20, the method includes the steps of:
s2001: the first electronic device sends first indication information to the second electronic device.
The first indication information is used for indicating the period of a communication window and the starting time of the communication window, and the communication window is a time period for broadcasting communication between the first electronic equipment and the second electronic equipment.
S2002: the first electronic device sends a broadcast data packet or starts broadcast scanning in a communication window; the second electronic device transmits a broadcast data packet or initiates a broadcast scan in the communication window.
It should be noted that, in the implementation of the communication method shown in fig. 20 of the present application, reference may be made to the above embodiments of the present application, and the repetition is not repeated.
Based on the above embodiments, the present application further provides an electronic device, including a plurality of functional modules; the plurality of functional modules interact to implement the first electronic device or the second executed function in the methods described in the embodiments of the present application. Such as S701, S703-S705 performed by the first electronic device in the embodiment shown in fig. 7, or S702, S704-S705 performed by the second electronic device in the embodiment shown in fig. 7. The plurality of functional modules may be implemented based on software, hardware, or a combination of software and hardware, and the plurality of functional modules may be arbitrarily combined or divided based on the specific implementation.
Based on the above embodiments, the present application further provides an electronic device, where the electronic device includes at least one processor and at least one memory, where the at least one memory stores computer program instructions, and when the electronic device is running, the at least one processor performs functions performed by the electronic device in the methods described in the embodiments of the present application. Such as S701, S703-S705 performed by the first electronic device in the embodiment shown in fig. 7, or S702, S704-S705 performed by the second electronic device in the embodiment shown in fig. 7.
Based on the above embodiments, the present application also provides a computer program which, when run on a computer, causes the computer to perform the methods described in the embodiments of the present application.
Based on the above embodiments, the present application also provides a computer-readable storage medium having stored therein a computer program which, when executed by a computer, causes the computer to perform the methods described in the embodiments of the present application.
Based on the above embodiments, the present application further provides a chip, where the chip is configured to read a computer program stored in a memory, and implement the methods described in the embodiments of the present application.
Based on the above embodiments, the present application provides a chip system including a processor for supporting a computer device to implement the methods described in the embodiments of the present application. In one possible design, the chip system further includes a memory for storing programs and data necessary for the computer device. The chip system can be composed of chips, and can also comprise chips and other discrete devices.
It will be appreciated by those skilled in the art that embodiments of the present application may be provided as a method, system, or computer program product. Accordingly, the present application may take the form of an entirely hardware embodiment, an entirely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, the present application may 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, and the like) having computer-usable program code embodied therein.
The present application is described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems) and computer program products according to the application. It will be understood that each flow and/or block of the flowchart illustrations and/or block diagrams, and combinations of flows and/or blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
It will be apparent to those skilled in the art that various modifications and variations can be made in the present application without departing from the scope of the application. Thus, if such modifications and variations of the present application fall within the scope of the claims and the equivalents thereof, the present application is intended to cover such modifications and variations.

Claims (33)

1. A communication system, the communication system comprising a first electronic device and a second electronic device;
the first electronic device is configured to send first indication information to the second electronic device, where the first indication information is used to indicate a period of a communication window and a start time of the communication window, and the communication window is a time period during which the first electronic device and the second electronic device perform broadcast communication; transmitting a broadcast data packet or starting a broadcast scan in the communication window;
the second electronic device is configured to receive the first indication information sent by the first electronic device, and send a broadcast data packet in the communication window or start broadcast scanning.
2. The system of claim 1, wherein,
the first electronic device is further configured to:
before the first indication information is sent to the second electronic equipment, receiving a broadcast data packet sent by the second electronic equipment, and determining that the first electronic equipment and the second electronic equipment communicate based on the same communication protocol;
the second electronic device is configured to:
and before receiving the first indication information sent by the first electronic equipment, receiving a broadcast data packet sent by the first electronic equipment, and determining that the first electronic equipment and the second electronic equipment communicate based on the same communication protocol.
3. The system of claim 2, wherein,
the first electronic device is further configured to:
after determining that the first electronic device and the second electronic device communicate based on the same communication protocol, determining that the first electronic device and the second electronic device have a binding relationship;
the second electronic device is further configured to:
after determining that the first electronic device and the second electronic device communicate based on the same communication protocol, determining that the first electronic device and the second electronic device have a binding relationship.
4. A system according to claim 2 or 3, wherein,
the first electronic device is further configured to:
acquiring a weight value of the second electronic equipment;
determining the first electronic equipment as a master equipment according to the weight value of the first electronic equipment and the weight value of the second electronic equipment, wherein the second electronic equipment is a slave equipment; the weight value of the first electronic device is used for representing the priority of the first electronic device, and the weight value of the second electronic device is used for representing the priority of the second electronic device; the weight value of the first electronic device is larger than the weight value of the second electronic device;
The second electronic device is further configured to:
acquiring a weight value of the first electronic equipment;
and determining the first electronic equipment as a master equipment and the second electronic equipment as a slave equipment according to the weight value of the first electronic equipment and the weight value of the second electronic equipment.
5. The system of claim 4, wherein,
the first electronic device is further configured to:
after the first electronic device is determined to be a master device and the second electronic device is a slave device, authenticating the second electronic device, and determining that the second electronic device is authenticated;
the second electronic device is further configured to:
and after the first electronic equipment is determined to be the master equipment and the second electronic equipment is the slave equipment, authenticating the first electronic equipment, and determining that the authentication of the first electronic equipment is passed.
6. The system of claim 1, wherein the second electronic device is further to:
a target clock difference between the second electronic device and the first electronic device is determined prior to transmitting a broadcast data packet or initiating a broadcast scan in the communication window.
7. The system of claim 6, wherein the first electronic device comprises an upper computer and a lower computer, and the second electronic device comprises an upper computer and a lower computer;
The second electronic device is configured to:
acquiring a first clock difference value, wherein the first clock difference value is a clock difference value between a lower computer of the first electronic equipment and a lower computer of the second electronic equipment;
acquiring a second clock difference value, wherein the second clock difference value is a clock difference value between an upper computer of the first electronic equipment and a lower computer of the first electronic equipment;
determining a third clock difference value, wherein the third clock difference value is a clock difference value between an upper computer of the second electronic equipment and a lower computer of the second electronic equipment;
determining the target clock difference value according to the first clock difference value, the second clock difference value and the third clock difference value;
the first electronic device is further configured to:
and determining the second clock difference value between the upper computer of the first electronic equipment and the lower computer of the first electronic equipment.
8. The system of claim 6, wherein,
the first electronic device is further configured to:
transmitting a first broadcast data packet to the second electronic device, and determining a first time when the first electronic device actually transmits the first broadcast data packet;
transmitting a second broadcast data packet to the second electronic device, wherein the second broadcast data packet comprises the first time;
The second electronic device is configured to:
receiving the first broadcast data packet sent by the first electronic equipment, and recording a second time for receiving the first broadcast data packet;
receiving the second broadcast data packet sent by the first electronic device, and obtaining a first time in the second broadcast data packet;
determining a broadcast transmission delay between the first electronic device and the second electronic device;
and determining the target clock difference value according to the first time, the second time and the broadcast transmission delay.
9. The system of claim 1, wherein the first electronic device comprises an upper computer and a lower computer; the upper computer of the first electronic device is specifically configured to:
determining the starting time and the ending time of the broadcast scanning according to the period of the communication window and the starting time of the communication window, triggering the lower computer of the first electronic equipment to start the broadcast scanning at the starting time of the broadcast scanning, and triggering the lower computer of the first electronic equipment to close the broadcast scanning at the ending time of the broadcast scanning; and/or the number of the groups of groups,
determining the starting time of the broadcast event and the ending time of the broadcast event according to the period of the communication window and the starting time of the communication window; and triggering the lower computer of the first electronic equipment to send the broadcast data packet at the starting time of the broadcast event, and triggering the lower computer of the first electronic equipment to stop sending the broadcast data packet at the ending time of the broadcast event.
10. The system of claim 1, wherein the first electronic device comprises a lower computer; the lower computer of the first electronic device is specifically configured to:
determining the starting time and the ending time of the broadcast scanning according to the period of the communication window and the starting time of the communication window, starting the broadcast scanning at the starting time of the broadcast scanning, and closing the broadcast scanning at the ending time of the broadcast scanning; and/or the number of the groups of groups,
determining the starting time of the broadcast event and the ending time of the broadcast event according to the period of the communication window and the starting time of the communication window; and sending the broadcast data packet at the starting time of the broadcast event, and stopping sending the broadcast data packet at the ending time of the broadcast event.
11. The system of claim 10, wherein the lower computer of the first electronic device is further configured to:
and if the service with the priority higher than that of the broadcast scanning exists in the current communication window, the broadcast scanning is started in a delayed mode.
12. The system of any of claims 6-8, wherein the second electronic device comprises an upper computer and a lower computer; the upper computer of the second electronic device is specifically configured to:
Determining the starting time and the ending time of the broadcast scanning according to the period of the communication window, the starting time of the communication window and the target clock difference value, triggering a lower computer of the second electronic equipment to start the broadcast scanning at the starting time of the broadcast scanning, and triggering the lower computer of the second electronic equipment to close the broadcast scanning at the ending time of the broadcast scanning; and/or the number of the groups of groups,
determining the starting time of the broadcast event and the ending time of the broadcast event according to the period of the communication window, the starting time of the communication window and the target clock difference value; and triggering the lower computer of the second electronic equipment to send the broadcast data packet at the starting time of the broadcast event, and triggering the lower computer of the second electronic equipment to stop sending the broadcast data packet at the ending time of the broadcast event.
13. The system of any of claims 6-8, wherein the second electronic device comprises a lower computer; the lower computer of the second electronic device is specifically configured to:
determining the starting time of the broadcast scanning and the ending time of the broadcast scanning according to the period of the communication window, the starting time of the communication window and the target clock difference value, starting the broadcast scanning at the starting time of the broadcast scanning, and closing the broadcast scanning at the ending time of the broadcast scanning; and/or the number of the groups of groups,
Determining the starting time of the broadcast event and the ending time of the broadcast event according to the period of the communication window, the starting time of the communication window and the target clock difference value; and sending the broadcast data packet at the starting time of the broadcast event, and stopping sending the broadcast data packet at the ending time of the broadcast event.
14. The system of claim 13, wherein the lower computer of the second electronic device is further configured to:
and if the service with the priority higher than that of the broadcast scanning exists in the current communication window, the broadcast scanning is started in a delayed mode.
15. The system of claim 10 or 13, wherein a start time of a target broadcast event and a start time of a last broadcast time of the target broadcast time, a period of the communication window, a delay of a broadcast event satisfy the following formula, the target broadcast event being any broadcast event except a first broadcast event among a plurality of broadcast events initiated in the communication window:
T advEventNext =T advEventPrevious -advDelayPrevious+advInterval+advDelayNext
wherein T is advEventNext T is the start time of the target broadcast event advEventPrevious As for the starting time of the last broadcast event of the target broadcast event, advDelayPrevious is the time delay of the last broadcast event of the target broadcast event, advInterval is the period of the communication window, and advDelayNext is the time delay of the target broadcast event.
16. The system of claim 9, wherein the host computer of the first electronic device is a host computer in a bluetooth communication protocol, and the host computer of the first electronic device is a controller in the bluetooth communication protocol.
17. The system according to any of claims 1-16, wherein the broadcast data packet is a heartbeat packet for perceiving the presence of other electronic devices, or the broadcast data packet is a service data packet for requesting a communication connection to be established with other electronic devices, or the broadcast data packet is a service data packet for reporting sensor events.
18. A method of communication, for use with a second electronic device, the method comprising:
receiving first indication information sent by a first electronic device, wherein the first indication information is used for indicating the period of a communication window and the starting time of the communication window, and the communication window is a time period for broadcasting communication between the first electronic device and the second electronic device;
and transmitting a broadcast data packet or starting broadcast scanning in the communication window.
19. The method of claim 18, wherein prior to the receiving the first indication information sent by the first electronic device, the method further comprises:
And receiving a broadcast data packet sent by the first electronic equipment, and determining that the first electronic equipment and the second electronic equipment communicate based on the same communication protocol.
20. The method of claim 19, wherein after the determining that the first electronic device and the second electronic device are in communication based on the same communication protocol, the method further comprises:
and determining that the first electronic device and the second electronic device have a binding relationship.
21. The method of claim 19 or 20, wherein the method further comprises:
acquiring a weight value of the first electronic equipment;
determining the first electronic equipment as a master equipment and the second electronic equipment as a slave equipment according to the weight value of the first electronic equipment and the weight value of the second electronic equipment; the weight value of the first electronic device is used for representing the priority of the first electronic device, and the weight value of the second electronic device is used for representing the priority of the second electronic device; the weight value of the first electronic device is larger than the weight value of the second electronic device.
22. The method of claim 21, wherein after the determining that the first electronic device is a master device and the second electronic device is a slave device, the method further comprises:
And authenticating the first electronic equipment, and determining that the authentication of the first electronic equipment is passed.
23. The method of claim 18, wherein prior to transmitting a broadcast packet or initiating a broadcast scan in the communication window, the method further comprises:
a target clock difference between the second electronic device and the first electronic device is determined.
24. The method of claim 23, wherein the first electronic device comprises an upper computer and a lower computer, and the second electronic device comprises an upper computer and a lower computer;
the determining a target clock difference between the second electronic device and the first electronic device includes:
acquiring a first clock difference value, wherein the first clock difference value is a clock difference value between a lower computer of the first electronic equipment and a lower computer of the second electronic equipment;
acquiring a second clock difference value, wherein the second clock difference value is a clock difference value between an upper computer of the first electronic equipment and a lower computer of the first electronic equipment;
determining a third clock difference value, wherein the third clock difference value is a clock difference value between an upper computer of the second electronic equipment and a lower computer of the second electronic equipment;
And determining the target clock difference value according to the first clock difference value, the second clock difference value and the third clock difference value.
25. The method of claim 23, wherein the determining a target clock difference between the second electronic device and the first electronic device comprises:
receiving a first broadcast data packet sent by the first electronic equipment, and recording a second time for receiving the first broadcast data packet;
receiving a second broadcast data packet sent by the first electronic device, and acquiring a first time in the second broadcast data packet; the first time is the time when the first electronic device actually transmits the first broadcast data packet;
determining a broadcast transmission delay between the first electronic device and the second electronic device;
and determining the target clock difference value according to the first time, the second time and the broadcast transmission delay.
26. The method according to any of claims 23-25, wherein said transmitting a broadcast data packet or initiating a broadcast scan in said communication window comprises:
determining the starting time of the broadcast scanning and the ending time of the broadcast scanning according to the period of the communication window, the starting time of the communication window and the target clock difference value, starting the broadcast scanning at the starting time of the broadcast scanning, and closing the broadcast scanning at the ending time of the broadcast scanning;
Determining the starting time of the broadcast event and the ending time of the broadcast event according to the period of the communication window, the starting time of the communication window and the target clock difference value; and sending the broadcast data packet at the starting time of the broadcast event, and stopping sending the broadcast data packet at the ending time of the broadcast event.
27. The method of claim 26, wherein the method further comprises:
if the service with the priority higher than the priority of the broadcast scanning exists in the current communication window, the broadcast scanning is started in a delayed mode.
28. The method of claim 26, wherein a start time of a target broadcast event and a start time of a broadcast time previous to the target broadcast time, a period of the communication window, a delay of a broadcast event satisfy the following formula, the target broadcast event being any broadcast event other than a first broadcast event among a plurality of broadcast events initiated in the communication window:
T advEventNext =T advEventPrevious -advDelayPrevious+advInterval+advDelayNext
wherein T is advEventNext T is the start time of the target broadcast event advEventPrevious As for the starting time of the last broadcast event of the target broadcast event, advDelayPrevious is the time delay of the last broadcast event of the target broadcast event, advInterval is the period of the communication window, and advDelayNext is the time delay of the target broadcast event.
29. The method of claim 24, wherein the host computer of the second electronic device is a host computer in a bluetooth communication protocol, and the host computer of the second electronic device is a controller in the bluetooth communication protocol.
30. The method according to any of claims 27-29, wherein the broadcast data packet is a heartbeat packet for perceiving the presence of other electronic devices, or the broadcast data packet is a service data packet for requesting a communication connection to be established with other electronic devices, or the broadcast data packet is a service data packet for reporting sensor events.
31. An electronic device comprising at least one processor coupled to at least one memory, the at least one processor configured to read a computer program stored in the at least one memory to perform a method performed by a first electronic device or a second electronic device in a system as claimed in any one of claims 1-17, or to perform a method as claimed in any one of claims 18-30.
32. A computer readable storage medium having instructions stored therein which, when run on a computer, cause the computer to perform a method performed by a first electronic device or a second electronic device in a system according to any of claims 1-17, or to perform a method according to any of claims 18-30.
33. A computer program product comprising instructions which, when run on a computer, cause the computer to perform the method performed by the first electronic device or the second electronic device in the system according to any of claims 1-17 or to perform the method according to any of claims 18-30.
CN202210027797.9A 2022-01-11 2022-01-11 Communication system, communication method and equipment Pending CN116471550A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202210027797.9A CN116471550A (en) 2022-01-11 2022-01-11 Communication system, communication method and equipment
PCT/CN2023/070541 WO2023134522A1 (en) 2022-01-11 2023-01-04 Communication system, communication method, and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210027797.9A CN116471550A (en) 2022-01-11 2022-01-11 Communication system, communication method and equipment

Publications (1)

Publication Number Publication Date
CN116471550A true CN116471550A (en) 2023-07-21

Family

ID=87179368

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210027797.9A Pending CN116471550A (en) 2022-01-11 2022-01-11 Communication system, communication method and equipment

Country Status (2)

Country Link
CN (1) CN116471550A (en)
WO (1) WO2023134522A1 (en)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017030473A1 (en) * 2015-08-14 2017-02-23 Telefonaktiebolaget Lm Ericsson (Publ) Methods and apparatus in a partially meshed network that includes multiple mesh nodes
EP3718373A4 (en) * 2017-11-27 2021-10-27 Willowmore Pte. Ltd. Gateway device for iot sensors or actuators
US10771201B2 (en) * 2018-11-08 2020-09-08 Qualcomm Incorporated On-demand retransmissions in broadcast communication
CN111935815B (en) * 2020-09-15 2021-03-02 深圳市汇顶科技股份有限公司 Synchronous communication method, electronic device, and storage medium
CN112702718A (en) * 2020-11-06 2021-04-23 北京小米移动软件有限公司 Communication method, device, equipment and storage medium

Also Published As

Publication number Publication date
WO2023134522A1 (en) 2023-07-20

Similar Documents

Publication Publication Date Title
CN112291764B (en) Content connection system
CN111628916B (en) Method for cooperation of intelligent sound box and electronic equipment
CN113556479B (en) Method for sharing camera by multiple applications and electronic equipment
EP4084486A1 (en) Cross-device content projection method, and electronic device
US20220368792A1 (en) Device Capability Scheduling Method and Electronic Device
WO2021052204A1 (en) Address book-based device discovery method, audio and video communication method, and electronic device
US20230422154A1 (en) Method for using cellular communication function, and related apparatus and system
CN115039378A (en) Audio output method and terminal equipment
CN111615820B (en) Method and equipment for performing domain name resolution by sending key value to GRS server
CN114885328A (en) Vehicle machine connecting method and device
CN114845035B (en) Distributed shooting method, electronic equipment and medium
WO2023284555A1 (en) Method for securely calling service, and method and apparatus for securely registering service
CN114928898B (en) Method and device for establishing session based on WiFi direct connection
WO2023005711A1 (en) Service recommendation method and electronic device
WO2023005900A1 (en) Screen projection method, electronic device, and system
WO2023134522A1 (en) Communication system, communication method, and device
CN115130085A (en) Login authentication method and electronic equipment
CN114567871A (en) File sharing method and device, electronic equipment and readable storage medium
CN114489876A (en) Text input method, electronic equipment and system
WO2023024887A1 (en) Cross-device authentication method and apparatus
US20230342335A1 (en) File sharing method and electronic device
WO2022179327A1 (en) Content storage method, electronic device, and system
CN117119097A (en) Method, equipment and storage medium for incoming call resonance
CN113688368A (en) Cross-device authentication method
CN116418790A (en) Service quality detection method, system and equipment

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination