Data transmission apparatus, method and equipment

By using multiple acknowledgment message queries and dynamic time interval adjustments in the LoRa transceiver module, the problem of data message transmission interruption in long-distance radio communication is solved, achieving reliable data transmission and low-power communication.

CN119996532BActive Publication Date: 2025-10-28SHENZHEN RUIKE HUILIAN TECH
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202510129981.8
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-02-05
Publication Date
2025-10-28
Estimated Expiration
2045-02-05

AI Technical Summary

Technical Problem

In long-distance radio communication, LoRa transceiver modules may sometimes stop sending data packets according to the preset configuration, resulting in interruption of data packet transmission.

Method used

The LoRa transceiver module performs multiple acknowledgment message queries and retransmits data packets if no acknowledgment message is received. It also dynamically adjusts the time interval combination to adapt to environmental changes and communicates with the wireless communication module via wired or wireless means to reduce power consumption.

Benefits of technology

It effectively prevents data packet transmission interruption, reduces waiting time, lowers power consumption, adapts to complex communication environments, and extends battery life.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119996532B_ABST
    Figure CN119996532B_ABST
Patent Text Reader

Abstract

This application provides a data transmission apparatus, method, and device. The data transmission apparatus includes a LoRa transceiver module and a wireless communication module. The LoRa transceiver module sends a first data packet to the wireless communication module. The LoRa transceiver module performs a first round of queries to determine whether a first acknowledgment packet has been received. If the LoRa transceiver module does not receive the first acknowledgment packet in the first round of queries, it triggers a retransmission of the first data packet to the wireless communication module and performs a second round of queries to determine whether the first acknowledgment packet has been received. If the first acknowledgment packet is received in the first round of queries, the LoRa transceiver module sends a first connection request to the wireless communication module. Based on the first connection request, the wireless communication module performs spread spectrum modulation on the first data packet to obtain a first spread spectrum data packet. Based on the communication status between the wireless communication module and the network server, it determines a first transmission power and transmits the first spread spectrum data packet at the first transmission power.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of data communication, and more particularly to a data transmission apparatus, method, and device. Background Technology

[0002] Long Range Radio (LoRa) communication technology, as a low-power wide-area network (WAN) communication technology, has been widely used in the Internet of Things (IoT) field in recent years. In a LoRa network, LoRa transceiver modules play a crucial role, responsible for collecting data and transmitting it to the wireless communication module. To ensure reliable data transmission, LoRa transceiver modules are typically pre-configured to send data packets to the wireless communication module according to specific rules.

[0003] However, in practical applications, we have found that the LoRa transceiver module sometimes stops sending data packets according to the preset configuration, resulting in interruption of data packet transmission. Summary of the Invention

[0004] This application provides a data transmission apparatus, method, and device that can effectively prevent interruption of data packet transmission.

[0005] In a first aspect, a data transmission device is provided, comprising: a LoRa transceiver module and a wireless communication module.

[0006] The LoRa transceiver module is used to send a first data packet to the wireless communication module;

[0007] The LoRa transceiver module is used to perform a first round of querying of the first acknowledgment message to determine whether the first acknowledgment message has been received, wherein the first acknowledgment message is used to indicate that the wireless communication module has successfully received the first data packet;

[0008] The LoRa transceiver module is configured to, if it does not receive the first confirmation message in the first round of queries of the first confirmation message, trigger the retransmission of the first data message to the wireless communication module and perform a second round of queries of the first confirmation message to determine whether the first confirmation message has been received; if the first confirmation message is received in one of the queries of the first round of queries of the first confirmation message, send a first connection request to the wireless communication module.

[0009] The wireless communication module is used to perform spread spectrum modulation on the first data packet based on the first connection request to obtain a first spread spectrum data packet, determine a first transmission power based on the communication status between the wireless communication module and the network server, and transmit the first spread spectrum data packet at the first transmission power.

[0010] In the above scheme, multiple queries can be performed in each round to check whether the first acknowledgment message has been received. Once the first acknowledgment message is confirmed, the first connection request can be sent to the wireless communication module immediately, reducing waiting time, lowering power consumption, and speeding up the data transmission process. These multiple queries are implemented within the LoRa transceiver module, and even frequent queries do not consume excessive power. Furthermore, since the LoRa transceiver module is already in a constantly active state when preparing to send data, multiple queries do not require repeated wake-ups, thus avoiding significant power consumption. Additionally, if the first acknowledgment message is not received in the first round of queries, the first data packet will be retransmitted, and a second round of queries will be performed on the first acknowledgment message, effectively preventing interruption of data packet transmission.

[0011] In some possible designs, the time intervals between multiple queries in the first round of queries of the first confirmation message are all the same, and the maximum number of queries in the first round of queries of the first confirmation message multiplied by the time interval equals a first value.

[0012] In some possible designs, the time intervals of the multiple queries in the first round of the first confirmation message are at least partially different, and the sum of the time intervals of the multiple queries is equal to a first value, wherein the time interval between the two middle queries is less than the time interval between the two beginning queries and the time interval between the two ending queries.

