Unmanned aerial vehicle broadcast packet monitoring method and related equipment
By sorting the channel list and initializing the time slot scanning list, time-division multiplexing technology is used to receive UAV broadcast packets in a single module, solving the problem of high cost of UAV identification and achieving efficient UAV monitoring.
Patent Information
- Application Number
- CN202511240068.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-09-01
- Publication Date
- 2025-12-02
AI Technical Summary
Existing drone monitoring and positioning methods cannot identify drones, and RemoteID base stations are costly and structurally complex when using multi-mode methods, making it difficult to effectively manage drone flights.
Channel sequences are generated by sorting the channel list, the time slot scanning list is initialized, and time-division multiplexing is used to receive UAV broadcast packets in a single module, reducing equipment costs.
This technology enables the reception of drone broadcast packets from different channels within a single module, reducing equipment costs for identifying drone broadcast information and improving monitoring efficiency.
Smart Images

Figure CN121056849A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of communication technology, and in particular to a method and related equipment for monitoring unmanned aerial vehicle (UAV) broadcast packets. Background Technology
[0002] With the development of the low-altitude economy, more and more drones need to fly on planned low-altitude routes or in permitted airspaces, but they cannot fly in prohibited times and airspaces. Therefore, technologies for monitoring, locating, identifying, and managing drones in cities or specific airspaces have emerged.
[0003] Current drone monitoring and positioning methods include monitoring and identifying features of flight control signals between the drone and the remote controller, radar detection, and visual recognition positioning. However, none of these methods can identify the drone's identity or the operator, thus failing to effectively manage drone flights.
[0004] Based on this, related technologies utilize a network of RemoteID base stations to seamlessly receive the identity and flight information broadcast by every drone in flight, combining this information with airspace management regulations to determine flight compliance and issue warnings. Drones can broadcast identification information via Wi-Fi or Bluetooth. The Wi-Fi frequency band and channel can be designed by the drone manufacturer, meaning different manufacturers may use different channels for their drone broadcasts. This requires RemoteID base stations to be capable of recognizing broadcast information from all manufacturers, i.e., monitoring all channels on both Wi-Fi bands and the Bluetooth broadcast channel. If the RemoteID base station adopts a multi-mode approach, using a separate chip or module for each Wi-Fi channel and Bluetooth broadcast channel, dozens of modules would be required, leading to a complex base station deployment structure and high detection costs. Summary of the Invention
[0005] The main objective of this application is to propose a method and related equipment for monitoring drone broadcast packets, aiming to reduce the equipment cost for identifying drone broadcast information.
[0006] To achieve the above objectives, one aspect of this application proposes a method for monitoring unmanned aerial vehicle (UAV) broadcast packets, comprising the following steps: Obtain a channel list, wherein each first element of the channel list represents an available channel for UAV broadcasting, and the attributes of the first element include a channel identifier; The channel identifiers in the channel list are sorted to obtain a channel sequence; The total number of time slots is determined based on the number of first time slots corresponding to the broadcast packet cyclic transmission time interval and the number of sequence channels in the channel sequence, and the time slot scanning list is initialized based on the total number of time slots, wherein each second element of the time slot scanning list represents a time slot; The channel identifiers are sequentially written into the time slot scan list according to the channel sequence; Perform a channel scan according to the time slot scan list to receive broadcast packets from the UAV.
[0007] In some embodiments, the attributes of the first element in the channel list further include channel priority, and sorting the channel identifiers in the channel list to obtain a channel sequence includes the following steps: The number of occurrences of the corresponding channel identifier is determined based on the proportion of the channel priority to all channel priorities and the number of channels in the list; A temporary list is constructed based on the number of occurrences of each of the aforementioned channel identifiers, wherein each third element of the temporary list represents a channel identifier; The channel identifiers in the temporary list are randomly sorted to obtain a channel sequence.
[0008] In some embodiments, the step of sequentially writing the channel identifier into the time slot scan list according to the channel sequence includes the following steps: Determine whether the number of the second time slots currently completed for writing is the least common multiple of the number of the first time slots and the number of sequence channels; When the second number of time slots is the least common multiple, the channel sequence is shifted, and then the channel identifier is written into the time slot scan list sequentially according to the shifted channel sequence.
[0009] In some embodiments, the drone broadcast packet monitoring method further includes the following steps: When the broadcast packet is received in the current time slot, the channel identifier corresponding to the current time slot is determined as the identifier to be inserted, and the start scanning time of the identifier to be inserted is determined according to the time when the broadcast packet is received and the time interval of the broadcast packet cycle transmission. Based on the start scan time, the identifier to be inserted is inserted into the time slot scan list.
[0010] In some embodiments, inserting the identifier to be inserted into the time slot scan list according to the start scan time includes the following steps: The insertion slot for the identifier to be inserted is constructed based on the start scan time and the preset scan interval; Starting from the current time slot, traverse the time slot scan list to determine the target position of the inserted time slot in the time slot scan list; Insert the identifier to be inserted corresponding to the insertion time slot into the target position.
[0011] In some embodiments, the step of traversing the time slot scan list starting from the current time slot to determine the target position of the inserted time slot in the time slot scan list includes the following steps: Starting from the current time slot, traverse the time slot scan list and determine whether the start scan time of the inserted time slot is between the start scan times of two consecutive time slots in the time slot scan list; When the start scan time of the inserted time slot is between the start scan times of two consecutive time slots in the time slot scan list, the target position is determined in the two consecutive time slots. If the start scan time of the inserted time slot is not between the start scan times of two consecutive time slots in the time slot scan list, the tail of the time slot scan list is extended, and the target position is determined in the extended part of the time slot scan list.
[0012] In some embodiments, the attributes of the first element in the channel list further include the number of times the broadcast packet was received and the number of times it was scanned. The UAV broadcast packet monitoring method further includes the following steps: During channel scanning, the number of receptions and the number of scans in the channel list are updated according to the scanning results; After completing the channel scan, the channel priority is adjusted based on the number of receptions and the number of scans, and the number of priority adjustments is accumulated. If the number of priority adjustments reaches the adjustment threshold, the channel list is reinitialized, wherein the number of receptions and the number of scans for all first elements are initialized to 0, and the channel priority for all first elements is initialized to 1. If the number of priority adjustments does not reach the adjustment threshold, the step of sorting the channel identifiers in the channel list to obtain the channel sequence is re-executed according to the channel list after the channel priority adjustment.
[0013] To achieve the above objectives, another aspect of this application proposes a drone broadcast packet monitoring system, comprising: The first module is used to obtain a channel list, wherein each first element of the channel list represents an available channel for UAV broadcasting, and the attributes of the first element include a channel identifier; The second module is used to sort the channel identifiers in the channel list to obtain a channel sequence; The third module is used to determine the total number of time slots based on the number of first time slots corresponding to the cyclic transmission time interval of the broadcast packet and the number of sequence channels in the channel sequence, and to initialize the time slot scanning list based on the total number of time slots, wherein each second element of the time slot scanning list represents a time slot; The fourth module is used to sequentially write the channel identifier into the time slot scan list according to the channel sequence; The fifth module is used to perform channel scanning according to the time slot scan list in order to receive broadcast packets from the UAV.
[0014] To achieve the above objectives, another aspect of this application provides an electronic device, which includes a memory and a processor. The memory stores a computer program, and the processor executes the computer program to implement the above-described method.
[0015] To achieve the above objectives, another aspect of the embodiments of this application proposes a computer program product, including a computer program that, when executed by a processor, implements the above-described method.
[0016] The embodiments of this application include at least the following beneficial effects: This application provides a method, system, electronic device, and program product for monitoring drone broadcast packets. This scheme represents all available channels for drone broadcasts through a channel column. The channel identifiers of the available channels in the channel list are sorted to obtain a channel sequence. Then, the total number of time slots is determined according to the number of time slots occupied by the cyclic transmission time interval of the broadcast packets and the number of sequence channels in the channel sequence. The time slot scanning list is initialized according to the total number of time slots, so that the time slot scanning list can be written with all channels that need to be monitored in the channel sequence. Then, the channel identifiers are cyclically written into the time slot scanning list according to the channel sequence to allocate time slots for each channel that needs to be monitored. Then, channel scanning is performed according to the time slot scanning list. Drone broadcast packets sent by different channels can be received in one module through time division multiplexing, reducing the equipment cost for identifying drone broadcast information. Attached Figure Description
[0017] Figure 1 This is a flowchart of the drone broadcast packet monitoring method provided in the embodiments of this application; Figure 2 yes Figure 1 The flowchart of step S102 in the document; Figure 3 yes Figure 1 The flowchart of step S104 in the process; Figure 4 This is a flowchart of a drone broadcast packet monitoring method provided in another embodiment of this application; Figure 5 yes Figure 4 The flowchart of step S402 in the document; Figure 6 yes Figure 5 The flowchart of step S502 in the document; Figure 7 This is a flowchart of a drone broadcast packet monitoring method provided in another embodiment of this application; Figure 8 This is a schematic diagram of the drone broadcast packet monitoring system provided in an embodiment of this application; Figure 9 This is a schematic diagram of the hardware structure of the electronic device provided in the embodiments of this application; Figure 10 This is a schematic diagram of the time slot scan list provided in an embodiment of this application; Figure 11 This is a schematic diagram of a time slot insertion provided in an embodiment of this application; Figure 12 This is another time slot insertion schematic diagram provided in the embodiments of this application; Figure 13 This is a schematic diagram of channel scanning statistics provided in an embodiment of this application. Detailed Implementation
[0018] To make the objectives, technical solutions, and advantages of this application clearer, the following detailed description is provided in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative of this application and are not intended to limit it. In the following description, when referring to the accompanying drawings, unless otherwise indicated, the same numbers in different drawings represent the same or similar elements. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with those of this application; they are merely examples of apparatuses and methods consistent with some aspects of the embodiments of this application as detailed in the appended claims.
[0019] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this application belongs. The terminology used herein is for the purpose of describing embodiments of this application only and is not intended to limit this application.
[0020] Before providing a detailed description of the embodiments of this application, some of the nouns and terms involved in the embodiments of this application will be explained first. The nouns and terms involved in the embodiments of this application are subject to the following interpretations.
[0021] 1) RemoteID: A standardized mechanism that allows drones to broadcast their identity, location, and flight status to the surrounding environment during flight, facilitating identification and tracking by regulators. It conforms to remote identification protocols established by organizations such as the FAA, EASA, and CAAC.
[0022] 2) Wi-Fi channels: The commonly used frequency bands for Wi-Fi communication are 2.4G and 5.8G. The 2.4G band has a total of 14 channels, which are separated by 5 MHz (except for the 14th channel, which is 12 MHz away from the 13th channel and is numbered 1-14). Generally, a 20MHz bandwidth interval is used.
[0023] 3) Wi-Fi broadcast: Broadcast signals under the Wi-Fi communication protocol are generally sent repeatedly at fixed time intervals. Currently, drones usually use this method to broadcast their RemoteID data packets.
[0024] 4) Wi-Fi module: A network card or chip module with Wi-Fi signal reception, demodulation / transmission modulation functions. REMOTEID base stations (base stations that monitor RemoteID data packets) generally use commercial Wi-Fi modules to receive RemoteID data packets broadcast by drones via Wi-Fi.
[0025] In the field of drone flight monitoring, common methods include monitoring and identifying the flight control signals between the drone and its remote controller, radar detection, sensor base stations, and visual recognition positioning. Monitoring equipment can detect the presence of drones in the managed airspace using these methods, but it cannot identify the drone's identity or the operator. To identify drones in the airspace, they must broadcast their identity information during flight, such as their RemoteID data packets. Drones from different manufacturers may use different types and channels of modules. Currently, drones typically use Bluetooth or WiFi modules, and each type of module may use different channels. A RemoteID base station needs to be able to identify broadcast information from all manufacturers, requiring the base station to monitor all channels on both WiFi bands and the Bluetooth broadcast channel. If the base station uses a multi-mode approach, each WiFi broadcast channel and Bluetooth broadcast channel requires a separate chip or module, resulting in dozens of modules, which is not only costly but also increases the number of antennas, making base station deployment difficult.
[0026] In view of this, this application provides a method and related equipment for monitoring drone broadcast packets. This method targets all available channels for drone broadcasts, sorts the channel identifiers of available channels in the channel list to obtain a channel sequence, then determines the total number of time slots based on the number of time slots occupied by the first time slot during the cyclic transmission interval of the broadcast packets and the number of sequence channels in the channel sequence, and initializes a time slot scanning list based on the total number of time slots. This allows the time slot scanning list to be written with all channels that need to be monitored in the channel sequence. Then, the channel identifiers are cyclically written into the time slot scanning list according to the channel sequence, allocating time slots for each channel that needs to be monitored. Finally, channel scanning is performed based on the time slot scanning list. This channel scanning method allows drone broadcast packets transmitted through all channels to be received in a module or a small number of modules using time-division multiplexing, reducing the equipment cost for identifying drone broadcast information without missing any monitoring.
[0027] In one application scenario embodiment of the drone broadcast packet monitoring method of this application, the drone broadcast packet monitoring method can be applied to a base station that uses a WiFi module for drone communication. The base station processing device is configured with a channel list, which includes all available channels for drone WiFi broadcasts. Available channels are identified by channel numbers, such as channels 1-14. The base station processing device sorts the channel identifiers of the available channels to obtain a channel sequence. Then, it determines the total number of time slots based on the number of time slots occupied by the cyclic transmission time interval of the drone broadcast RemoteID and the number of sequence channels in the channel sequence. Based on the total number of time slots, it constructs a time slot scanning list, so that the time slot scanning list can write all the WiFi channels that need to be monitored in the channel sequence. Then, according to the channel sequence, the channel identifiers are cyclically written into the time slot scanning list to allocate time slots for each WiFi channel that needs to be monitored. Then, according to the time slot allocation in the time slot scanning list, the WiFi module switches to the corresponding channel for scanning. When a drone using the currently scanned WiFi channel sends a RemoteID broadcast packet, it can be received by the WiFi module of the base station. Understandably, since drones can now also broadcast RemoteIDs via Bluetooth, base stations can be configured to communicate with drones via Bluetooth modules in addition to WiFi modules. Currently, Bluetooth broadcasts from drones are required to be transmitted simultaneously on three broadcast channels. Therefore, base stations can select any channel's Bluetooth module to receive the drone's RemoteID broadcast packet without performing channel scanning.
[0028] In another application scenario embodiment of the drone broadcast packet monitoring method of this application, the drone broadcast packet monitoring method can be applied to a base station that uses a few WiFi modules for drone communication. For example, the base station uses two WiFi modules for drone communication. The base station processing device is configured with a channel list, which includes all available channels for drone WiFi broadcasts. Available channels are identified by channel numbers, such as channels 1-14. The base station processing device divides channels 1-14 into two channel lists, one of which can be channels 1-7, and the other can be channels 8-14, so as to control the two WiFi modules to perform channel scanning respectively. For each channel list, the base station processing device sorts the channel identifiers of available channels to obtain a channel sequence. Then, it determines the total number of time slots based on the number of time slots occupied by the cyclic transmission interval of the drone's RemoteID and the number of sequential channels in the channel sequence. A time slot scanning list is then constructed based on this total number of time slots, allowing all Wi-Fi channels to be monitored in the channel sequence to be written into the time slot scanning list. Next, channel identifiers are cyclically written into the time slot scanning list according to the channel sequence, allocating time slots for each Wi-Fi channel to be monitored. Finally, based on the time slot allocation in the time slot scanning list, the corresponding Wi-Fi module switches to the appropriate channel for scanning. Two Wi-Fi modules can perform channel scanning according to their respective time slot scanning lists to receive drone broadcast packets.
[0029] It is understood that the drone broadcast packet monitoring method of this application embodiment can be applied not only to WiFi modules, but also to other types of communication modules. For example, when a drone may use different frequency channels of ZigBee network or cellular network to broadcast RemoteID, the base station can also use the drone broadcast packet monitoring method of this application embodiment to perform channel scanning control on the corresponding ZigBee module or cellular communication module, so as to reduce the number of modules configured in the base station and reduce the cost of monitoring drones.
[0030] The drone broadcast packet monitoring method provided in this application relates to the field of communication technology. This drone broadcast packet monitoring method can be applied to a terminal, a server, or software running on a terminal or server. In some embodiments, the terminal can be a smartphone, tablet, laptop, desktop computer, smart speaker, smartwatch, or vehicle-mounted terminal, but is not limited to these. The server can be configured as an independent physical server, a server cluster or distributed system composed of multiple physical servers, or a cloud server providing basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communication, middleware services, domain name services, security services, CDN, and big data and artificial intelligence platforms. The server can also be a node server in a blockchain network. The software can be an application implementing the drone broadcast packet monitoring method, but is not limited to the above forms.
[0031] This application can be used in a wide variety of general-purpose or special-purpose computer system environments or configurations. Examples include: personal computers, server computers, handheld or portable devices, tablet devices, multiprocessor systems, microprocessor-based systems, set-top boxes, programmable consumer electronics, network PCs, minicomputers, mainframe computers, and distributed computing environments including any of the above systems or devices. This application can be described in the general context of computer-executable instructions executed by a computer, such as program modules. Generally, program modules include routines, programs, objects, components, data structures, etc., that perform specific tasks or implement specific abstract data types. This application can also be practiced in distributed computing environments where tasks are performed by remote processing devices connected via a communication network. In distributed computing environments, program modules can reside in local and remote computer storage media, including storage devices.
[0032] Figure 1 This is an optional flowchart of the drone broadcast packet monitoring method provided in the embodiments of this application. Figure 1 The method may include, but is not limited to, steps S101 to S105.
[0033] Step S101: Obtain the channel list, wherein each first element of the channel list represents an available channel for UAV broadcasting, and the attributes of the first element include the channel identifier; Step S102: Sort the channel identifiers in the channel list to obtain the channel sequence; Step S103: Determine the total number of time slots based on the number of first time slots corresponding to the broadcast packet cyclic transmission time interval and the number of sequence channels in the channel sequence, and initialize the time slot scanning list based on the total number of time slots, wherein each second element of the time slot scanning list represents a time slot; Step S104: Write the channel identifiers into the time slot scan list in a cyclic manner according to the channel sequence; Step S105: Perform a channel scan according to the time slot scan list to receive broadcast packets from the UAV.
[0034] In the embodiments of this application, steps S101 to S106 illustrate the following: the channel list represents all available channels for UAV broadcasting. The channel identifiers of the available channels in the channel list are sorted to obtain a channel sequence. Then, the total number of time slots is determined based on the number of time slots occupied by the cyclic transmission time interval of the broadcast packets and the number of sequence channels in the channel sequence. The time slot scanning list is initialized based on the total number of time slots, so that all channels that need to be monitored in the channel sequence can be written into the time slot scanning list. Then, the channel identifiers are cyclically written into the time slot scanning list according to the channel sequence to allocate time slots for each channel that needs to be monitored. Then, channel scanning is performed according to the time slot scanning list. UAV broadcast packets sent by different channels can be received in one module through time division multiplexing, reducing the equipment cost for identifying UAV broadcast information.
[0035] In step S101 of some embodiments, the channel list is used to manage information related to all available channels broadcast by the drone, such as channels 1-14 of the WiFi module. The channel list includes multiple first elements, each representing one available channel for drone broadcasting. The attributes of the first element may include, but are not limited to, channel identifier, channel priority, number of times the channel has received broadcast packets, and number of times the channel has been scanned. The channel list can be pre-configured in the processor, and the channel priority, number of receptions, and number of scans in the channel list can be dynamically updated during channel scanning.
[0036] In step S102 of some embodiments, this embodiment can randomly or sort all channel identifiers in the channel list according to a preset rule to obtain a channel sequence, and then scan all channels based on the channel sequence. This embodiment can also select several channel identifiers from the channel list according to channel priority, randomly or sorted according to a preset rule to obtain a channel sequence. Channel priority represents the probability of a channel receiving a broadcast packet within a certain time. Then, channels with a high probability of UAV broadcasting can be scanned based on the channel sequence. This embodiment can also select several channel identifiers from the channel list according to channel priority, and determine the number of times the selected channel identifier appears in the channel sequence based on its channel priority. The channel priority is proportional to the number of occurrences. The channel identifier is repeated based on the number of occurrences, and then the selected channel identifiers are randomly or sorted according to a preset rule to obtain a channel sequence. Then, channels with a high probability of UAV broadcasting can be scanned based on the channel sequence, increasing the number of times channels with a high probability of UAV broadcasting are scanned, thus improving the comprehensiveness of UAV broadcast packet monitoring.
[0037] In step S103 of some embodiments, the broadcast packet cyclic transmission time interval refers to the time interval at which the UAV cyclically transmits RemoteID broadcast packets. For example, it is currently stipulated that the UAV transmits RemoteID broadcast packets 3 times per second in flight mode and once every 3 seconds in hovering mode. For example, the broadcast packet cyclic transmission time interval Tcyc can be 350ms. In this embodiment, the waiting time Tw of one time slot is set to 5ms. The number of time slots occupied by the broadcast packet cyclic transmission time interval, i.e., the first time slot number, is Tcyc / Tw=70. The first time slot number is multiplied by the number of sequence channels in the channel sequence to obtain the total number of time slots. A time slot scanning list is constructed based on the total number of time slots. The time slot scanning list includes multiple second elements, each representing a time slot. The attributes of the second elements include the start monitoring time of the time slot, the continuous monitoring time (i.e., the waiting time Tw), and the channel identifier (i.e., the channel number).
[0038] In step S104 of some embodiments, the channel identifiers are sequentially written into the constructed time slot scanning list according to the order of the channel sequence representation. After writing the channel identifiers in one round of the channel sequence, the channel identifiers are continued to be written into the time slot scanning list from the beginning until the time slot scanning list is completely written. In another embodiment, the channel identifiers are sequentially written into the constructed time slot scanning list according to the order of the channel sequence representation. After writing the channel identifiers in one round of the channel sequence, it is determined whether the number of second time slots currently written is the least common multiple of the number of first time slots and the number of channels in the sequence. If the number of second time slots is the least common multiple, the channel sequence is shifted, and then the channel identifiers are continued to be written into the time slot scanning list according to the shifted channel sequence. If the number of second time slots is not the least common multiple, the channel identifiers are still written into the time slot scanning list according to the order of the channel sequence representation in the previous round. By shifting the channel identifier in the channel sequence at the least common multiple of the time slot scan list before continuing to write, each channel will have at least one detection opportunity within the REMOTEID broadcast packet retransmission interval. When multiple drones broadcast REMOTEID on different channels, each channel has a chance to be listened to, reducing missed listening situations.
[0039] In step S105 of some embodiments, the communication module is controlled to scan the corresponding channel in each time slot according to the time slot scanning list to receive the UAV broadcast packets. This embodiment can receive UAV broadcast packets sent from different channels in one or a few modules through time division multiplexing, reducing the equipment cost for identifying UAV broadcast information. Furthermore, during the channel scanning process, the number of times a channel has been received and scanned in the channel list can be updated synchronously according to the scanning situation.
[0040] According to some embodiments of this application, please refer to Figure 2 Step S102 may include, but is not limited to, steps S201 to S203: Step S201: Determine the number of occurrences of the corresponding channel identifier based on the proportion of channel priority to all channel priorities and the number of channels in the list; Step S202: Construct a temporary list based on the number of occurrences of each channel identifier, where each third element of the temporary list represents a channel identifier; Step S203: Randomly sort the channel identifiers in the temporary list to obtain the channel sequence.
[0041] In this embodiment, channel priorities can be represented by numbers between 0 and 1. The channel priorities of the first element in the channel list are accumulated. Then, the channel priority of a given channel is divided by the accumulated channel priorities to obtain the proportion of that channel's priority to all channel priorities. This proportion is multiplied by the number of channels in the channel list to obtain the number of times that channel appears, n_freq. A temporary list l_shuffle is initialized. The channel list l_ch is scanned, and channel numbers (i.e., channel identifiers) with a priority greater than zero are taken. Each channel number is repeated n_freq times and placed into the temporary list l_shuffle. Then, the temporary list l_shuffle is randomly arranged to obtain the channel sequence. In this embodiment, several channel identifiers can be selected from the channel list according to channel priority. The number of times the selected channel identifier appears in the channel sequence is determined according to the channel priority of the selected channel identifier. The channel priority is proportional to the number of occurrences. The channel identifier is repeated according to the number of occurrences. Then, the selected channel identifiers are randomly or sorted according to a preset rule to obtain the channel sequence. Subsequently, the channels with high probability of UAV broadcasting can be scanned based on the channel sequence, and the number of times the channels with high probability of UAV broadcasting are scanned is increased, thereby improving the comprehensiveness of UAV broadcast packet monitoring.
[0042] According to some embodiments of this application, please refer to Figure 3 Step S104 may include, but is not limited to, steps S301 to S302: Step S301: Determine whether the number of second time slots currently completed for writing is the least common multiple of the number of first time slots and the number of sequence channels; In step S302, when the number of second time slots is a least common multiple, the channel sequence is shifted, and then the channel identifier is written into the time slot scanning list sequentially according to the shifted channel sequence.
[0043] In this embodiment, during the process of writing the channel identifier into the constructed time slot scanning list according to the channel sequence, it is determined in real time whether the number of second time slots currently written is the least common multiple of the number of first time slots and the number of channels in the sequence. If the number of second time slots currently written is the least common multiple, the channel identifier in the channel sequence is cyclically shifted by one bit, and then the channel identifier is continued to be written into the time slot scanning list according to the shifted channel sequence, until the number of second time slots currently written is equal to the total number of time slots in the time slot scanning list, at which point the writing stops. This embodiment ensures that each channel will appear at least once in each detection opportunity within the REMOTEID broadcast packet retransmission interval (i.e., different time slot positions within a first time slot round), reducing missed scans.
[0044] According to some embodiments of this application, please refer to Figure 4 The drone broadcast packet monitoring method of this application embodiment may also include, but is not limited to, steps S401 to S402: Step S401: When a broadcast packet is received in the current time slot, the channel identifier corresponding to the current time slot is determined as the identifier to be inserted, and the start scanning time of the identifier to be inserted is determined according to the time of receiving the broadcast packet and the time interval of the broadcast packet cycle transmission. Step S402: Insert the identifier to be inserted into the time slot scan list according to the start scan time.
[0045] In this embodiment, during the base station channel scanning process, it monitors whether a UAV broadcast packet is received in the current time slot. If a broadcast packet is received in the current time slot, the reception count of the channel identifier scanned in the current time slot is updated synchronously in the channel list. At the same time, the channel identifier is determined as the identifier to be inserted. The start scanning time of the identifier to be inserted is determined according to the time of receiving the broadcast packet and the broadcast packet cycle transmission time interval. The identifier to be inserted is inserted into the time slot scanning list according to the start scanning time. This embodiment considers that after the UAV sends a broadcast packet at the current time, it will send a broadcast packet again through the same channel after the broadcast packet cycle transmission time interval. In order to improve the chance of the UAV being monitored later, this embodiment uses the channel where the broadcast packet is currently received as the channel to be inserted and inserts the channel to be inserted into the time slot scanning list according to the broadcast packet cycle transmission time interval. Subsequently, the UAV broadcast packet can be captured at the accurate time node, improving the UAV monitoring effect.
[0046] According to some embodiments of this application, please refer to Figure 5 Step S402 may include, but is not limited to, steps S501 to S503: Step S501: Construct the insertion time slot of the identifier to be inserted according to the start scan time and the preset scan interval; Step S502: Starting from the current time slot, traverse the time slot scan list to determine the target position of the inserted time slot in the time slot scan list; Step S503: Insert the identifier to be inserted corresponding to the insertion time slot into the target position.
[0047] In this embodiment, when a broadcast packet is received in the current time slot, the channel identifier corresponding to the current time slot is determined as the identifier to be inserted. The start scanning time of the identifier to be inserted is obtained by adding the time when the broadcast packet is received to the time slot. The insertion time slot of the identifier to be inserted is constructed according to the start scanning time and the preset scanning interval. Generally, the preset scanning interval is less than the waiting time Tw of the time slot, so that the inserted time slot does not affect the channel scanning of the original time slot. Starting from the current time slot where the broadcast packet is received, the time slot scanning list is traversed. The start position of the insertion time slot in the time slot scanning list can be found according to the start scanning time, and the end position of the insertion time slot in the time slot scanning list can be determined according to the preset scanning interval of the insertion time slot. The start position and the end position together represent the target position. Then, the identifier to be inserted corresponding to the insertion time slot is inserted into the target position, so that when the base station executes the time slot of the target position, it controls the communication module to switch to the channel most likely to listen to the UAV broadcast packet for scanning, thereby improving the UAV broadcast monitoring effect.
[0048] According to some embodiments of this application, please refer to Figure 6 Step S502 may include, but is not limited to, steps S601 to S603: Step S601: Starting from the current time slot, traverse the time slot scan list and determine whether the start scan time of the inserted time slot is between the start scan times of two consecutive time slots in the time slot scan list; Step S602: When the start scan time of the inserted time slot is between the start scan times of two consecutive time slots in the time slot scan list, the target position is determined in the two consecutive time slots. Step S603: If the start scan time of the inserted time slot is not between the start scan times of two consecutive time slots in the time slot scan list, then the tail of the time slot scan list is extended, and the target position is determined in the extended part of the time slot scan list.
[0049] In this embodiment, the specific process of inserting the identifier to be inserted into the target position is as follows: starting from the current time slot when the broadcast packet is received, traverse the time slot scan list and determine whether the start scan time of the inserted time slot is between the start scan times of two consecutive time slots in the time slot scan list. That is, find whether there is a position in the time slot scan list where l_slot[n].start ≤ Trcv+Tcyc ≤ slot[n+1].start, where l_slot[n].start represents the start scan time of the nth time slot in the time slot scan list, Trcv represents the time when the broadcast packet is received, Tcyc represents the broadcast packet cyclic transmission time interval, and slot[n+1].start represents the start scan time of the (n+1)th time slot. If it exists, it means that there is a position in the time slot scan list with sufficient time length to insert the inserted time slot. Therefore, the target position is determined among two consecutive time slots. If it does not exist, it means that the inserted time slot will exceed the time length of the time slot scan list. Therefore, it is necessary to first extend the tail of the time slot scan list and then determine the target position in the extended part of the time slot scan list. This embodiment quickly determines whether a suitable insertion position exists in the time slot scanning list by traversing the list to check if there is a position where l_slot[n].start ≤ Trcv+Tcycl ≤ slot[n+1].start. If not, the time slot scanning list is expanded so that the insertion identifier corresponding to the insertion time slot can be successfully inserted into the time slot scanning list, thereby improving the UAV broadcast monitoring effect.
[0050] In step S602 of some embodiments, the process of inserting slot_i between two consecutive slots l_slot[n] and l_slot[n+1] can be as follows: shorten the waiting time of slot l_slot[n] so that the end of its time is aligned with the start scan time slot_i.start of the identifier to be inserted. If the new waiting time of slot l_slot[n] is less than the set minimum length Tl, which is insufficient to receive the complete broadcast packet, slot l_slot[n] can be deleted from the slot scan list l_slot to reduce the waste of slot resources. If the end of slot_i's time is before slot[n+1].start, the preset time interval for inserting the time slot can be modified, i.e., the waiting time slot_i.wait, so that the end of the inserted time slot's time is aligned with slot[n+1].start, preventing repeated scanning of the same channel in a short period of time and reducing the waste of time slot resources; if the end of slot_i's time exceeds slot[n+1].start, then slot[n+1].start is moved after the end of slot_i, and slot[n+1].wait is truncated so that its end does not exceed the start time of the next time slot.
[0051] In step S603 of some embodiments, the specific process of expanding the tail of the time slot scan list and determining the target position can be as follows: For an insertion time slot whose starting scan time is not between the starting scan times of any two consecutive time slots in the time slot scan list, the insertion time slot is written as an element into the insertion list l_insert. When expanding the time slot scan list, l_insert is checked. If it is not empty, each element l_insert[i] of l_insert is scanned. If the starting scan time start of l_insert[i] is greater than the tail time of the entire l_slot, all or the first n elements of the original l_slot are repeatedly filled at the tail of l_slot so that the tail time of l_slot is just greater than the start of l_insert[i]. If the start of l_insert[i] is less than the tail time of the entire l_slot, l_insert[i] is inserted into l_slot in the order of its starting scan time start. After integrating l_insert into l_slot, l_insert is cleared.
[0052] According to some embodiments of this application, please refer to Figure 7 The drone broadcast packet monitoring method of this application embodiment may also include, but is not limited to, steps S701 to S704: Step S701: During the channel scanning process, update the number of receptions and the number of scans in the channel list according to the scanning situation; Step S702: After completing the channel scan, adjust the channel priority based on the number of receptions and the number of scans, and accumulate the number of priority adjustments. Step S703: When the number of priority adjustments reaches the adjustment threshold, the channel list is reinitialized, wherein the number of receptions and the number of scans of all first elements are initialized to 0, and the channel priority of all first elements is initialized to 1. Step S704: If the number of priority adjustments has not reached the adjustment threshold, the channel identifiers in the channel list are re-sorted according to the channel list after the channel priority adjustment to obtain the channel sequence.
[0053] In this embodiment, during channel scanning, the scan count of the corresponding channel in the channel list is incremented by 1 after each channel scan. Similarly, the reception count of the corresponding channel in the channel list is incremented by 1 after each broadcast packet received. After channel scanning is completed, channel priorities are adjusted based on the reception and scan counts, and the priority adjustment count is incremented by 1. Completing a channel scan in this embodiment can refer to completing one scan of the time slot scan list or several cyclic scans. The number of cycles, n_round, can be set according to actual needs. The channel priority can be adjusted by dividing the reception count by the scan count. When the priority adjustment count reaches the adjustment threshold, the channel list is reinitialized. The reception and scan counts of all first elements are initialized to 0, and the channel priority of all first elements is initialized to 1. By initializing the priority of all channels in the channel list to 1, after a certain period, all available channels can be equally selected to construct a time slot scan list for scanning based on the initialized channel list. This avoids the situation where, when selecting high-probability channels for scanning based on channel priority, some high-probability channels are focused on for a long time while ignoring other channels, thus improving the reliability of UAV broadcast packet monitoring. If the number of adjustments does not reach the adjustment threshold, steps S102 to S105 are re-executed based on the channel list after channel priority adjustment, so as to allocate more opportunities to channels with higher probability based on the more accurate probability value of detecting broadcast packets, thereby improving the monitoring effect of UAV broadcast packets.
[0054] In one embodiment, the overall process of the UAV broadcast packet monitoring method of this application is illustrated as follows: First, let's explain the character definitions in the example, as follows: l_slot: A time slot scan list, with each element being a time slot. Each time slot has a start scan time (start), a wait time (wait, abbreviated as Tw) for continuous scanning, and a channel number (ch, i.e., channel identifier).
[0055] l_insert: Insert list, where each element is the channel number to be inserted.
[0056] l_ch: A list of channels, each element being a channel; the channel contains attributes such as channel number ch, channel priority pri, number of received broadcast packets n_rcvd, and number of scans n_scanned.
[0057] n_chs: The number of channels in the channel list, which is the length of l_ch.
[0058] chs: List of channel numbers (for example, 1, 2, 3...10,11 for 2.4G).
[0059] l_shuffle: A temporary list where each element is a channel number. n_round: The number of times l_slot is repeated in one round before the channel priority is updated.
[0060] n_bground: The number of times n_round repeats. After the repetition is complete, l_ch clears the historical statistics and reinitializes.
[0061] Tcyc: Broadcast packet cyclic transmission time interval. According to relevant regulations, it is sent 3 times per second in flight mode and once every 3 seconds in hovering mode, and is set to 350ms.
[0062] n_cyc_slots: The number of time slots occupied by Tcyc, such as Tcyc / Tw=70.
[0063] Tl:REMOTEID packet duration minimum. Packets will be received if the duration is less than this. 500us is acceptable.
[0064] Trcv: The start time of receiving broadcast packets.
[0065] Tpck: Duration of the broadcast packet.
[0066] The overall process is illustrated below: The first stage is the initialization of the channel list.
[0067] Scan the channel number list chs, construct a channel, the ch attribute is the currently scanned channel number chs[i], the channel priority attribute pri is initialized to 1, the number of received packets n_rcvd, the number of scans n_scanned, etc. are 0, and put the channel into the l_ch list; S11, Initialize the channel priority; specifically, scan the channel list l_ch and initialize the channel priority attribute pri of each element to 1; S12, Construct the time slot scan list; S121, calculate the number of times each channel appears in the time slot scanning list according to the channel priority; in one round of time slot scanning, the number of scans n_freq of channel number i should be the total number of scanned channels multiplied by its priority as a proportion of the total channel priorities, and the calculation formula is: l_ch[i].n_freq = (count(l_ch[j:0~n-1].pri>0)*n_cyc_slots) *( l_ch[i].pri / sum(l_ch[j:0~n-1].pri)); S122, Construct a time slot scan list; S1221, initialize the temporary list l_shuffle; scan l_ch, take the channel number with priority greater than zero, repeat each channel number n_freq times, put it into the list l_shuffle, and randomize l_shuffle; at the same time, initialize the working time slot list l_slot; S1222, scan the temporary list l_shuffle, construct the slot, make slot.ch=l_shuffle[i], and arrange the channel numbers of the temporary list into l_slot in sequence; S1223, when the number of slots added is less than the least common multiple of the number of sequence channels n_chs and the number of first slots n_cyc_slots in the temporary list, LCM(n_chs, n_cyc_slots), repeat step S1222; when the number of slots added is equal to LCM(n_chs, n_cyc_slots), cyclically shift the elements in l_shuffle by one bit, and then repeat step S1222, as follows. Figure 10 As shown, n_chs=4 (channels 1, 5, 6, 11 respectively), n_cyc_slots=6, least common multiple (LCM)=12, Tcyc=6*Tw. When the writing time slot reaches slot 12, the channel sequence [1, 5, 6, 11] is shifted to [5, 6, 11, 1]. Then, the writing continues in slot 13 and subsequent time sequences according to [5, 6, 11, 1]. By shifting the channel sequence at the least common multiple, the same channel number can be different time slot positions within Tcyc, that is, different positions in a group of 6 time slots (modulo 6), as shown in Table 1.
[0068] Table 1
[0069] When the number of slots to be sorted is equal to count(l_ch[j:0~n-1].pri>0)*n_cyc_slots, the sorting stops to ensure that each channel number in l_shuffle appears once in any different slot position of n_cyc_slots within the time period count(l_ch[j:0~n-1].pri>0)*n_cyc_slots*Tw, thus avoiding missed scans. S1224, update the start time (the first element's value is the current system time, and subsequent elements' values are the previous element's start time plus its wait) and wait attribute (assign a Tw value) of each element in l_slot; S1225. Check l_insert. If it is not empty, scan each element l_insert[i] of l_insert. If the start of l_insert[i] is greater than the tail time of the entire l_slot, repeatedly fill all or the first n elements of the original l_slot at the tail of l_slot so that the tail time of l_slot is just greater than the start of l_insert[i]. If the start of l_insert[i] is less than the tail time of the entire l_slot, insert l_insert[i] into l_slot in the order of the start listening time start. After integrating l_insert into l_slot, clear l_insert.
[0070] The second stage is scanning and listening.
[0071] S21. Scan each time slot slot of l_slot. Let the current time slot be slot[j]. Scan l_ch and find the element where l_ch[i].ch = slot[j].ch, and accumulate the scanning times l_ch[i].n_scanned of this channel. S22. Adjust the working channel of the module to be slot[j].ch, start scanning at the time of slot[j].start, and the duration is the waiting time Tw of each time slot. If a broadcast packet pck(REMOTEID) is received, decode and report it, and accumulate the number of received broadcast packets l_ch[i].n_rcvd of this channel. S23. The received REMOTEID packet needs to be periodically detected at an interval of Tcyc. Calculate the time when the packet is received as Trcv, and the time length of the packet as Tlast. The starting time for the next listening to this broadcast packet is Trcv + Tcyc. Construct a new time slot slot_i such that slot_i.ch = slot.ch, slot_i.start = Trcv + Tcyc, and slot_i.wait = slot.Tlast. S24. Scan l_slot backward. If the position n (representing the serial number of the time slot to be scanned in l_slot) where l_slot[n].start <= Trcv + Tcycl <= slot[n + 1].start is found, then execute steps S241 to S243; otherwise, jump to step S25. S241. Insert slot_i between l_slot[n] and l_slot[n + 1]. S242, truncate the wait time of l_slot[n] so that its end time is aligned with slot_i.start. If its wait time is less than the minimum duration Tl, then delete l_slot[n] from l_slot. S243, if the end of slot_i's time is before slot[n+1].start, then modify slot_i.wait to align with slot[n+1].start; if it exceeds slot[n+1].start, then move slot[n+1].start after the end of slot_i and truncate slot[n+1].wait so that its end does not exceed the start time of the next time slot. In some embodiments, please refer to Figure 11 , Figure 11 This is a schematic diagram of a time slot insertion provided in an embodiment of this application. In slot 2, broadcast packet i is received via channel 5. Based on the reception time of broadcast packet i and the UAV broadcast cycle time interval Tcyc, the target position for the inserted time slot is determined to be in the middle of slot 8. Therefore, a time slot in slot 8, where a REMOTEID packet has already been received, is inserted into the middle of slot 8. Please refer to... Figure 12 , Figure 12 The following is another time slot insertion diagram provided in the embodiment of this application: when receiving broadcast packet i through channel 5 in slot 2, the target position of the inserted time slot is determined to be between slot 8 and slot 9 based on the reception time of broadcast packet i and the UAV broadcast cycle time interval Tcyc. Therefore, the time slot of channel 5, which has received the REMOTEID packet, is inserted between the two time slots slot 8 and slot 9.
[0072] Step S25: Insert slot_i into the end of l_insert; Step S26: After scanning l_slot, reinitialize l_slot and scan for listening, accumulate the number of loops, and when the accumulated number of loops reaches the threshold n_round and l_insert is empty, adjust the channel priority.
[0073] The third stage involves adjusting channel priorities.
[0074] S31, scan l_ch, and statistically analyze the status of each channel after the above large-scale scanning. For example, the channel scanning statistics are as follows: Figure 13 As shown, based on the channel scanning statistics, the channel priority of each channel is adjusted to the number of received data packets divided by the number of times it has been scanned, i.e., l_ch[i].pri = l_ch[i].n_rcvd / l_ch[i].n_scanned; S32, accumulate the number of channel priority adjustments. When the number of adjustments reaches n_bground, return to the channel list initialization and loop; otherwise, return to the construction time slot list and loop.
[0075] Please refer to Figure 8 This application also proposes a drone broadcast packet monitoring system, including: The first module is used to obtain a channel list, wherein each first element of the channel list represents an available channel for drone broadcasting, and the attributes of the first element include a channel identifier; The second module is used to sort the channel identifiers in the channel list to obtain the channel sequence; The third module is used to determine the total number of time slots based on the number of first time slots corresponding to the cyclic transmission time interval of the broadcast packet and the number of sequence channels in the channel sequence, and to initialize the time slot scanning list based on the total number of time slots, wherein each second element of the time slot scanning list represents a time slot; The fourth module is used to sequentially write the channel identifiers into the time slot scan list according to the channel sequence; The fifth module is used to perform channel scanning based on the time slot scan list in order to receive broadcast packets from the UAV.
[0076] It is understood that the methods described in the above method embodiments are applicable to this system embodiment. The specific functions implemented in this system embodiment are the same as those in the above method embodiments, and the beneficial effects achieved are also the same as those achieved in the above method embodiments.
[0077] This application also provides an electronic device, which includes a memory and a processor. The memory stores a computer program, and the processor executes the computer program to implement the above-described method. This electronic device can be any smart terminal, including tablet computers, in-vehicle computers, etc.
[0078] It is understood that the content of the above method embodiments is applicable to this device embodiment. The specific functions implemented by this device embodiment are the same as those of the above method embodiments, and the beneficial effects achieved are also the same as those achieved by the above method embodiments.
[0079] Please see Figure 9 , Figure 9 The hardware structure of an electronic device according to another embodiment is illustrated. The electronic device includes: The processor 901 can be implemented using a general-purpose CPU (Central Processing Unit), microprocessor, application-specific integrated circuit (ASIC), or one or more integrated circuits, and is used to execute relevant programs to implement the technical solutions provided in the embodiments of this application. The memory 902 can be implemented as a read-only memory (ROM), a static storage device, a dynamic storage device, or a random access memory (RAM). The memory 902 can store the operating system and other applications. When the technical solutions provided in the embodiments of this specification are implemented through software or firmware, the relevant program code is stored in the memory 902 and is called and executed by the processor 901. The input / output interface 903 is used to implement information input and output; The communication interface 904 is used to enable communication and interaction between this device and other devices. Communication can be achieved through wired means (such as USB, Ethernet cable, etc.) or wireless means (such as mobile network, WIFI, Bluetooth, etc.). Bus 905 transmits information between various components of the device (e.g., processor 901, memory 902, input / output interface 903, and communication interface 904); The processor 901, memory 902, input / output interface 903, and communication interface 904 are connected to each other within the device via bus 905.
[0080] This application also provides a computer-readable storage medium storing a computer program that, when executed by a processor, implements the above-described method.
[0081] It is understood that the content of the above method embodiments is applicable to this storage medium embodiment. The specific functions implemented in this storage medium embodiment are the same as those in the above method embodiments, and the beneficial effects achieved are also the same as those achieved in the above method embodiments.
[0082] This application also provides a computer program product, including a computer program that, when executed by a processor, implements the above-described method.
[0083] It is understood that the content of the above method embodiments is applicable to the embodiments of this program product. The specific functions implemented by the embodiments of this program product are the same as those of the above method embodiments, and the beneficial effects achieved are also the same as those achieved by the above method embodiments.
[0084] Memory, as a non-transitory computer-readable storage medium, can be used to store non-transitory software programs and non-transitory computer-executable programs. Furthermore, memory may include high-speed random access memory, and may also include non-transitory memory, such as at least one disk storage device, flash memory device, or other non-transitory solid-state storage device. In some embodiments, memory may optionally include memory remotely located relative to the processor, and these remote memories can be connected to the processor via a network. Examples of such networks include, but are not limited to, the Internet, intranets, local area networks, mobile communication networks, and combinations thereof.
[0085] The UAV broadcast packet monitoring method and related equipment provided in this application have at least one of the following beneficial effects: 1. A single WIFI module can scan and monitor multiple channels, supporting multiple drones to send REMOTEID broadcast information in the air on different channels. This improves the efficiency of WIFI module usage, reduces the cost of REMOTEID base stations, reduces the number of antennas used, and enhances the convenience of REMOTEID base stations, facilitating rapid deployment.
[0086] 2. By slotting time into time slots, the opportunity for the channel to be scanned is reflected in the time slots, thereby improving the comprehensiveness of monitoring the REMOTEID broadcast information of UAVs.
[0087] 3. The channel list is initially randomized and then filled into the time slot scanning list in sequence. The channel list is filled into the time slot through multiple rounds of cyclic shifting. This ensures that each channel will appear at least once during each detection opportunity within the REMOTEID broadcast packet retransmission interval. When multiple UAVs broadcast REMOTEID on different channels, each channel has a chance to be detected, reducing omissions.
[0088] 4. When a channel receives a REMOTEID broadcast packet, the time slot scanning list is modified by inserting a time slot list and inserting time slot puncturing, so that the channel will be monitored after the next REMOTEID broadcast interval. The monitoring time slot has a higher priority than the pre-arranged time slot list, which realizes continuous monitoring of the discovered drone, while preventing monitoring of other existing channels.
[0089] 5. Channel monitoring opportunities are dynamically prioritized and the success rate of past monitoring is statistically analyzed. Channels with high success rates are given more monitoring opportunities, while channels with low success rates are given fewer monitoring opportunities, thus improving monitoring efficiency.
[0090] The embodiments described in this application are for the purpose of more clearly illustrating the technical solutions of the embodiments of this application, and do not constitute a limitation on the technical solutions provided by the embodiments of this application. As those skilled in the art will know, with the evolution of technology and the emergence of new application scenarios, the technical solutions provided by the embodiments of this application are also applicable to similar technical problems.
[0091] Those skilled in the art will understand that the technical solutions shown in the figures do not constitute a limitation on the embodiments of this application, and may include more or fewer steps than shown, or combine certain steps, or different steps.
[0092] The system embodiments described above are merely illustrative. The modules described as separate components may or may not be physically separate; that is, they may be located in one place or distributed across multiple network units. Some or all of the modules can be selected to achieve the purpose of this embodiment according to actual needs.
[0093] Those skilled in the art will understand that all or some of the steps in the methods disclosed above, as well as the functional modules / units in the systems and devices, can be implemented as software, firmware, hardware, or suitable combinations thereof.
[0094] The terms “first,” “second,” “third,” “fourth,” etc. (if present) in the specification and accompanying drawings of this application are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate so that the embodiments of this application described herein can be implemented in orders other than those illustrated or described herein. Furthermore, the terms “comprising” and “having,” and any variations thereof, are intended to cover non-exclusive inclusion; for example, a process, method, system, product, or apparatus that comprises a series of steps or modules is not necessarily limited to those steps or modules explicitly listed, but may include other steps or modules not explicitly listed or inherent to such processes, methods, products, or apparatus.
[0095] It should be understood that in this application, "at least one (item)" means one or more, and "more than" means two or more. "And / or" is used to describe the relationship between related objects, indicating that three relationships can exist. For example, "A and / or B" can represent three cases: only A exists, only B exists, and both A and B exist simultaneously, where A and B can be singular or plural. The character " / " generally indicates that the preceding and following related objects are in an "or" relationship. "At least one (item) of the following" or similar expressions refer to any combination of these items, including any combination of single or plural items. For example, at least one (item) of a, b, or c can represent: a, b, c, "a and b", "a and c", "b and c", or "a and b and c", where a, b, and c can be single or multiple.
[0096] In the embodiments provided in this application, it should be understood that the disclosed systems and methods can be implemented in other ways. For example, the system embodiments described above are merely illustrative; for instance, the division of modules described above is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple modules may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be indirect coupling or communication connection through some interfaces, devices, or units, and may be electrical, mechanical, or other forms.
[0097] The modules described above as separate components may or may not be physically separate. The components shown as modules may or may not be physical modules; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.
[0098] Furthermore, the functional modules in the various embodiments of this application can be integrated into one processing module, or each module can exist physically separately, or two or more modules can be integrated into one module. The integrated modules described above can be implemented in hardware or as software functional modules.
[0099] If the integrated module is implemented as a software functional module and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes multiple instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods of the various embodiments of this application. The aforementioned storage medium includes various media capable of storing programs, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.
[0100] The preferred embodiments of the present application have been described above with reference to the accompanying drawings, but this does not limit the scope of the claims of the present application. Any modifications, equivalent substitutions, and improvements made by those skilled in the art without departing from the scope and substance of the embodiments of the present application shall be within the scope of the claims of the present application.
Claims
1. A method for monitoring broadcast packets from unmanned aerial vehicles (UAVs), characterized in that, Includes the following steps: Obtain a channel list, wherein each first element of the channel list represents an available channel for UAV broadcasting, and the attributes of the first element include a channel identifier; The channel identifiers in the channel list are sorted to obtain a channel sequence; The total number of time slots is determined based on the number of first time slots corresponding to the broadcast packet cyclic transmission time interval and the number of sequence channels in the channel sequence, and the time slot scanning list is initialized based on the total number of time slots, wherein each second element of the time slot scanning list represents a time slot; The channel identifiers are sequentially written into the time slot scan list according to the channel sequence; Perform a channel scan according to the time slot scan list to receive broadcast packets from the UAV.
2. The method according to claim 1, characterized in that, The attributes of the first element in the channel list also include channel priority. The process of sorting the channel identifiers in the channel list to obtain a channel sequence includes the following steps: The number of occurrences of the corresponding channel identifier is determined based on the proportion of the channel priority to all channel priorities and the number of channels in the list; A temporary list is constructed based on the number of occurrences of each of the aforementioned channel identifiers, wherein each third element of the temporary list represents a channel identifier; The channel identifiers in the temporary list are randomly sorted to obtain a channel sequence.
3. The method according to claim 1, characterized in that, The step of sequentially writing the channel identifier into the time slot scan list according to the channel sequence includes the following steps: Determine whether the number of the second time slots currently completed for writing is the least common multiple of the number of the first time slots and the number of sequence channels; When the second number of time slots is the least common multiple, the channel sequence is shifted, and then the channel identifier is written into the time slot scan list sequentially according to the shifted channel sequence.
4. The method according to claim 1, characterized in that, The method for monitoring drone broadcast packets also includes the following steps: When the broadcast packet is received in the current time slot, the channel identifier corresponding to the current time slot is determined as the identifier to be inserted, and the start scanning time of the identifier to be inserted is determined according to the time when the broadcast packet is received and the time interval of the broadcast packet cycle transmission. Based on the start scan time, the identifier to be inserted is inserted into the time slot scan list.
5. The method according to claim 4, characterized in that, The step of inserting the identifier to be inserted into the time slot scan list according to the start scan time includes the following steps: The insertion slot for the identifier to be inserted is constructed based on the start scan time and the preset scan interval; Starting from the current time slot, traverse the time slot scan list to determine the target position of the inserted time slot in the time slot scan list; Insert the identifier to be inserted corresponding to the insertion time slot into the target position.
6. The method according to claim 5, characterized in that, The step of traversing the time slot scan list starting from the current time slot to determine the target position of the inserted time slot in the time slot scan list includes the following steps: Starting from the current time slot, traverse the time slot scan list and determine whether the start scan time of the inserted time slot is between the start scan times of two consecutive time slots in the time slot scan list; When the start scan time of the inserted time slot is between the start scan times of two consecutive time slots in the time slot scan list, the target position is determined in the two consecutive time slots. If the start scan time of the inserted time slot is not between the start scan times of two consecutive time slots in the time slot scan list, the tail of the time slot scan list is extended, and the target position is determined in the extended part of the time slot scan list.
7. The method according to claim 2, characterized in that, The attributes of the first element in the channel list also include the number of times the broadcast packet was received and the number of times it was scanned. The UAV broadcast packet monitoring method further includes the following steps: During channel scanning, the number of receptions and the number of scans in the channel list are updated according to the scanning results; After completing the channel scan, the channel priority is adjusted based on the number of receptions and the number of scans, and the number of priority adjustments is accumulated. If the number of priority adjustments reaches the adjustment threshold, the channel list is reinitialized, wherein the number of receptions and the number of scans for all first elements are initialized to 0, and the channel priority for all first elements is initialized to 1. If the number of priority adjustments does not reach the adjustment threshold, the step of sorting the channel identifiers in the channel list to obtain the channel sequence is re-executed according to the channel list after the channel priority adjustment.
8. A drone broadcast packet monitoring system, characterized in that, include: The first module is used to obtain a channel list, wherein each first element of the channel list represents an available channel for UAV broadcasting, and the attributes of the first element include a channel identifier; The second module is used to sort the channel identifiers in the channel list to obtain a channel sequence; The third module is used to determine the total number of time slots based on the number of first time slots corresponding to the cyclic transmission time interval of the broadcast packet and the number of sequence channels in the channel sequence, and to initialize the time slot scanning list based on the total number of time slots, wherein each second element of the time slot scanning list represents a time slot; The fourth module is used to sequentially write the channel identifier into the time slot scan list according to the channel sequence; The fifth module is used to perform channel scanning according to the time slot scan list in order to receive broadcast packets from the UAV.
9. An electronic device, characterized in that, The electronic device includes a memory and a processor, the memory storing a computer program, and the processor executing the computer program to implement the method according to any one of claims 1 to 7.
10. A computer program product, comprising a computer program, characterized in that, When the computer program is executed by a processor, it implements the method of any one of claims 1 to 7.