A communication method and apparatus
By establishing low-power Bluetooth broadcast between walkie-talkie devices, full-duplex communication is achieved, solving the problem of low efficiency in simplex communication in existing technologies, improving the efficiency and convenience of voice calls, enhancing bandwidth utilization, and avoiding time conflicts.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- BESTECHNIC SHANGHAI CO LTD
- Filing Date
- 2022-12-16
- Publication Date
- 2026-05-26
AI Technical Summary
Existing walkie-talkie equipment uses simplex communication mode, resulting in low efficiency and convenience of voice calls.
Full-duplex communication is achieved by establishing low-power Bluetooth broadcast between walkie-talkie devices, including synchronous scanning and broadcasting. Devices of the same type are filtered using custom tags and broadcast types, fixed time intervals for sending windows are arranged, and periodic broadcasting and data stream synchronization are performed. The broadcast period is adjusted to compensate for crystal oscillator frequency differences.
It improves the efficiency and convenience of voice communication between walkie-talkie devices, enhances bandwidth utilization, avoids time conflicts and synchronization failures, and realizes full-duplex communication.
Smart Images

Figure CN115955731B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of communication technology, and in particular to a communication method and apparatus. Background Technology
[0002] A walkie-talkie is a two-way mobile communication tool that is small in size but powerful in function. It can transmit voice messages without any network support, and is therefore widely used in the transportation industry and activities such as road trips.
[0003] In related technologies, walkie-talkies use wireless radio frequency communication and simplex communication mode for voice transmission. That is, a walkie-talkie device can either send or receive voice data, but cannot talk to each other at the same time, which affects the efficiency and convenience of voice calls. Summary of the Invention
[0004] This application provides a communication method and apparatus for realizing full-duplex communication of walkie-talkie devices, thereby improving the efficiency and convenience of voice calls.
[0005] On one hand, embodiments of this application provide a communication method applied to a first walkie-talkie device, including:
[0006] Enable broadcast scanning;
[0007] If at least one second low-power Bluetooth broadcast of the same type is detected within a preset time period, then the at least one second low-power Bluetooth broadcast detected will be synchronized in sequence, and the first low-power Bluetooth broadcast of the device itself will be established.
[0008] Voice data is sent to the at least one second walkie-talkie device via the first low-power Bluetooth broadcast;
[0009] Voice data transmitted by the corresponding second walkie-talkie device is obtained by scanning at least one second low-power Bluetooth broadcast.
[0010] In this embodiment, after the first walkie-talkie device is powered on, it begins scanning for surrounding devices. When it detects a second low-power Bluetooth broadcast established by a similar second walkie-talkie device within a preset time period, it simultaneously detects the second low-power Bluetooth broadcast and establishes its own first low-power Bluetooth broadcast, thus entering a scanning and broadcasting state. In this state, the first walkie-talkie device can receive voice data broadcast by the second walkie-talkie device, and it can also directly broadcast collected voice data, achieving full-duplex communication between the walkie-talkie devices, thereby improving the efficiency of voice calls and providing convenience to users.
[0011] Optionally, if no second low-power Bluetooth broadcast established by a second walkie-talkie device of the same type is detected within a preset time period, then the device establishes its own first low-power Bluetooth broadcast.
[0012] Optionally, it also includes:
[0013] If the broadcast data packet obtained by scanning carries a preset tag, it is determined that a second low-power Bluetooth broadcast established by a second walkie-talkie device of the same type has been detected; or,
[0014] If the broadcast type defined in the broadcast data packet obtained by scanning is a preset type, then it is determined that a second low-power Bluetooth broadcast has been established by a second walkie-talkie device of the same type.
[0015] In this embodiment of the application, by custom marking the broadcast data packets and / or defining the broadcast type in the broadcast data packets as a preset type, the broadcasts of other walkie-talkie devices of different types from the first walkie-talkie device can be filtered out during subsequent broadcast scanning, thereby improving the communication efficiency between walkie-talkie devices of the same type.
[0016] Optionally, it also includes:
[0017] For each second walkie-talkie device, a second shared device list sent by the second walkie-talkie device is received, wherein the second shared device list includes: window position information of the sending window of at least one neighbor walkie-talkie device synchronized to the second walkie-talkie device;
[0018] Based on the window position information of the second transmission window of the second walkie-talkie device and the second shared device list, a first transmission window of its own is established. In the transmission window sequence consisting of the first transmission window, the second transmission window and the transmission window of the at least one neighboring walkie-talkie device, the time interval between two adjacent transmission windows is a fixed value, and the transmission window sequence is located within a preset period.
[0019] Based on the window position information of the second sending window and the sending window of the at least one neighboring walkie-talkie device, update the local first shared device list.
[0020] In this embodiment, within a preset period, the transmission windows of multiple walkie-talkie devices are arranged based on a fixed time interval, and a shared device list is used to enable each walkie-talkie device to know the time and location of the transmission windows of other walkie-talkie devices in a timely manner, so as to realize the intercom function of more walkie-talkie devices and effectively improve the bandwidth utilization.
[0021] Optionally, the step of sending voice data to the at least one second walkie-talkie device via the first Bluetooth Low Energy broadcast, and obtaining the corresponding voice data sent by the second walkie-talkie by scanning at least one second Bluetooth Low Energy broadcast, includes:
[0022] Within the first transmission window, voice data is transmitted to the at least one second walkie-talkie device via the first low-power Bluetooth broadcast.
[0023] Within the second transmission window corresponding to the second walkie-talkie device, the voice data transmitted by the second walkie-talkie device is obtained by scanning the corresponding second low-power Bluetooth broadcast.
[0024] In this embodiment, when the first walkie-talkie device scans for a second low-power Bluetooth broadcast established by a second walkie-talkie device of the same type within a preset time period, it simultaneously scans for the second low-power Bluetooth broadcast and establishes its own first low-power Bluetooth broadcast to enter a scanning and broadcasting state. In this state, the first walkie-talkie device broadcasts voice data within its first transmission window and scans for the voice data broadcast by the second walkie-talkie device within its second transmission window, realizing full-duplex communication between the walkie-talkie devices, thereby improving the efficiency of voice calls and bringing convenience to users.
[0025] Optionally, it also includes:
[0026] Monitor the current time interval between the first sending window and the previous adjacent sending window in the sending window sequence;
[0027] If the current time interval deviates from the fixed value, the broadcast cycle of the first walkie-talkie device is adjusted accordingly based on the direction of deviation of the current time interval and the preset adjustment granularity to compensate for the deviation of the current time interval.
[0028] In this embodiment, the first walkie-talkie device monitors the current time interval between the first transmission window and the previous adjacent transmission window. When the current time interval deviates from a fixed value, the broadcast cycle of the first walkie-talkie device is adjusted to compensate for the deviation of the current time interval, so that the time interval between the first transmission window and the previous adjacent transmission window is maintained at a fixed value. This effectively solves the problem of time accumulation deviation caused by the difference in crystal oscillator frequency between walkie-talkie devices, while avoiding time conflicts and synchronization failures.
[0029] Optionally, it also includes:
[0030] Scan a third low-power Bluetooth broadcast established by a third walkie-talkie device of the same type, and obtain the window position information of the third sending window corresponding to the third low-power Bluetooth broadcast;
[0031] If, based on the window position information of the third sending window and the window position information of each sending window in the sending window sequence, it is determined that the third sending window overlaps with at least one sending window in the sending window sequence, then broadcasting is stopped.
[0032] If the third sending window does not overlap with any of the sending windows in the sending window sequence, then the third low-power Bluetooth broadcast is synchronized.
[0033] In this embodiment of the application, when performing broadcast synchronization, it is first determined whether there is an overlap of sending windows. If window overlap occurs, the broadcast is stopped in time to avoid time conflicts.
[0034] Optionally, the first Bluetooth Low Energy broadcast and the second Bluetooth Low Energy broadcast are periodic broadcasts or data streams based on broadcast synchronization.
[0035] On one hand, embodiments of this application provide a communication device applied to a first walkie-talkie device, comprising:
[0036] The startup unit is used to initiate broadcast scanning;
[0037] The processing unit is configured to, if at least one second low-power Bluetooth broadcast of the same type is detected within a preset time period, sequentially synchronize the detected at least one second low-power Bluetooth broadcast and establish its own first low-power Bluetooth broadcast.
[0038] A broadcast unit is used to send voice data to the at least one second walkie-talkie device via the first low-power Bluetooth broadcast;
[0039] The scanning unit obtains voice data sent by the corresponding second walkie-talkie device by scanning at least one second low-power Bluetooth broadcast.
[0040] Optionally, the processing unit is further configured to:
[0041] If no second low-power Bluetooth broadcast of the same type is detected within a preset time period, then the first low-power Bluetooth broadcast is established.
[0042] Optionally, the processing unit is further configured to:
[0043] If the broadcast data packet obtained by scanning carries a preset tag, it is determined that a second low-power Bluetooth broadcast established by a second walkie-talkie device of the same type has been detected; or,
[0044] If the broadcast type defined in the broadcast data packet obtained by scanning is a preset type, then it is determined that a second low-power Bluetooth broadcast has been established by a second walkie-talkie device of the same type.
[0045] Optionally, the processing unit is further configured to:
[0046] For each second walkie-talkie device, a second shared device list sent by the second walkie-talkie device is received, wherein the second shared device list includes: window position information of the sending window of at least one neighbor walkie-talkie device synchronized to the second walkie-talkie device;
[0047] Based on the window position information of the second transmission window of the second walkie-talkie device and the second shared device list, a first transmission window of its own is established. In the transmission window sequence consisting of the first transmission window, the second transmission window and the transmission window of the at least one neighboring walkie-talkie device, the time interval between two adjacent transmission windows is a fixed value, and the transmission window sequence is located within a preset period.
[0048] Based on the window position information of the second sending window and the sending window of the at least one neighboring walkie-talkie device, update the local first shared device list.
[0049] Optionally, the broadcast unit is specifically used for:
[0050] Within the first transmission window, voice data is transmitted to the at least one second walkie-talkie device via the first low-power Bluetooth broadcast.
[0051] The scanning unit is specifically used for:
[0052] Within the second transmission window corresponding to the second walkie-talkie device, the voice data transmitted by the second walkie-talkie device is obtained by scanning the corresponding second low-power Bluetooth broadcast.
[0053] Optionally, the processing unit is specifically used for:
[0054] Monitor the current time interval between the first sending window and the previous adjacent sending window in the sending window sequence;
[0055] If the current time interval deviates from the fixed value, the broadcast cycle of the first walkie-talkie device is adjusted accordingly based on the direction of deviation of the current time interval and the preset adjustment granularity to compensate for the deviation of the current time interval.
[0056] Optionally, the processing unit is further configured to:
[0057] Scan a third low-power Bluetooth broadcast established by a third walkie-talkie device of the same type, and obtain the window position information of the third sending window corresponding to the third low-power Bluetooth broadcast;
[0058] If, based on the window position information of the third sending window and the window position information of each sending window in the sending window sequence, it is determined that the third sending window overlaps with at least one sending window in the sending window sequence, then broadcasting is stopped.
[0059] If the third sending window does not overlap with any of the sending windows in the sending window sequence, then the third low-power Bluetooth broadcast is synchronized.
[0060] Optionally, the first Bluetooth Low Energy broadcast and the second Bluetooth Low Energy broadcast are periodic broadcasts or data streams based on broadcast synchronization.
[0061] On the one hand, embodiments of this application provide an electronic device for performing the steps of the above-described communication method.
[0062] In this embodiment, when the first walkie-talkie device scans for a second low-power Bluetooth broadcast established by a second walkie-talkie device of the same type within a preset time period, it simultaneously scans for the second low-power Bluetooth broadcast and establishes its own first low-power Bluetooth broadcast to enter a scanning and broadcasting state. In this state, the first walkie-talkie device broadcasts voice data within its first transmission window and scans for the voice data broadcast by the second walkie-talkie device within its second transmission window, realizing full-duplex communication between the walkie-talkie devices, thereby improving the efficiency of voice calls and bringing convenience to users. Attached Figure Description
[0063] To more clearly illustrate the technical solutions in the embodiments of the present invention, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the accompanying drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0064] Figure 1 A schematic diagram of a broadcast data packet sequence for periodic broadcasting provided in an embodiment of this application;
[0065] Figure 2 A timing diagram illustrating a periodic broadcast provided for an embodiment of this application;
[0066] Figure 3 This application provides a schematic diagram of a broadcast data packet sequence for a BIS (Browser Information System).
[0067] Figure 4 A timing diagram of a BIS provided for an embodiment of this application;
[0068] Figure 5 A schematic diagram of a scanning window and scanning interval provided for an embodiment of this application;
[0069] Figure 6 A schematic diagram of a system architecture provided in an embodiment of this application;
[0070] Figure 7 A flowchart illustrating a communication method provided in an embodiment of this application;
[0071] Figure 8 A schematic diagram illustrating a synchronous periodic broadcast process provided in an embodiment of this application;
[0072] Figure 9 A schematic diagram illustrating a process for establishing periodic broadcasts, provided as an embodiment of this application;
[0073] Figure 10 A schematic diagram of a synchronous BIS provided for an embodiment of this application;
[0074] Figure 11 A schematic diagram of a process for establishing a BIS is provided for an embodiment of this application;
[0075] Figure 12 A flowchart illustrating a method for obtaining window position information provided in an embodiment of this application;
[0076] Figure 13 A flowchart illustrating a transmission window interval compensation method provided in an embodiment of this application;
[0077] Figure 14 A schematic diagram illustrating overlapping sending windows provided in an embodiment of this application;
[0078] Figure 15 This is a schematic diagram of the structure of a communication device provided in an embodiment of this application;
[0079] Figure 16 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application. Detailed Implementation
[0080] To make the objectives, technical solutions, and beneficial effects of this invention clearer, the invention will be further described in detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative of the invention and are not intended to limit the invention.
[0081] For ease of understanding, the terms used in the embodiments of this invention are explained below.
[0082] Periodic Broadcast (PA): Broadcast data packets are sent periodically at fixed time intervals. The AUX_SYNC_IND and AUX_CHAIN_IND PDUs form the broadcast data packet sequence, as shown below. Figure 1As shown, a periodic broadcast starts from an Advertising Event or ADV_EXT_IND, which leads to AUX_ADV_IND, then to AUX_SYNC_IND, and AUX_SYNC_IND leads to AUX_CHAIN_IND. The AUX_SYNC_IND PDU contains information that is synchronized to this periodic broadcast, and the AUX_CHAIN_IND PDU contains voice data.
[0083] Synchronization State: In order to receive periodic broadcasts, the link layer needs to obtain synchronization information from the periodic broadcasts. From Figure 1 As can be seen, during the initial synchronization, AUX_ADV_IND is found from the extended broadcast ADV_EXT_IND, then AUX_SYNC_IND is found, and the synchronization information for the periodic broadcast is retrieved from AUX_SYNC_IND, before entering the synchronization state. After entering the synchronization state, the link layer only needs to listen to AUX_SYNC_IND on the secondary channel. In practical applications, the timing of periodic broadcast transmission of voice data is as follows: Figure 2 As shown.
[0084] BIS: Broadcast Isochronous Stream, a data stream based on broadcast synchronization. The broadcast source broadcasts the data stream, and the receiver synchronizes its data stream by scanning the broadcast and synchronizing with it. This is a connectionless data synchronization method. The broadcast data packet sequence of BIS is as follows: Figure 3 As shown, a BIS (Bio-Input Signal) originates from an ADV_EXT_IND, which in turn generates an AUX_ADV_IND, and then an AUX_SYNC_IND. The AUX_SYNC_IND contains a BIGInfo, which indicates the number of BISs within the BIG and how to locate them. Multiple BISs are then generated based on the BIGInfo, and each BIS transmits voice data using retransmission. In practical applications, the timing of BIS voice data transmission is as follows: Figure 4 As shown.
[0085] BIG: Broadcast Isochronous Group.
[0086] Broadcast scanning: The Bluetooth Link Layer (LL) listens for broadcast messages on the main channel on the physical layer (PHY) of the port specified by the Bluetooth host. The window through which the Link Layer continuously scans is called the scan window, and the scanning interval is called the scan interval. Figure 5 As shown.
[0087] refer to Figure 6 This is a system architecture diagram applicable to embodiments of this application. The system architecture includes a first walkie-talkie device 601 and a second walkie-talkie device 602. The first walkie-talkie device 601 and the second walkie-talkie device 602 can communicate via Bluetooth radio frequency. The types of walkie-talkie devices include, but are not limited to, handheld walkie-talkies, vehicle (ship, aircraft) mounted walkie-talkies, fixed walkie-talkies, and repeater walkie-talkies.
[0088] The first walkie-talkie device 601 includes a voice acquisition module, a codec module, a Bluetooth module, and a voice playback module. The voice acquisition module can be any type of microphone, and the voice playback module can be any type of speaker. The second walkie-talkie device 602 also includes the above modules, which will not be described in detail here.
[0089] The first walkie-talkie device 601 acquires raw voice data through a voice acquisition module, then encodes the raw voice data through an encoding / decoding module to obtain encoded voice data, and finally broadcasts the encoded voice data through a Bluetooth module. The second walkie-talkie device 602 obtains the encoded voice data by scanning with a Bluetooth module, decodes the encoded voice data through an encoding / decoding module to obtain decoded voice data, and then plays the decoded voice data through a voice playback module.
[0090] It should be noted that the first walkie-talkie device 601 can also simultaneously scan and obtain encoded voice data broadcast by multiple second walkie-talkie devices 602. In this case, the multiple encoded voice data are decoded and mixed, and then played through the voice playback module.
[0091] based on Figure 6 The system architecture diagram shown in this application illustrates a communication method flowchart. Figure 7 As shown, the process of this method is executed by an electronic device, which can be... Figure 6 The first walkie-talkie device 601 shown includes the following steps:
[0092] Step S701: Start broadcast scanning.
[0093] Specifically, after the first walkie-talkie device is powered on, it begins scanning for surrounding devices.
[0094] Step S702: If at least one second low-power Bluetooth broadcast of the same type is detected within a preset time period, then at least one second low-power Bluetooth broadcast detected is synchronized in sequence, and a first low-power Bluetooth broadcast of its own is established.
[0095] Specifically, the preset duration is a pre-set timeout period. If a second low-power Bluetooth broadcast established by a second walkie-talkie device of the same type is detected within the preset duration, a synchronization operation is initiated, and the timer restarts. Upon the timeout period, a first low-power Bluetooth broadcast is established. If no second low-power Bluetooth broadcast established by a second walkie-talkie device of the same type is detected within the preset duration, a first low-power Bluetooth broadcast is established. In some embodiments, the first and second low-power Bluetooth broadcasts are periodic broadcasts or data streams based on broadcast synchronization.
[0096] In practical applications, since there are a large number of low-power Bluetooth broadcasts around the first walkie-talkie device, and the first walkie-talkie device only needs to make voice calls with the second walkie-talkie device of the same type, the first walkie-talkie device needs to filter the scanned low-power Bluetooth broadcasts in order to obtain the second low-power Bluetooth broadcast established by at least one second walkie-talkie device of the same type.
[0097] Therefore, embodiments of this application employ at least one of the following filtering methods to filter low-power Bluetooth broadcasts:
[0098] Filtering Method 1: If the broadcast data packet obtained by scanning carries a preset tag, it is determined that a second low-power Bluetooth broadcast established by a second walkie-talkie device of the same type has been scanned.
[0099] Specifically, a flag for the second Bluetooth Low Energy broadcast is predefined and then sent to the Bluetooth controller (BTC) in the Bluetooth module via the manufacturer's Host Controller Interface (HCI) event. When the Bluetooth controller in the first walkie-talkie device receives the broadcast data packet, it determines whether the broadcast data packet carries the preset flag. If so, it confirms that a second Bluetooth Low Energy broadcast established by a second walkie-talkie device of the same type has been detected; otherwise, the broadcast data packet is filtered.
[0100] Filtering Method 2: If the broadcast type defined in the broadcast data packet obtained by scanning is a preset type, then it is determined that a second low-power Bluetooth broadcast established by a second walkie-talkie device of the same type has been scanned.
[0101] Specifically, for the second Bluetooth Low Energy broadcast, the broadcast type (ADV TYPE) is predefined as a preset type in the corresponding broadcast data packet. After the first walkie-talkie device scans and obtains the broadcast data packet, it retrieves the broadcast type from the broadcast data packet; if the broadcast type is the preset type, it is determined that a second Bluetooth Low Energy broadcast established by a second walkie-talkie device of the same type has been scanned; otherwise, the broadcast data packet is filtered.
[0102] In this embodiment of the application, by custom marking the broadcast data packets and / or defining the broadcast type in the broadcast data packets as a preset type, the broadcasts of other walkie-talkie devices of different types from the first walkie-talkie device can be filtered out during subsequent broadcast scanning, thereby improving the communication efficiency between walkie-talkie devices of the same type.
[0103] Step S703: Send voice data to at least one second walkie-talkie device via a first low-power Bluetooth broadcast, and obtain the voice data sent by the corresponding second walkie-talkie device by scanning at least one second low-power Bluetooth broadcast.
[0104] Specifically, after the first walkie-talkie device sequentially and synchronously scans at least one second low-power Bluetooth broadcast and establishes its own first low-power Bluetooth broadcast, the first walkie-talkie device enters the scanning and broadcasting state. In this state, the first walkie-talkie device can send and receive voice data.
[0105] In this embodiment, after the first walkie-talkie device is powered on, it begins scanning for surrounding devices. When it detects a second low-power Bluetooth broadcast established by a similar second walkie-talkie device within a preset time period, it simultaneously detects the second low-power Bluetooth broadcast and establishes its own first low-power Bluetooth broadcast, thus entering a scanning and broadcasting state. In this state, the first walkie-talkie device can receive voice data broadcast by the second walkie-talkie device, and it can also directly broadcast collected voice data, achieving full-duplex communication between the walkie-talkie devices, thereby improving the efficiency of voice calls and providing convenience to users.
[0106] Optionally, in step 702 above, the Bluetooth module in the first walkie-talkie device is set to include Bluetooth host A and Bluetooth link layer A, and the Bluetooth module in the second walkie-talkie device is set to include Bluetooth host B and Bluetooth link layer B. Based on the above settings, the process of the first walkie-talkie device synchronously scanning the second low-power Bluetooth broadcast and establishing the first low-power Bluetooth broadcast is described in detail below.
[0107] In some embodiments, when the first Bluetooth Low Energy broadcast and the second Bluetooth Low Energy broadcast are periodic broadcasts, the first walkie-talkie device synchronizes the second Bluetooth Low Energy broadcast of the scanned second walkie-talkie device in at least the following manner: Figure 8 As shown, it includes the following steps:
[0108] Step 801: Bluetooth host A sets the extended scan parameters for Bluetooth link layer A.
[0109] Step 802, Bluetooth Link Layer A returns a command completion message.
[0110] Step 803: Bluetooth host A triggers Bluetooth link layer A to start extended scan.
[0111] Step 804, Bluetooth Link Layer A returns a command completion message.
[0112] Step 805: Scan the Bluetooth link layer A to obtain the ADV_EXT_IND broadcast by the Bluetooth link layer B.
[0113] Step 806: Scan the Bluetooth link layer A to obtain the AUX_ADV_IND broadcast by the Bluetooth link layer B.
[0114] Step 807: Bluetooth host A detects extended broadcast data.
[0115] Step 808: Bluetooth host A triggers Bluetooth link layer A to establish periodic broadcast synchronization.
[0116] Step 809, Bluetooth Link Layer A returns the command status.
[0117] Step 810: Bluetooth Link Layer A scans to obtain the ADV_EXT_IND broadcast by Bluetooth Link Layer B.
[0118] Step 811: Scan the Bluetooth link layer A to obtain the AUX_ADV_IND broadcast by the Bluetooth link layer B.
[0119] Step 812: Scan the Bluetooth link layer A to obtain the AUX_SYNC_IND broadcast by the Bluetooth link layer B.
[0120] Bluetooth link layer A finds the periodically broadcast synchronization information from AUX_SYNC_IND and then enters the synchronization state.
[0121] Step 813: Bluetooth Link Layer A returns a message to Bluetooth Host A indicating that the periodic broadcast synchronization has been established.
[0122] In some embodiments, when the first Bluetooth Low Energy broadcast and the second Bluetooth Low Energy broadcast are periodic broadcasts, the first walkie-talkie device establishes its own first Bluetooth Low Energy broadcast in at least the following ways: Figure 9 As shown, it includes the following steps:
[0123] Step 901: Bluetooth host A sets the extended broadcast parameters of Bluetooth link layer A.
[0124] Step 902, Bluetooth Link Layer A returns a command completion message.
[0125] Step 903: Bluetooth host A sets the periodic broadcast parameters for Bluetooth link layer A.
[0126] Step 904, Bluetooth Link Layer A returns a command completion message.
[0127] Step 905: Bluetooth host A triggers Bluetooth link layer A to start periodic broadcasting.
[0128] Step 906, Bluetooth Link Layer A returns a command completion message.
[0129] Step 907: Bluetooth host A triggers Bluetooth link layer A to enable extended broadcast.
[0130] Step 908, Bluetooth Link Layer A returns a command completion message.
[0131] Step 909: Bluetooth Link Layer A broadcasts ADV_EXT_IND.
[0132] Step 910: Bluetooth Link Layer A broadcasts AUX_ADV_IND.
[0133] Step 911: Bluetooth Link Layer A broadcasts AUX_SYNC_IND.
[0134] In some embodiments, when the first Bluetooth Low Energy broadcast and the second Bluetooth Low Energy broadcast are BIS, the first walkie-talkie device synchronizes the second Bluetooth Low Energy broadcast of the scanned second walkie-talkie device in at least the following manner: Figure 10 As shown, it includes the following steps:
[0135] Step 1001: Scan the Bluetooth link layer A to obtain the ADV_EXT_IND broadcast by the Bluetooth link layer B.
[0136] Step 1002: Scan the Bluetooth link layer A to obtain the AUX_ADV_IND broadcast by the Bluetooth link layer B.
[0137] Step 1003: Bluetooth host A detects extended broadcast data.
[0138] Step 1004: Scan the Bluetooth link layer A to obtain the AUX_SYNC_IND and BIGInfo broadcast by the Bluetooth link layer B.
[0139] Step 1005: Bluetooth host A triggers Bluetooth link layer A to establish periodic broadcast synchronization.
[0140] Step 1006: Bluetooth Link Layer A returns the command status.
[0141] Bluetooth link layer A finds the periodically broadcast synchronization information from AUX_SYNC_IND and then enters the synchronization state.
[0142] Step 1007: Bluetooth Link Layer A returns a message to Bluetooth Host A indicating that the periodic broadcast synchronization has been established.
[0143] Step 1008: Scan the Bluetooth link layer A to obtain the AUX_SYNC_IND and BIGInfo broadcast by the Bluetooth link layer B.
[0144] Step 1009: Bluetooth host A detects periodic broadcast data.
[0145] Step 1010: Bluetooth host A detects BIGInfo broadcast data.
[0146] Step 1011: Bluetooth host A triggers Bluetooth link layer A to establish BIG synchronization.
[0147] Step 1012, Bluetooth Link Layer A returns the command status.
[0148] Step 1013: Scan the Bluetooth link layer A to obtain the AUX_SYNC_IND and BIGInfo broadcast by the Bluetooth link layer B.
[0149] Bluetooth Link Layer A finds the BIG synchronization information from BIGInfo and then enters the synchronization state.
[0150] Step 1014: Bluetooth Link Layer A returns a message to Bluetooth Host A indicating that BIG synchronization is complete.
[0151] Step 1015: Bluetooth host A triggers Bluetooth link layer A to establish an ISO data channel.
[0152] Specifically, the ISO data channel is used to receive voice data from the second walkie-talkie device.
[0153] Step 1016, Bluetooth Link Layer A returns a command completion message.
[0154] In some embodiments, when the first Bluetooth Low Energy broadcast and the second Bluetooth Low Energy broadcast are BIS, the first walkie-talkie device establishes its own first Bluetooth Low Energy broadcast in at least the following ways: Figure 11 As shown, it includes the following steps:
[0155] Step 1101: Bluetooth host A sets the extended broadcast parameters of Bluetooth link layer A.
[0156] Step 1102, Bluetooth Link Layer A returns a command completion message.
[0157] Step 1103: Bluetooth host A sets the periodic broadcast parameters for Bluetooth link layer A.
[0158] Step 1104, Bluetooth Link Layer A returns a command completion message.
[0159] Step 1105: Bluetooth host A triggers Bluetooth link layer A to start periodic broadcasting.
[0160] Step 1106, Bluetooth Link Layer A returns a command completion message.
[0161] Step 1107: Bluetooth host A triggers Bluetooth link layer A to enable extended broadcast.
[0162] Step 1108, Bluetooth Link Layer A returns a command completion message.
[0163] Step 1109: Bluetooth Link Layer A broadcasts ADV_EXT_IND.
[0164] Step 1110: Bluetooth Link Layer A broadcasts AUX_ADV_IND.
[0165] Step 1111: Bluetooth Link Layer A broadcasts AUX_SYNC_IND.
[0166] Step 1112: Bluetooth Link Layer A triggers the establishment of BIG.
[0167] Step 1113, Bluetooth Link Layer A returns the command status.
[0168] Step 1114: Bluetooth Link Layer A broadcasts AUX_SYNC_IND and BIGInfo.
[0169] Step 1115: Bluetooth Link Layer A returns "BIG established successfully".
[0170] Step 1116: Bluetooth host A triggers Bluetooth link layer A to establish an ISO data channel.
[0171] Step 1117: Bluetooth Link Layer A broadcasts BIS data packets.
[0172] Optionally, in step 702 above, for each second walkie-talkie device, a second shared device list sent by the second walkie-talkie device is received, wherein the second shared device list includes: window position information of the sending windows of at least one neighboring walkie-talkie device synchronized to the second walkie-talkie device. Based on the window position information of the second sending window of the second walkie-talkie device and the second shared device list, a first sending window of the device itself is established, wherein in the sending window sequence consisting of the first sending window, the second sending window, and the sending windows of at least one neighboring walkie-talkie device, the time interval between two adjacent sending windows is a fixed value, and the sending window sequence is located within a preset period; based on the window position information of the second sending window and the sending windows of at least one neighboring walkie-talkie device, the local first shared device list is updated.
[0173] Specifically, the window position information of the neighboring walkie-talkie's transmission window refers to the offset time between the neighboring walkie-talkie's transmission window and the second transmission window. This offset time is adjustable. Within a preset period, the second walkie-talkie, referencing its local clock and using the start time of its second transmission window as a reference time, calculates the time difference between the neighboring walkie-talkie's transmission window and the reference time to obtain the offset time. This offset time, along with the neighboring walkie-talkie's device information, is then stored in the second shared device list. This second shared device list is then broadcast in Extend Adv Data so that other walkie-talkies can scan for it.
[0174] After synchronizing with the second walkie-talkie, the first walkie-talkie obtains the window position information of the second walkie-talkie's second transmission window. The first walkie-talkie also receives a second shared device list sent by the second walkie-talkie, which includes the window position information of the transmission windows of at least one neighboring walkie-talkie synchronized to the second walkie-talkie. The first walkie-talkie converts the window position information of its second transmission window and the window position information of at least one neighboring walkie-talkie into an offset time based on its local clock, and adds them to its local first shared device list. At this point, the second walkie-talkie and at least one of its neighboring walkie-talkies are all neighboring walkie-talkies of the first walkie-talkie. The first walkie-talkie then establishes its own first transmission window based on the updated first shared device list.
[0175] For example, such as Figure 12 As shown, the first walkie-talkie device synchronizes with the second walkie-talkie device's second low-power Bluetooth broadcast and obtains a second shared device list. The second walkie-talkie device corresponds to transmission window 1. The second shared device list includes the window position information of transmission windows 2 of neighboring walkie-talkie device A and 3 of neighboring walkie-talkie device B, which are synchronized to the second walkie-talkie device. The window position information of transmission windows 1, 2, and 3 is converted into the offset time of the local clock to obtain the window position information of transmission windows 1, 2, and 3 within a preset period T. The time interval between any two adjacent transmission windows in transmission windows 1, 2, and 3 is the same fixed value m. The window position information of transmission windows 1, 2, and 3 is added to the local first shared device list.
[0176] The first walkie-talkie device establishes its own transmission window 4 based on the time positions of transmission windows 1, 2, and 3. The time interval between any two adjacent transmission windows in transmission windows 1, 2, 3, and 4 is the same fixed value m. Transmission windows 1, 2, 3, and 4 are located within a preset period T.
[0177] In this embodiment, after the first walkie-talkie device synchronizes with the second walkie-talkie device, it not only obtains the window position information of the second transmission window of the second walkie-talkie device, but also obtains the window position information of the transmission windows of the neighboring walkie-talkie devices through the second shared device list. Then, based on the window position information of the second transmission window and the window position information of the neighboring walkie-talkie devices, a first transmission window is constructed, avoiding conflicts between the first transmission window and the second transmission window and the transmission windows of the neighboring walkie-talkie devices. At the same time, by arranging the transmission windows of multiple walkie-talkie devices based on a fixed time interval, the intercom function of more walkie-talkie devices is realized, effectively improving bandwidth utilization.
[0178] In some embodiments, since each walkie-talkie device has its own corresponding crystal oscillator (i.e., the clocks are from different sources), and each walkie-talkie device determines the time position of each transmission window by referring to its local clock, when the clock of the walkie-talkie device deviates, the time interval between two adjacent transmission windows will gradually change. This may result in a situation where, after a long broadcast period, the time interval between two adjacent transmission windows shrinks to 0, causing a time conflict. Therefore, in this embodiment, the first walkie-talkie device monitors the current time interval between the first transmission window and the preceding adjacent transmission window in the transmission window sequence. If the current time interval deviates from a fixed value, the broadcast period of the first walkie-talkie device is adjusted accordingly based on the direction of deviation and a preset adjustment granularity to compensate for the deviation.
[0179] In practical applications, according to Bluetooth protocol requirements, once a periodic broadcast / BIS broadcast begins, it must be broadcast according to the specified broadcast period and the broadcast position cannot be significantly modified. This is because a large modification to the broadcast position will cause already synchronized devices to lose their connection and fail to find the new broadcast position, resulting in synchronization loss. However, considering that the broadcast position can be fine-tuned during periodic or BIS broadcasts, with adjustments of 1-2µs each time, for example, if the periodic broadcast period is set to 10ms, the actual broadcast period can be between 9.998ms and 10.002ms. Therefore, this application sets the preset adjustment granularity to between 1-2µs.
[0180] If the deviation of the current time interval is greater than a fixed value, the broadcast cycle of the first walkie-talkie device is reduced according to a preset adjustment granularity. Therefore, in the next preset cycle, the current time interval between the first transmitting window and the previous adjacent transmitting window will decrease. If the deviation of the current time interval is less than a fixed value, the broadcast cycle of the first walkie-talkie device is increased according to a preset adjustment granularity. Therefore, in the next preset cycle, the current time interval between the first transmitting window and the previous adjacent transmitting window will increase. After multiple adjustments in this manner, the time interval between the first transmitting window and the previous adjacent transmitting window will be maintained at a fixed value. The next adjacent transmitting window of the first transmitting window can also be maintained at a fixed value by referring to the same method.
[0181] For example, such as Figure 13 As shown, a preset period T includes two transmission windows: transmission window a for walkie-talkie device A and transmission window b for walkie-talkie device B. The broadcast period for each walkie-talkie device is T. ’ =10ms. Walkie-talkie device B detects that the time interval between transmission window b and transmission window a is 8us, which is less than the fixed value of 10us. Therefore, walkie-talkie device B will arrive at the next transmission window after an interval of 10.002ms, which is the broadcast period T. ’ The interval is increased to 10.002ms. However, walkie-talkie device A still arrives at the next transmission window after an interval of 10ms. At this time, the time interval between transmission window b and transmission window a is compensated by 2us, so that the time interval between transmission window b and transmission window a is maintained at a fixed value of 10us in the next preset period T.
[0182] In this embodiment, the first walkie-talkie device monitors the current time interval between the first transmission window and the previous adjacent transmission window. When the current time interval deviates from a fixed value, the broadcast cycle of the first walkie-talkie device is adjusted to compensate for the deviation of the current time interval, so that the time interval between the first transmission window and the previous adjacent transmission window is maintained at a fixed value. This effectively solves the problem of time accumulation deviation caused by the difference in crystal oscillator frequency between walkie-talkie devices, while avoiding time conflicts and synchronization failures.
[0183] Optionally, in step S703, the first walkie-talkie device sends voice data to at least one second walkie-talkie device via a first low-power Bluetooth broadcast within a first transmission window. The first walkie-talkie device obtains the voice data sent by the second walkie-talkie device by scanning the corresponding second low-power Bluetooth broadcast within a second transmission window corresponding to the second walkie-talkie device.
[0184] Specifically, the first walkie-talkie broadcasts voice data within a first transmission window, and each second transmission window is a scanning window of the first walkie-talkie, used to scan and obtain the voice data broadcast by the second walkie-talkie.
[0185] For example, such as Figure 12 As shown, a preset cycle includes sending window 1, sending window 2, sending window 3 and sending window 4, wherein sending window 1 is the sending window of the second walkie-talkie device and sending window 4 is the sending window of the first walkie-talkie device.
[0186] The first walkie-talkie device scans and obtains the voice data broadcast by the second walkie-talkie device within the sending window 1, and the first walkie-talkie device broadcasts the voice data within the sending window 4.
[0187] In this embodiment, when the first walkie-talkie device scans for a second low-power Bluetooth broadcast established by a second walkie-talkie device of the same type within a preset time period, it simultaneously scans for the second low-power Bluetooth broadcast and establishes its own first low-power Bluetooth broadcast to enter a scanning and broadcasting state. In this state, the first walkie-talkie device broadcasts voice data within its first transmission window and scans for the voice data broadcast by the second walkie-talkie device within its second transmission window, realizing full-duplex communication between the walkie-talkie devices, thereby improving the efficiency of voice calls and bringing convenience to users.
[0188] In some embodiments, after establishing a first transmission window, the first walkie-talkie device scans for a third low-power Bluetooth broadcast established by a third walkie-talkie device of the same type, and obtains the window position information of the third transmission window corresponding to the third low-power Bluetooth broadcast. If, based on the window position information of the third transmission window and the window position information of each transmission window in the transmission window sequence, it is determined that the third transmission window overlaps with at least one transmission window in the transmission window sequence, then the broadcast is stopped.
[0189] Specifically, the first walkie-talkie device scans and obtains the extended broadcast data broadcast by the third walkie-talkie device, and obtains a list of shared devices from the extended broadcast data. Then, it retrieves the window position information of the third transmission window from the shared device list; this window position information is obtained by the third walkie-talkie device with reference to its local clock. The first walkie-talkie device converts the window position information of the third transmission window to window position information with reference to its local clock, and based on the window position information with reference to its local clock and the window position information of each transmission window in the transmission window sequence, determines whether the third transmission window overlaps with any of the transmission windows in the transmission window sequence. When the third transmission window overlaps with at least one transmission window in the transmission window sequence, the Bluetooth controller reports a conflict, the Bluetooth host stops broadcasting, and then re-establishes broadcasting.
[0190] If the third transmission window does not overlap with any of the transmission windows in the transmission window sequence, the first walkie-talkie device synchronizes the third low-power Bluetooth broadcast and adds the window position information of the third transmission window, which references the local clock, to the local shared device list.
[0191] For example, such as Figure 14 As shown, a preset period T includes two transmission windows, namely transmission window a of walkie-talkie device A and transmission window b of walkie-talkie device B.
[0192] When walkie-talkie device A detects walkie-talkie device C, it acquires the transmission window c of walkie-talkie device C. Since transmission window a and transmission window c overlap within a preset period T, the Bluetooth controller in walkie-talkie device A will report a conflict, and the Bluetooth host in walkie-talkie device A will stop broadcasting.
[0193] In this embodiment of the application, when performing broadcast synchronization, it is first determined whether there is an overlap of sending windows. If window overlap occurs, the broadcast is stopped in time to avoid time conflicts.
[0194] Based on the same technical concept, this application provides a schematic diagram of a communication device applied to a first walkie-talkie device, such as... Figure 15 As shown, the device 1500 includes:
[0195] Startup unit 1501 is used to initiate broadcast scanning;
[0196] The processing unit 1502 is configured to, if it detects at least one second low-power Bluetooth broadcast established by at least one second walkie-talkie device of the same type within a preset time period, sequentially synchronize the detected at least one second low-power Bluetooth broadcast and establish its own first low-power Bluetooth broadcast.
[0197] Broadcast unit 1503 is used to send voice data to the at least one second walkie-talkie device via the first low-power Bluetooth broadcast;
[0198] The scanning unit 1504 obtains voice data sent by the corresponding second walkie-talkie device by scanning at least one second low-power Bluetooth broadcast.
[0199] Optionally, the processing unit 1502 is further configured to:
[0200] If no second low-power Bluetooth broadcast of the same type is detected within a preset time period, then the first low-power Bluetooth broadcast is established.
[0201] Optionally, the processing unit 1502 is further configured to:
[0202] If the broadcast data packet obtained by scanning carries a preset tag, it is determined that a second low-power Bluetooth broadcast established by a second walkie-talkie device of the same type has been detected; or,
[0203] If the broadcast type defined in the broadcast data packet obtained by scanning is a preset type, then it is determined that a second low-power Bluetooth broadcast has been established by a second walkie-talkie device of the same type.
[0204] Optionally, the processing unit 1502 is further configured to:
[0205] For each second walkie-talkie device, a second shared device list sent by the second walkie-talkie device is received, wherein the second shared device list includes: window position information of the sending window of at least one neighbor walkie-talkie device synchronized to the second walkie-talkie device;
[0206] Based on the window position information of the second transmission window of the second walkie-talkie device and the second shared device list, a first transmission window of its own is established. In the transmission window sequence consisting of the first transmission window, the second transmission window and the transmission window of the at least one neighboring walkie-talkie device, the time interval between two adjacent transmission windows is a fixed value, and the transmission window sequence is located within a preset period.
[0207] Based on the window position information of the second sending window and the sending window of the at least one neighboring walkie-talkie device, update the local first shared device list.
[0208] Optionally, the broadcast unit 1503 is specifically used for:
[0209] Within the first transmission window, voice data is transmitted to the at least one second walkie-talkie device via the first low-power Bluetooth broadcast.
[0210] The scanning unit 1504 is specifically used for:
[0211] Within the second transmission window corresponding to the second walkie-talkie device, the voice data transmitted by the second walkie-talkie device is obtained by scanning the corresponding second low-power Bluetooth broadcast.
[0212] Optionally, the processing unit 1502 is specifically used for:
[0213] Monitor the current time interval between the first sending window and the previous adjacent sending window in the sending window sequence;
[0214] If the current time interval deviates from the fixed value, the broadcast cycle of the first walkie-talkie device is adjusted accordingly based on the direction of deviation of the current time interval and the preset adjustment granularity to compensate for the deviation of the current time interval.
[0215] Optionally, the processing unit 1502 is further configured to:
[0216] Scan a third low-power Bluetooth broadcast established by a third walkie-talkie device of the same type, and obtain the window position information of the third sending window corresponding to the third low-power Bluetooth broadcast;
[0217] If, based on the window position information of the third sending window and the window position information of each sending window in the sending window sequence, it is determined that the third sending window overlaps with at least one sending window in the sending window sequence, then broadcasting is stopped.
[0218] If the third sending window does not overlap with any of the sending windows in the sending window sequence, then the third low-power Bluetooth broadcast is synchronized.
[0219] Optionally, the first Bluetooth Low Energy broadcast and the second Bluetooth Low Energy broadcast are periodic broadcasts or data streams based on broadcast synchronization.
[0220] In this embodiment, when the first walkie-talkie device scans for a second low-power Bluetooth broadcast established by a second walkie-talkie device of the same type within a preset time period, it simultaneously scans for the second low-power Bluetooth broadcast and establishes its own first low-power Bluetooth broadcast to enter a scanning and broadcasting state. In this state, the first walkie-talkie device broadcasts voice data within its first transmission window and scans for the voice data broadcast by the second walkie-talkie device within its second transmission window, realizing full-duplex communication between the walkie-talkie devices, thereby improving the efficiency of voice calls and bringing convenience to users.
[0221] Based on the same technical concept, embodiments of this application provide an electronic device, which can be... Figure 6 The first walkie-talkie device 601 shown can also be a wearable device such as a smartwatch or headset, for example... Figure 16 As shown, it includes at least one processor 1601 and a memory 1602 connected to at least one processor. In this embodiment, the specific connection medium between the processor 1601 and the memory 1602 is not limited. Figure 16 Taking the connection between the processor 1601 and the memory 1602 via a bus as an example, the bus can be divided into address bus, data bus, control bus, etc.
[0222] In this embodiment of the application, the memory 1602 stores instructions that can be executed by at least one processor 1601. By executing the instructions stored in the memory 1602, at least one processor 1601 can perform the steps of the above-described communication method.
[0223] The processor 1601 is the control center of the electronic device, capable of connecting various parts of the device via various interfaces and lines. It enables voice communication by running or executing instructions stored in the memory 1602 and accessing data stored in the memory 1602. Optionally, the processor 1601 may include one or more processing units. The processor 1601 may integrate an application processor and a modem processor. The application processor primarily handles the operating system, user interface, and applications, while the modem processor primarily handles wireless communication. It is understood that the modem processor may not be integrated into the processor 1601. In some embodiments, the processor 1601 and the memory 1602 may be implemented on the same chip; in other embodiments, they may be implemented on separate chips.
[0224] Processor 1601 can be a general-purpose processor, such as a central processing unit (CPU), digital signal processor, application-specific integrated circuit (ASIC), field-programmable gate array (FPGA), or other programmable logic device, discrete gate or transistor logic device, or discrete hardware component, capable of implementing or executing the methods, steps, and logic block diagrams disclosed in the embodiments of this application. The general-purpose processor can be a microprocessor or any conventional processor. The steps of the methods disclosed in the embodiments of this application can be directly manifested as being executed by a hardware processor, or executed by a combination of hardware and software modules within the processor.
[0225] Memory 1602, as a non-volatile computer-readable storage medium, can be used to store non-volatile software programs, non-volatile computer-executable programs, and modules. Memory 1602 may include at least one type of storage medium, such as flash memory, hard disk, multimedia card, card-type memory, random access memory (RAM), static random access memory (SRAM), programmable read-only memory (PROM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), magnetic memory, magnetic disk, optical disk, etc. Memory 1602 can be any other medium capable of carrying or storing desired program code in the form of instructions or data structures and accessible by an electronic device, but is not limited thereto. Memory 1602 in the embodiments of this application may also be a circuit or any other device capable of implementing storage functions for storing program instructions and / or data.
[0226] Based on the same inventive concept, embodiments of this application provide a computer-readable storage medium storing a computer program executable by an electronic device, which, when run on the electronic device, causes the electronic device to perform the steps of the above-described communication method.
[0227] Those skilled in the art will understand that embodiments of the present invention can be provided as methods or computer program products. Therefore, the present invention can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, the present invention can take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.
[0228] This invention is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing device to produce a machine, such that the instructions, which execute via the processor of an electronic device or other programmable data processing device, generate instructions for implementing the flowchart illustrations and / or block diagrams. Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.
[0229] These computer program instructions may also be stored in a computer-readable storage medium that can direct electronic devices or other programmable data processing devices to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.
[0230] These computer program instructions can also be loaded onto electronic devices or other programmable data processing devices to cause a series of operational steps to be performed on the electronic device or other programmable device to produce a process implemented by the electronic device, thereby providing instructions that execute on the electronic device or other programmable device for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.
[0231] Although preferred embodiments of the invention have been described, those skilled in the art, upon learning the basic inventive concept, can make other changes and modifications to these embodiments. Therefore, the appended claims are intended to be interpreted as including both the preferred embodiments and all changes and modifications falling within the scope of the invention.
[0232] Obviously, those skilled in the art can make various modifications and variations to this invention without departing from its spirit and scope. Therefore, if these modifications and variations fall within the scope of the claims of this invention and their equivalents, this invention also intends to include these modifications and variations.
Claims
1. A communication method applied to a first walkie-talkie device, characterized in that, include: Enable broadcast scanning; If at least one second low-power Bluetooth broadcast of the same type is detected within a preset time period, then the at least one second low-power Bluetooth broadcast detected will be synchronized in sequence, and the first low-power Bluetooth broadcast of the device itself will be established. Voice data is sent to the at least one second walkie-talkie device via the first low-power Bluetooth broadcast; The first walkie-talkie device and the second walkie-talkie device communicate via Bluetooth frequency by scanning at least one second low-power Bluetooth broadcast. Monitor the current time interval between the first transmission window of the first walkie-talkie device and the previous adjacent transmission window in the transmission window sequence; If the current time interval deviates from a fixed value, the broadcast cycle of the first walkie-talkie device is adjusted accordingly based on the direction of deviation of the current time interval and the preset adjustment granularity to compensate for the deviation of the current time interval. The transmission window sequence consists of the first transmission window, the second transmission window of the second walkie-talkie device, and the transmission window of at least one neighboring walkie-talkie device, and the transmission window sequence is located within a preset period.
2. The method as described in claim 1, characterized in that, Also includes: If no second low-power Bluetooth broadcast is established by a second walkie-talkie device of the same type within a preset time period, then establish its own first low-power Bluetooth broadcast.
3. The method as described in claim 1, characterized in that, Also includes: If the broadcast data packet obtained by scanning carries a preset tag, it is determined that a second low-power Bluetooth broadcast established by a second walkie-talkie device of the same type has been scanned; or, If the broadcast type defined in the broadcast data packet obtained by scanning is a preset type, then it is determined that a second low-power Bluetooth broadcast has been established by a second walkie-talkie device of the same type.
4. The method as described in claim 1, characterized in that, Also includes: For each second walkie-talkie device, a second shared device list sent by the second walkie-talkie device is received, wherein the second shared device list includes: window position information of the sending window of at least one neighbor walkie-talkie device synchronized to the second walkie-talkie device; Based on the window position information of the second transmission window of the second walkie-talkie device and the second shared device list, a first transmission window is established for itself; in the transmission window sequence, the time interval between two adjacent transmission windows is a fixed value; Based on the window position information of the second sending window and the sending window of the at least one neighboring walkie-talkie device, update the local first shared device list.
5. The method as described in claim 4, characterized in that, The step of sending voice data to the at least one second walkie-talkie device via the first low-power Bluetooth broadcast, and obtaining the corresponding voice data sent by the second walkie-talkie by scanning at least one second low-power Bluetooth broadcast, includes: Within the first transmission window, voice data is transmitted to the at least one second walkie-talkie device via the first low-power Bluetooth broadcast. Within the second transmission window corresponding to the second walkie-talkie device, voice data transmitted by the second walkie-talkie device is obtained by scanning the corresponding second low-power Bluetooth broadcast.
6. The method as described in claim 4, characterized in that, Also includes: Scan a third low-power Bluetooth broadcast established by a third walkie-talkie device of the same type, and obtain the window position information of the third sending window corresponding to the third low-power Bluetooth broadcast; If, based on the window position information of the third sending window and the window position information of each sending window in the sending window sequence, it is determined that the third sending window overlaps with at least one sending window in the sending window sequence, then broadcasting is stopped. If the third sending window does not overlap with any of the sending windows in the sending window sequence, then the third low-power Bluetooth broadcast is synchronized.
7. The method according to any one of claims 1 to 6, characterized in that, The first and second Bluetooth Low Energy broadcasts are periodic broadcasts or data streams based on broadcast synchronization.
8. A communication device applied to a first walkie-talkie, characterized in that, include: The startup unit is used to initiate broadcast scanning; The synchronization unit is used to synchronize at least one second low-power Bluetooth broadcast scanned within a preset time period and establish its own first low-power Bluetooth broadcast if at least one second walkie-talkie device of the same type establishes a second low-power Bluetooth broadcast. A broadcast unit is used to send voice data to the at least one second walkie-talkie device via the first low-power Bluetooth broadcast; The scanning unit obtains voice data sent by the corresponding second walkie-talkie device by scanning at least one second low-power Bluetooth broadcast; the first walkie-talkie device and the second walkie-talkie device conduct voice communication via Bluetooth frequency. The synchronization unit is also used to monitor the current time interval between the first transmission window of the first walkie-talkie device and the previous adjacent transmission window in the transmission window sequence; If the current time interval deviates from a fixed value, the broadcast cycle of the first walkie-talkie device is adjusted accordingly based on the direction of deviation of the current time interval and the preset adjustment granularity to compensate for the deviation of the current time interval. The transmission window sequence consists of the first transmission window, the second transmission window of the second walkie-talkie device, and the transmission window of at least one neighboring walkie-talkie device, and the transmission window sequence is located within a preset period.
9. An electronic device, characterized in that, include: Memory is used to store executable instructions; A processor for invoking instructions stored in the memory to perform the steps of the method as described in any one of claims 1 to 7.