[0013] In some possible designs, the LoRa transceiver module is used to select a first target time interval combination from a set of time intervals, wherein the time interval combination includes multiple time interval combinations, and the sum of the time intervals of each of the multiple time interval combinations is equal to a first value;

[0014] The LoRa transceiver module is used to perform a first round of querying of the first acknowledgment message based on the first target time interval combination to determine whether the first acknowledgment message has been received.

[0015] In some possible designs, the LoRa transceiver module is used to send a second data packet to the wireless communication module;

[0016] The LoRa transceiver module is used to select a second target time interval combination from the time interval set if it is determined that the first target time interval combination is not suitable.

[0017] The LoRa transceiver module is used to perform a first round of querying of the second acknowledgment message based on the second target time interval combination to determine whether the second acknowledgment message has been received, wherein the second acknowledgment message is used to indicate that the wireless communication module has successfully received the second data packet;

[0018] The LoRa transceiver module is used to trigger the retransmission of the second data packet to the wireless communication module and perform a second round of querying of the second confirmation packet to determine whether the second confirmation packet has been received if the second confirmation packet is not received in the first round of querying of the second confirmation packet; and to send a second connection request to the wireless communication module if the second confirmation packet is received in one of the queries in the first round of querying of the second confirmation packet.

[0019] The wireless communication module is used to perform spread spectrum modulation on the second data packet based on the second connection request to obtain a second spread spectrum data packet, determine a second transmission power based on the communication status between the wireless communication module and the network server, and transmit the second spread spectrum data packet at the second transmission power.

[0020] In the above scheme, since LoRa transceiver modules are mainly used in scenarios with long distances and complex communication environments, the communication environment may change from time to time. Therefore, the previously applicable time interval combination may no longer be suitable after the environment changes. So, if the first target time interval combination used when sending the first data packet is not suitable, it can be changed from the first target time interval combination to the second target time interval combination when sending the second data packet, thereby adapting to the new environmental changes.

[0021] In some possible designs, the LoRa transceiver module is used to select a third target time interval combination from the time interval set if it is determined that the first target time interval combination is not suitable;

[0022] The LoRa transceiver module is used to perform a second round of querying of the first acknowledgment message based on the third target time interval combination to determine whether the first acknowledgment message has been received.

[0023] In the above scheme, if the first target time interval combination is used when querying the first confirmation message in the first round, and if the communication environment changes drastically, the second target time interval combination can also be used when querying the first confirmation message in the second round, so as to adapt to the new environmental requirements.

[0024] In some possible designs, the LoRa transceiver module communicates with the wireless communication module via a wired connection.

[0025] In the above scheme, the LoRa transceiver module and the wireless communication module communicate via a wired connection, which can reduce power consumption and does not require a large amount of power when querying confirmation messages.

[0026] In some possible designs, the LoRa transceiver module is used to terminate the current message transmission if the number of repeated transmissions of the first data message exceeds a specified number.

[0027] In the above scheme, if the number of times the first data packet is repeatedly sent exceeds a specified number, the device enters a sleep state, which can protect the device and avoid power consumption.

[0028] Secondly, a data transmission method is provided, applied to a data transmission device, wherein the data transmission device includes a LoRa transceiver module and a wireless communication module, and the method includes:

[0029] The LoRa transceiver module sends a first data packet to the wireless communication module.

[0030] The LoRa transceiver module performs a first round of queries on the first acknowledgment message to determine whether the first acknowledgment message has been received, wherein the first acknowledgment message is used to indicate that the wireless communication module has successfully received the first data packet;

[0031] If the LoRa transceiver module does not receive the first confirmation message in the first round of queries for the first confirmation message, it triggers the retransmission of the first data message to the wireless communication module and performs a second round of queries for the first confirmation message to determine whether the first confirmation message has been received; if the first confirmation message is received in one of the queries in the first round of queries for the first confirmation message, a first connection request is sent to the wireless communication module.

[0032] The wireless communication module performs spread spectrum modulation on the first data packet based on the first connection request to obtain a first spread spectrum data packet. Based on the communication status between the wireless communication module and the network server, a first transmission power is determined, and the first spread spectrum data packet is transmitted at the first transmission power.

[0033] Thirdly, an electronic device is provided, including a data transmission device and a memory, wherein the data transmission device and the memory are capable of communicating with each other, and the data transmission device is the device as described in any of the first aspects. Attached Figure Description

[0034] To more clearly illustrate the technical solutions in the embodiments of the present invention or the background art, the accompanying drawings used in the embodiments of the present invention or the background art will be described below.

[0035] Figure 1 This is a schematic diagram of the structure of a data transmission device provided in this application;

[0036] Figure 2This is a flowchart illustrating a data transmission method provided in this application;

[0037] Figure 3 This is a schematic diagram of the structure of a first spread spectrum data message provided in this application;

[0038] Figure 4 This is a schematic diagram of the structure of a computing device provided in this application. Detailed Implementation

[0039] The embodiments of the present invention will now be described with reference to the accompanying drawings. The terminology used in the embodiments section is for illustrative purposes only and is not intended to limit the scope of the invention.

[0040] See Figure 1 , Figure 1 This is a schematic diagram of the structure of a data transmission device provided in this application. Figure 1 As shown, the data transmission device of this application includes a LoRa transceiver module 110 and a wireless communication module 120. The LoRa transceiver module 110 and the wireless communication module 120 can communicate with each other via a wired connection or a wireless connection.

[0041] The LoRa transceiver module 110 may include a controller 111, a power manager 112, a sensor 113, a storage module 114, and a first interface module 115.

[0042] The controller 111 can be a microprocessor or a microcontroller unit (MCU), such as a common LoRa transceiver chip. The controller executes control algorithms and logic, coordinating the operation of the power manager 112, sensor 113, storage module 114, and interface module 115. Alternatively, the controller 111 may include one or more processor cores. In one implementation, the controller 111 can be a multi-core chip, i.e., a chip containing multiple processing cores. In another implementation, the controller 111 may include one or more processor cores. For example, it can be a chip with a single processing core.

[0043] The power manager 112 manages the system's power supply, providing operating current to the controller 111, sensor 113, storage module 114, and interface module 115, among others. The power manager 112 can convert input power (such as battery, AC mains, etc.) to the voltage levels required by different modules. It can also manage the battery, including battery charging control, power monitoring, and low-power protection. The power manager 112 can monitor power parameters such as voltage, current, and power in real time to ensure power stability and safety. Furthermore, the power manager 112 can reduce system power consumption, extend battery life, or improve power efficiency through energy-saving modes and power management strategies. The power manager 112 can also be a battery, either rechargeable or non-rechargeable.

[0044] Sensor 113 is used to sense and measure various parameters of the physical world and convert them into electrical signals. For example, it can collect data on temperature, humidity, pressure, light intensity, position, and velocity. Therefore, the sensor can be a temperature sensor (such as a thermistor or thermocouple), a humidity sensor (capacitive or resistive), a pressure sensor (strain gauge or piezoelectric), a position sensor (potentiometer, photoelectric, inductive, magnetoresistive, or capacitive), a velocity sensor (photoelectric encoder, Hall effect velocity sensor, Doppler radar velocity sensor, or vibration velocity sensor), or an optical sensor (photodiode or camera).

[0045] Storage module 114 can be a non-volatile memory, such as read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), or flash memory. Storage module 114 can also be a volatile memory, such as random access memory (RAM), which serves as an external cache. By way of example, but not limitation, many forms of RAM are available, such as static random access memory (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDRSDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous linked dynamic random access memory (SLDRAM), and direct rambus RAM (DR RAM).

[0046] The first interface module 115 is used to realize communication and connection between the LoRa transceiver module 110 and the wireless communication module 120. The first interface module 115 can be a serial communication interface, a parallel interface, a universal serial bus interface, a network interface, etc. Among them, the serial communication interface can include a universal asynchronous transceiver, a serial peripheral interface, etc. The network interface can include an Ethernet interface, a Wi-Fi module, a Bluetooth interface, etc.

[0047] The wireless communication module 120 may include a processor 121, a power supply module 122, a second interface module 123, an antenna module 124, and a storage module 125. The processor 121 can have various specific implementations. For example, the processor 121 may be a microprocessor or a microcontroller unit (MCU). The processor 121 may include one or more combinations of a central processing unit (CPU), a microprocessor unit (MPU), a neural network processing unit (NPU), a tensor processing unit (TPU), or a data processing unit (DPU), etc. This application embodiment does not impose specific limitations. The processor 121 may also be a single-core processor or a multi-core processor. The processor 121 may be a combination of a CPU and a hardware chip. The aforementioned hardware chip may be an application-specific integrated circuit (ASIC), a programmable logic device (PLD), or a combination thereof. The aforementioned PLD can be a complex programmable logic device (CPLD), a field-programmable gate array (FPGA), a generic array logic (GAL), or any combination thereof. The processing unit 410 can also be implemented independently using a logic device with built-in processing logic, such as an FPGA or a digital signal processor (DSP).

[0048] The power module 122 manages the system's power supply, providing operating current to the processor 121, interface module 123, antenna module 124, and storage module 125, among others. The power module 122 can convert input power (such as battery, AC mains, etc.) to the voltage levels required by different modules. It can also manage the battery, including battery charging control, power monitoring, and low-power protection. The power module 122 can monitor parameters such as voltage, current, and power in real time to ensure power stability and safety. The power module 122 can also reduce system power consumption, extend battery life, or improve power efficiency through energy-saving modes and power management strategies. The power module 122 can also be a battery, either rechargeable or non-rechargeable.

[0049] The second interface module 123 is used to realize communication and connection between the LoRa transceiver module 110 and the wireless communication module 120. The second interface module 123 can be a serial communication interface, a parallel interface, a universal serial bus interface, a network interface, etc. The serial communication interface can include a universal asynchronous transceiver, a serial peripheral interface, etc. The network interface can include an Ethernet interface, a Wi-Fi module, a Bluetooth interface, etc. It can be understood that when the first interface module 115 is a serial communication interface, the second interface module 123 can also be a serial communication interface; when the first interface module 115 is a parallel interface, the second interface module 123 can also be a parallel interface; when the first interface module 115 is a universal serial bus interface, the second interface module 123 can also be a universal serial bus interface; when the first interface module 115 is a network interface, the second interface module 123 can also be a network interface.

[0050] Antenna module 124 is a crucial component for transmitting and receiving radio signals. The antenna used in antenna module 124 can be one or a combination of several of the following: dipole antenna, monopole antenna, loop antenna, helical antenna, Yagi antenna, rod antenna, microstrip antenna, and slot antenna. Since LoRa applications typically operate in complex environments, spread spectrum modulation can be used. Signals modulated with spread spectrum can achieve reliable communication at lower signal power, reducing power consumption at the transmitter and extending battery life of the terminal device. Spread spectrum allows signals to propagate over longer distances at lower power levels, which is crucial for IoT applications requiring long-distance communication and low power consumption. Spread spectrum also allows signals to better penetrate buildings and obstacles, making it suitable for various complex environments. Furthermore, spread spectrum provides a wider signal spectrum distribution, offering strong resistance to narrowband interference and maintaining good communication quality in complex electromagnetic environments. Although a single signal occupies a wider spectrum, multiple signals with different spreading codes can coexist in the same frequency band, thus improving spectrum utilization to some extent.

[0051] Storage module 125 can be non-volatile memory, such as read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), or flash memory. Storage module 125 can also be volatile memory, which can be random access memory (RAM) used as an external cache. By way of example, but not limitation, many forms of RAM are available, such as static random access memory (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDRSDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous linked dynamic random access memory (SLDRAM), and direct rambus RAM (DR RAM).

[0052] It is understood that the above data transmission device is merely a specific example. In practical applications, the data transmission device may include more or fewer components, and no specific limitation is made here.

[0053] See Figure 2 , Figure 2 This is a flowchart illustrating a data transmission method provided in this application. Figure 2 As shown, the data transmission method of this application includes:

[0054] S101: The LoRa transceiver module 110 sends a first data packet to the wireless communication module 120. Accordingly,

[0055] The first data message can carry data collected by sensors, such as environmental data, location data, energy data, industrial parameters, security data, agricultural data, water quality data, and logistics data. Environmental data can include temperature, humidity, light intensity, air pressure, wind speed, and wind direction. Location data can include geographic location information obtained through GPS or other positioning technologies. Energy data can include electricity consumption, power output, and energy consumption, commonly found in smart meter applications. Industrial parameters can include pressure, flow rate, liquid level, and vibration, used for industrial monitoring and control. Security data can include door and window open / close status, smoke alarm status, and intrusion detection information. Agricultural data can include soil moisture, soil temperature, pH, and crop growth status. Water quality data can include water pH, turbidity, and dissolved oxygen content. Logistics data can include the location, status, and vibration / impact data of goods.

[0056] It is understandable that the first data message can carry other data besides the data collected by the sensor, and no specific limitation is made here.

[0057] S102: The LoRa transceiver module 110 is used to perform the first round of querying of the first acknowledgment message to determine whether the first acknowledgment message has been received.

[0058] The first acknowledgment message is sent by the wireless communication module 120 to indicate that it has successfully received the first data packet. If the wireless communication module 120 successfully receives the first data packet, it will return a first acknowledgment packet (ACK) to the LoRa transceiver module 110. Optionally, if the wireless communication module 120 detects that the received first data packet is erroneous, lost, or does not meet expectations, it will return a negative acknowledgment packet (NACK) to the wireless communication module 120.

[0059] The first round of queries can include multiple queries. The number of queries and the time interval between them can be set as needed. For example, the number of queries can be 3, 4, 5, or even more. The time intervals between queries can be all the same, partially the same, or completely different.

[0060] In one possible implementation, the time intervals between the multiple queries in the first round of queries for the first acknowledgment message are all the same. For example, the maximum number of queries can be set to 15, with a check every 10 milliseconds to see if the first acknowledgment message has been received. Alternatively, the maximum number of queries can be set to 10, with a check every 15 milliseconds to see if the first acknowledgment message has been received. It is understood that the maximum number of queries and the time intervals in the above examples are merely specific examples, and other values ​​can be set in practical applications, which are not specifically limited here.

[0061] The maximum number of queries in the first round of the first acknowledgment message multiplied by the time interval equals the first value. The size of the first value can be set as needed; for example, it could be 100 milliseconds, 150 milliseconds, 200 milliseconds, etc. In the example above, the maximum number of queries is 15, and the query time interval is 10 milliseconds, so the first value could be 150 milliseconds.

[0062] In the above method, since a query is performed every 10 milliseconds, once the first acknowledgment message is received, the next data message can be sent immediately.

[0063] In one possible implementation, the time intervals between the multiple queries in the first round of the first acknowledgment message are at least partially different. That is, the time intervals between the multiple queries in the first round of the first acknowledgment message may be partially the same or completely different. The sum of the time intervals between the multiple queries in the first round is equal to a first value. The size of the first value can be set as needed, for example, it can be 100 milliseconds, 150 milliseconds, 200 milliseconds, etc. In the following embodiments, the first value of 150 milliseconds is used as an example for illustration.

[0064] For example, the time interval from sending the first data packet to the first query is 10 milliseconds; the time interval between the first and second queries is 10 milliseconds; the time interval between the second and third queries is 20 milliseconds; the time interval between the third and fourth queries is 20 milliseconds; the time interval between the fourth and fifth queries is 30 milliseconds; the time interval between the fifth and sixth queries is 30 milliseconds; and the time interval between the sixth and seventh queries is 30 milliseconds. Here, the sum of the time intervals for the seven queries equals 10 milliseconds + 10 milliseconds + 20 milliseconds + 20 milliseconds + 30 milliseconds + 30 milliseconds + 30 milliseconds = 150 milliseconds.

[0065] Yes, the time interval between two queries in the middle is shorter than the time interval between the first two queries and the last two queries. Since the probability of receiving the first acknowledgment message in the middle is relatively high, queries can be performed more frequently in the middle. For example, the time interval from sending the first data packet to the first query is 30 milliseconds, the time interval between the first and second queries is 20 milliseconds, the time interval between the second and third queries is 10 milliseconds, the time interval between the third and fourth queries is 10 milliseconds, the time interval between the fourth and fifth queries is 10 milliseconds, the time interval between the fifth and sixth queries is 20 milliseconds, the time interval between the sixth and seventh queries is 20 milliseconds, and the time interval between the seventh and eighth queries is 30 milliseconds. Here, the sum of the time intervals for the eight queries equals 30 milliseconds + 20 milliseconds + 10 milliseconds + 10 milliseconds + 10 milliseconds + 20 milliseconds + 20 milliseconds + 30 milliseconds = 150 milliseconds.

[0066] The first method may require 15 queries, while the second method may only require 7 or 8 queries, which can effectively reduce the number of queries for the first confirmation message and reduce the power consumption of the data transmission device.

[0067] This approach, which involves multiple queries with varying time intervals in the first round of queries for the first confirmation message, is more effective than evenly distributing the queries. On average, this allows for faster and more timely receipt of the first confirmation message. Since data transmission takes time, if the initial query interval is too short, the first confirmation message may never be received in most cases. Therefore, the initial query interval should be set to the duration at which the first confirmation message is most likely to be received. Subsequent intermediate query intervals are shorter to allow for more frequent queries and more timely confirmation of receipt. In most cases, the first confirmation message will be confirmed at least halfway through the query cycle. If the first confirmation message is not received in some cases, there may be a problem. In such cases, frequent queries are less meaningful, so subsequent intervals can be set longer to reduce power consumption.

[0068] In one possible implementation, the time interval between multiple queries in the first round of queries for the first acknowledgment message is determined based on a time interval set. This time interval set includes multiple time interval combinations, where the sum of the time intervals in each combination equals a first value. Different time interval combinations may include the same or different numbers of time intervals; for example, some combinations may include 7, some 8, some 9, and so on. For instance, the time interval set may include multiple time interval combinations, such as a first target time interval combination and a second target time interval combination. The first target time interval combination could be (30 milliseconds, 20 milliseconds, 10 milliseconds, 10 milliseconds, 10 milliseconds, 20 milliseconds, 20 milliseconds, 30 milliseconds), and the second target time interval combination could be (10 milliseconds, 10 milliseconds, 20 milliseconds, 20 milliseconds, 30 milliseconds, 30 milliseconds, 30 milliseconds). The LoRa transceiver module selects the first target time interval combination from the time interval set and performs the first round of queries for the first acknowledgment message based on this combination to determine whether the first acknowledgment message has been received.

[0069] In the above example, a suitable combination of target time intervals can be selected from the set of time intervals based on the communication status, thus adapting to different communication environments. This approach also facilitates more timely confirmation of receipt of the first acknowledgment message, thereby improving speed.

[0070] If the LoRa transceiver module does not receive the first acknowledgment message in the first round of queries for the first acknowledgment message, return to step S101. If the first acknowledgment message is received in one of the queries in the first round of queries for the first acknowledgment message, proceed to step S103.

[0071] S103: The LoRa transceiver module 110 sends a first connection request to the wireless communication module. Correspondingly, the wireless communication module receives the first connection request sent by the LoRa transceiver module 110.

[0072] The first connection request can be a Message Queuing Telemetry Transport (MQTT) connection request, which is a request initiated by the client to the server to establish a connection. In the MQTT protocol, for a wireless communication module to communicate with a network server, it first needs to send a connection request containing specific information. This request typically includes the wireless communication module's identifier, the desired protocol version, username and password (if authentication is required), and the duration of the connection. Upon receiving the connection request, the network server verifies and processes the information in the request. If everything meets the requirements, the network server accepts the connection and establishes a communication channel with the wireless communication module, enabling the module to publish and subscribe to topic messages. If the request does not meet the requirements, the network server may refuse the connection.

[0073] S104: The wireless communication module 120 performs spread spectrum modulation on the first data packet based on the first connection request to obtain the first spread spectrum data packet.

[0074] First, the wireless communication module 120 generates a specific spreading code, which is typically a sequence of numbers with a specific pattern. Then, each data bit of the first data packet is multiplied by the spreading code. During this multiplication, the value of the data bit is expanded according to the pattern of the spreading code. For example, if a data bit is "1" and a part of the spreading code is "101", then after the multiplication, this data bit will be expanded to "101". This multiplication process is repeated for all data bits in the entire first data packet, thus expanding the first data packet in the spectrum. Next, the expanded signal may undergo further processing, such as filtering and amplification, to optimize the signal quality and characteristics, resulting in the first spread spectrum data packet after spread spectrum modulation. The first spread spectrum data packet has a wider distribution in the spectrum, thereby improving anti-interference capability and security.

[0075] S105: The wireless communication module 120 determines the first transmission power based on the communication between the wireless communication module and the network server.

[0076] The communication status between the wireless communication module and the network server can include the distance between them, current channel conditions, network interference levels, and so on. The specific process by which the wireless communication module determines the initial transmission power based on this communication status includes: the wireless communication module continuously monitors communication quality parameters with the network server. These parameters may include Signal Strength Indicator (RSSI), Bit Error Rate (BER), and Signal-to-Noise Ratio (SNR). If the monitored communication quality is good, for example, high RSSI, low BER, and high SNR, it indicates that the current signal transmission is relatively stable and reliable. In this case, the wireless communication module may reduce the transmission power to save energy and reduce interference to other devices. Conversely, if the communication quality is poor, for example, low RSSI, high BER, and low SNR, the wireless communication module will determine that it needs to increase the transmission power to enhance signal strength, improve communication quality, and ensure accurate data transmission.

[0077] S106: The wireless communication module 120 sends a first spread spectrum data message to the network server at a first transmit power. Correspondingly, the network server receives the first spread spectrum data message sent by the wireless communication module 120 at the first transmit power.

[0078] like Figure 3 As shown, the first spread spectrum data message includes a preamble, an optional header, and a payload. The preamble is a sequence at the beginning of the first spread spectrum data message, used to synchronize the receiver and notify it that data transmission is imminent. This helps the receiver's demodulator achieve frequency and symbol synchronization, ensuring correct demodulation of subsequent data and giving the receiver sufficient time to prepare for receiving data, such as adjusting gain. The length of the preamble is configurable and is typically set based on the specific application scenario and requirements. A longer preamble improves synchronization reliability but increases message transmission time and power consumption; a shorter preamble reduces transmission time and power consumption, but may decrease synchronization reliability. The optional header contains control and identification information about the message, such as a data rate indicator, a flag indicating whether the frame is encrypted, and a frame length indicator.

[0079] The above example only illustrates the transmission of a first data packet from the LoRa transceiver module to the wireless communication module. When the LoRa transceiver module transmits other data packets, such as a second data packet, it can follow the same method as transmitting the first data packet. However, if the communication environment changes when transmitting the second data packet, and the original first target time interval combination becomes unsuitable, it can be replaced with a second target time interval combination. Specifically, when the LoRa transceiver module determines that the first target time interval combination is unsuitable, it selects a second target time interval combination from the time interval set. The LoRa transceiver module then performs a first round of queries based on the second target time interval combination to determine whether the second acknowledgment message has been received. The second acknowledgment message indicates that the wireless communication module has successfully received the second data packet. If the LoRa transceiver module does not receive the second acknowledgment message in the first round of queries for the second acknowledgment message, it triggers a retransmission of the second data message to the wireless communication module and performs a second round of queries for the second acknowledgment message to determine whether it has been received. If the second acknowledgment message is received in one of the queries in the first round of queries, a second connection request is sent to the wireless communication module. Based on the second connection request, the wireless communication module performs spread spectrum modulation on the second data message to obtain a second spread spectrum data message. It determines the second transmission power based on the communication status between the wireless communication module and the network server and transmits the second spread spectrum data message at the second transmission power. The payload length can vary according to the required settings, for example, from a few bytes to several hundred bytes.

[0080] The above example only illustrates the first round of queries performed by the LoRa transceiver module. In reality, the LoRa transceiver module can perform more rounds of queries, such as a second round. However, if the communication environment changes during the second round of queries, and the original first target time interval combination becomes unsuitable, it can be replaced with a second target time interval combination. Specifically, if the LoRa transceiver module determines that the first target time interval combination is unsuitable, it selects a third target time interval combination from the time interval set. The LoRa transceiver module then performs a second round of queries based on the third target time interval combination to determine whether the first acknowledgment message has been received.

[0081] See Figure 4 , Figure 4 This is a schematic diagram of the structure of a computing device provided in this application. The computing device 400 includes: one or more processing units 410, a communication interface 420, and a memory 430.

[0082] The processing unit 410, communication interface 420, and memory 430 are interconnected via bus 440. Optionally, the computing device 400 may further include an input / output interface 450, which is connected to input / output devices for receiving user-set parameters, etc. The computing device 400 can be used to implement some or all of the functions of the device embodiment or system embodiment described above; the processing unit 410 can also be used to implement some or all of the operation steps of the method embodiment described above. For example, the specific implementation of various operations performed by the computing device 400 can be referred to the specific details in the above embodiments, such as the processing unit 410 being used to perform some or all of the steps or operations in the above method embodiments. For another example, in the embodiments of this application, the computing device 400 can be used to implement some or all of the functions of one or more components in the above device embodiment. In addition, the communication interface 420 can be specifically used for communication functions necessary to implement the functions of these devices and components, and the processing unit 410 can be specifically used for processing functions necessary to implement the functions of these devices and components.

[0083] Figure 4 The computing device 400 may include one or more processing units 410, and the multiple processing units 410 may collaboratively provide processing capabilities in a parallel connection mode, a serial connection mode, a serial-parallel connection mode, or an arbitrary connection mode. Alternatively, the multiple processing units 410 may form a processor sequence or a processor array, or the multiple processing units 410 may be divided into a main processor and an auxiliary processor, or the multiple processing units 410 may have different architectures, such as adopting a heterogeneous computing architecture. Furthermore, Figure 4 The structural and functional descriptions of the computing device 400 shown are exemplary and non-limiting. In some exemplary embodiments, the computing device 400 may include... Figure 4 The diagram shows more or fewer components, or combinations of some components, or splitting of some components, or different arrangements of components.

[0084] The processing unit 410 can have various specific implementations. For example, it may include one or more combinations of a central processing unit (CPU), a graphics processing unit (GPU), a neural network processing unit (NPU), a tensor processing unit (TPU), or a data processing unit (DPU). This application embodiment does not impose specific limitations. The processing unit 410 can also be a single-core processor or a multi-core processor. The processing unit 410 can be a combination of a CPU and a hardware chip. The aforementioned hardware chip can be an application-specific integrated circuit (ASIC), a programmable logic device (PLD), or a combination thereof. The aforementioned PLD can be a complex programmable logic device (CPLD), a field-programmable gate array (FPGA), a generic array logic (GAL), or any combination thereof. The processing unit 410 can also be implemented independently using a logic device with built-in processing logic, such as an FPGA or a digital signal processor (DSP). The communication interface 420 can be a wired interface or a wireless interface for communicating with other modules or devices. The wired interface can be an Ethernet interface, a local interconnect network (LIN), etc., and the wireless interface can be a cellular network interface or a wireless LAN interface, etc.

[0085] Memory 430 may be non-volatile memory, such as read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), or flash memory. Memory 430 may also be volatile memory, which may be random access memory (RAM) used as an external cache. By way of example, but not limitation, many forms of RAM are available, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate synchronous DRAM (DDRSDRAM), enhanced synchronous DRAM (ESDRAM), synchronous linked DRAM (SLDRAM), and direct rambus RAM (DRRAM). The memory 430 can also be used to store program code and data, so that the processing unit 410 can call the program code stored in the memory 430 to execute some or all of the operation steps in the above method embodiments, or to execute the corresponding functions in the above device embodiments. Furthermore, the computing device 400 may include, compared to... Figure 4 The number of components displayed may be more or less, or there may be different component configurations.

[0086] Bus 440 can be a Peripheral Component Interconnect Express (PCIe) bus, or an Extended Industry Standard Architecture (EISA) bus, a Unified Bus (Ubus or UB), a Compute Express Link (CXL), a Cache Coherent Interconnect for Accelerators (CCIX), etc. Bus 440 can be divided into address bus, data bus, control bus, etc. In addition to the data bus, bus 440 can also include a power bus, control bus, and status signal bus. However, for clarity, Figure 4 The bus is represented by a single thick line, but this does not mean that there is only one bus or one type of bus.

[0087] This application also provides a system comprising multiple computing devices, the structure of each computing device being similar to that described above. The functions or operations achievable by this system can be implemented using the specific steps described in the method embodiments and / or the specific functions described in the device embodiments, and will not be repeated here.

[0088] In the above embodiments, implementation can be achieved entirely or partially through software, hardware, firmware, or any combination thereof. When implemented using software, it can be implemented entirely or partially in the form of a computer program product. The computer program product includes one or more computer instructions, which, when loaded and executed on a computer, generate all or part of the processes or functions described in the embodiments of the present invention. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, the computer instructions can be transmitted from one network site, computer, server, or data center to another network site, computer, server, or data center via wired (e.g., coaxial cable, fiber optic, digital subscriber line) or wireless (e.g., infrared, microwave, etc.) means. The computer-readable storage medium can be any available medium that a computer can access, or it can be a data storage device such as a server or data center that integrates one or more available media. The available medium can be a magnetic medium (e.g., floppy disk, hard disk, magnetic tape, etc.), an optical medium (e.g., DVD, etc.), or a semiconductor medium (e.g., solid-state drive), etc. In the above embodiments, the descriptions of each embodiment have different focuses. For parts not described in detail in a certain embodiment, please refer to the relevant descriptions in other embodiments.

Claims

1. A data transmission device, characterized in that, include: LoRa transceiver module and wireless communication module. The LoRa transceiver module is used to send a first data packet to the wireless communication module; The LoRa transceiver module is used to perform a first round of querying for the first acknowledgment message to determine whether the first acknowledgment message has been received, wherein the first acknowledgment message is used to indicate that the wireless communication module has successfully received the first data packet; The LoRa transceiver module is configured to, if it does not receive the first confirmation message in the first round of queries of the first confirmation message, trigger the retransmission of the first data message to the wireless communication module and perform a second round of queries of the first confirmation message to determine whether the first confirmation message has been received; if the first confirmation message is received in one of the queries of the first round of queries of the first confirmation message, send a first connection request to the wireless communication module. The wireless communication module is used to perform spread spectrum modulation on the first data packet based on the first connection request to obtain a first spread spectrum data packet, determine a first transmission power based on the communication status between the wireless communication module and the network server, and transmit the first spread spectrum data packet at the first transmission power.

2. The apparatus according to claim 1, characterized in that, The time intervals between the multiple queries in the first round of the first confirmation message are all the same, and the maximum number of queries in the first round of the first confirmation message multiplied by the time interval equals a first value.

3. The apparatus according to claim 1, characterized in that, The time intervals of the multiple queries in the first round of the first confirmation message are at least partially different, and the sum of the time intervals of the multiple queries is equal to a first value, wherein the time interval between the two middle queries is less than the time interval between the two beginning queries and the time interval between the two ending queries.

4. The apparatus according to claim 1, characterized in that, The LoRa transceiver module is used to select a first target time interval combination from a time interval set, wherein the time interval set includes multiple time interval combinations, and the sum of the time intervals of each of the multiple time interval combinations is equal to a first value; The LoRa transceiver module is used to perform a first round of querying of the first acknowledgment message based on the first target time interval combination to determine whether the first acknowledgment message has been received.

5. The apparatus according to claim 4, characterized in that, The LoRa transceiver module is used to send a second data packet to the wireless communication module; The LoRa transceiver module is used to select a second target time interval combination from the time interval set if it is determined that the first target time interval combination is not suitable. The LoRa transceiver module is used to perform a first round of querying of the second acknowledgment message based on the second target time interval combination to determine whether the second acknowledgment message has been received, wherein the second acknowledgment message is used to indicate that the wireless communication module has successfully received the second data packet; The LoRa transceiver module is used to trigger the retransmission of the second data packet to the wireless communication module and perform a second round of querying of the second confirmation packet to determine whether the second confirmation packet has been received if the second confirmation packet is not received in the first round of querying of the second confirmation packet; and to send a second connection request to the wireless communication module if the second confirmation packet is received in one of the queries in the first round of querying of the second confirmation packet. The wireless communication module is used to perform spread spectrum modulation on the second data packet based on the second connection request to obtain a second spread spectrum data packet, determine a second transmission power based on the communication status between the wireless communication module and the network server, and transmit the second spread spectrum data packet at the second transmission power.

6. The apparatus according to claim 4, characterized in that, The LoRa transceiver module is used to select a third target time interval combination from the time interval set if it is determined that the first target time interval combination is not suitable. The LoRa transceiver module is used to perform a second round of querying of the first acknowledgment message based on the third target time interval combination to determine whether the first acknowledgment message has been received.

7. The apparatus according to any one of claims 1 to 6, characterized in that, The LoRa transceiver module and the wireless communication module communicate via a wired connection.

8. The apparatus according to any one of claims 1 to 6, characterized in that, The LoRa transceiver module is used to terminate the current packet transmission if the number of repeated transmissions of the first data packet exceeds a specified number.

9. A data transmission method, characterized in that, Applied to a data transmission device, wherein the data transmission device includes a LoRa transceiver module and a wireless communication module, the method includes: The LoRa transceiver module sends a first data packet to the wireless communication module. The LoRa transceiver module performs a first round of queries on the first acknowledgment message to determine whether the first acknowledgment message has been received, wherein the first acknowledgment message is used to indicate that the wireless communication module has successfully received the first data packet; If the LoRa transceiver module does not receive the first confirmation message in the first round of queries for the first confirmation message, it triggers the retransmission of the first data message to the wireless communication module and performs a second round of queries for the first confirmation message to determine whether the first confirmation message has been received; if the first confirmation message is received in one of the queries in the first round of queries for the first confirmation message, a first connection request is sent to the wireless communication module. The wireless communication module performs spread spectrum modulation on the first data packet based on the first connection request to obtain a first spread spectrum data packet. Based on the communication status between the wireless communication module and the network server, a first transmission power is determined, and the first spread spectrum data packet is transmitted at the first transmission power.

10. An electronic device, characterized in that, It includes a data transmission device and a memory, wherein the data transmission device and the memory are capable of communicating with each other, and the data transmission device is the device as described in any one of claims 1 to 8.

Citation Information

Patent Citations

  • Monorail transportation equipment control method and system based on Lora communication

    CN117354747A

  • River water ecology wireless monitoring system

    CN210863704U