A remote displacement monitoring method and system based on a 4G cat1 internet of things

By using a 4G Cat.1 single-chip module and a phase synchronization clock compensation algorithm, the redundancy and power consumption problems of the dual-chip architecture in the existing technology are solved, realizing a system-level ultra-low power monitoring device. The bottleneck of intermittent timestamp accuracy in the existing technology is solved, achieving synchronization of ultra-low power consumption and high-frequency timestamp accuracy.

CN122372942APending Publication Date: 2026-07-10
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Filing Date
2026-04-23
Publication Date
2026-07-10

AI Technical Summary

Technical Problem

Existing remote displacement monitoring devices suffer from redundancy and power consumption issues in dual-chip architecture, intermittent wake-up time drift, and high-frequency acquisition timestamp accuracy bottlenecks, making it difficult to achieve the synchronization of extremely low power consumption and high-frequency timestamp accuracy.

Method used

The 4G Cat.1 single-chip module with a built-in application processor achieves low-power monitoring of the single chip through a free-running counter and a phase synchronization clock compensation algorithm. Combined with the mapping function from count value to time and the scaling correction coefficient, it ensures accurate alignment of the acquisition time and high precision of the high-frequency timestamp.

Benefits of technology

It achieves extremely low power consumption at the system level, solves the bottleneck of intermittent wake-up time accumulation drift and high-frequency sampling timestamp accuracy, and ensures accurate alignment of acquisition time and high-precision time stamp of displacement data during long-term operation.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122372942A_ABST
    Figure CN122372942A_ABST
Patent Text Reader

Abstract

This invention discloses a remote displacement monitoring method and system based on 4G Cat1 IoT, relating to the field of infrastructure displacement monitoring technology. The method employs a 4G Cat1 single-chip module with a built-in application processor to directly acquire displacement sensor data. The single-chip module performs the following steps without the involvement of an external independent microcontroller unit: entering a low-power sleep state while maintaining a free-running counter based on a local crystal oscillator; exiting the sleep state in response to a wake-up event; continuously acquiring displacement sensor data during the current wake-up cycle and executing a phase synchronization clock compensation algorithm; transmitting the timestamped displacement data sequence to the remote monitoring platform via the 4G Cat1 network, and re-entering the low-power sleep state after data transmission is complete. This invention achieves extremely low power consumption and optimized hardware costs, simultaneously solving two major technical challenges: intermittent wake-up time accumulation drift and the bottleneck of high-frequency sampling timestamp accuracy.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of infrastructure displacement monitoring technology, and in particular to a remote displacement monitoring method and system based on 4Gcat1 Internet of Things. Background Technology

[0002] In the field of infrastructure safety monitoring, such as bridges, slopes, and building structures, remote displacement monitoring equipment faces the following core technological bottlenecks: 1. Redundancy and power consumption issues of traditional dual-chip architecture: Existing remote monitoring equipment generally adopts a dual-chip architecture of "MCU + 4G communication module" (such as STM32 + EC20 / SIM7600). The MCU is responsible for sensor acquisition and business logic, while the 4G module is only responsible for data transmission. This architecture has the following inherent defects: (1) UART / SPI and other communication interfaces and AT commands are required between the MCU and the 4G module, which introduces communication delay and protocol parsing overhead; (2) The two chips are powered and sleep independently, making it difficult to optimize system-level power consumption and unable to achieve true single-chip PSM extreme low power consumption; (3) The hardware BOM cost is high and the PCB area is large, which is not conducive to miniaturized deployment; (4) The development, debugging and OTA upgrade of two independent firmware sets increase the complexity exponentially.

[0003] 2. Time drift problem of intermittent wake-up: After each wake-up, PSM low-power devices need to go through network connection, synchronization time, data acquisition, and uploading for an uncertain period of time, which causes the actual wake-up interval to gradually deviate from the preset value, and the data acquisition time point accumulates unpredictable drift over the running time.

[0004] 3. High-frequency sampling timestamp accuracy bottleneck: At millisecond-level sampling intervals, if each data point obtains its timestamp via the network, it introduces uncertain delays, and frequent NTP synchronization increases power consumption and communication overhead. However, if a local clock is used, the long-term accumulation of errors at the millisecond level is unacceptable.

[0005] In summary, how to achieve a displacement monitoring system that combines extremely low power consumption, precise data acquisition time alignment, and high-precision high-frequency timestamps, while breaking through the limitations of the traditional "MCU + 4G module" dual-chip architecture, has become a technical problem that urgently needs to be solved by those skilled in the art. Summary of the Invention

[0006] This invention provides a remote displacement monitoring method based on 4Gcat1 IoT, which directly acquires displacement sensor data using a 4Gcat1 single-chip module with a built-in application processor. The single-chip module performs the following steps without the participation of an external independent microcontroller unit: Step S10: Enter a low-power sleep state, maintain a free-running counter based on the local crystal oscillator, and continuously accumulate the count value during the sleep period; Step S20: In response to a wake-up event, exit the sleep state and read the instantaneous count value at the wake-up time. Real-time time can be obtained through a single communication via a 4G network. Synchronous reading and acquisition Instantaneous count value ; Step S30: During this wake-up cycle, continuously acquire displacement sensor data and execute the phase synchronization clock compensation algorithm; the phase synchronization clock compensation algorithm is based on... , , As a reference anchor point, the time axis is calculated and the counter is fed forward to compensate the collected displacement data sequence; Step S40: The calculated displacement data sequence with timestamps is sent to the remote monitoring platform via the 4G Cat1 network, and the single-chip module is controlled to re-enter the low-power sleep state after the data transmission is completed.

[0007] The remote displacement monitoring method based on 4Gcat1 IoT described above, wherein the specific execution flow of the phase synchronization clock compensation algorithm is as follows: by , Using the reference anchor point, construct a mapping function from the count value to time within the current wake-up cycle; The initial timestamp is calculated for the displacement data sequence within the current wake-up cycle based on the mapping function from count value to time. A scaling correction factor is calculated by comparing the lag points of the current wake-up cycle with the historical baseline lag points. The initial timestamps of the displacement data sequence are corrected based on the scaling correction factor to form the final timestamped displacement data sequence. calculate The corresponding time is calculated, and the counter is fed forward to compensate for the deviation between the calculated time and the nominal wake-up time.

[0008] The remote displacement monitoring method based on 4G Cat1 IoT described above, wherein... , Using this as the baseline anchor, a mapping function from the count value to time within the current wake-up cycle is constructed, which consists of the following sub-steps: Accumulate historical operating parameters acquired during each wake-up cycle to construct a historical operating profile; In response to the coefficient calculation process trigger event, the module reads the historical running files and calculates the mapping coefficients; Based on the calculated mapping coefficients, and the data obtained this time... , Construct a mapping function from the count value to the time within this wake-up cycle.

[0009] The remote displacement monitoring method based on 4Gcat1 IoT described above calculates a scaling correction coefficient by comparing the number of lag points in the current wake-up cycle with the historical baseline lag points. This process is further divided into the following sub-steps: The displacement data sequence within this wake-up cycle is processed into a uniform displacement sequence; The window with the largest fluctuation amplitude is extracted from the uniform displacement sequence as the analysis window, and the number of lag points in this wake-up cycle is calculated. The scaling correction factor is calculated based on the calculated number of lag points and the pre-stored historical baseline lag points.

[0010] The remote displacement monitoring method based on 4Gcat1 IoT described above, wherein the calculation The corresponding time, and feedforward compensation of the counter based on the deviation between the calculated time and the nominal wake-up time, specifically divided into the following sub-steps: Calculate using a mapping function from count value to time The corresponding initial timestamp is adjusted using a scaling correction factor. The corresponding initial timestamp is corrected to obtain the physical time of this wake-up; Read the nominal time of this wake-up and calculate the time drift based on the physical time of this wake-up and the nominal time; Convert the time drift into the increment of the count value that the free-running counter should correct; Read the preset expected sleep duration and convert it into the nominal count increment that should be experienced in this sleep cycle; The threshold for the next wake-up count is obtained by summing the current free-running counter's instantaneous count value, the nominal count value increment, and the counter's count value increment that should be corrected. The nominal wake-up time is calculated by recursively calculating the nominal wake-up time based on the nominal wake-up time of the current wake-up and the expected sleep duration.

[0011] The present invention also provides a remote displacement monitoring system based on 4Gcat1 Internet of Things, for executing the above-mentioned remote displacement monitoring method based on 4Gcat1 Internet of Things, including: a count value accumulation module, a time acquisition module, a clock compensation module, and a monitoring data reporting module; The counter value accumulation module is used to continuously accumulate the counter value using a free-running counter based on a local crystal oscillator; The time acquisition module is used to read the instantaneous count value at the wake-up time after the 4GCat1 single-chip module triggers a wake-up event. And obtain real-time time through a single communication via 4G network. Synchronous reading and acquisition Instantaneous count value ; The clock compensation module is used to continuously acquire displacement sensor data during the current wake-up cycle and execute a phase synchronization clock compensation algorithm; the phase synchronization clock compensation algorithm is based on... , , As a reference anchor point, the time axis is calculated and the counter is fed forward to compensate the collected displacement data sequence; The monitoring data reporting module is used to send the calculated displacement data sequence with timestamps to the remote monitoring platform via the 4G Cat1 network, and control the single-chip module to re-enter the low-power sleep state after the data transmission is completed.

[0012] The beneficial effects achieved by this invention are as follows: By replacing the traditional dual-chip architecture with a single-chip 4G Cat.1 module, system-level ultra-low power consumption and hardware cost optimization are achieved. Through a dual-anchor mechanism that distinguishes between physical wake-up time and network timing time, combined with a phase synchronization clock compensation algorithm, the invention simultaneously solves two major technical challenges—intermittent wake-up time accumulation drift and high-frequency sampling timestamp accuracy bottleneck—without relying on an external clock source. This ensures accurate alignment of acquisition times and high-precision time stamps for displacement data during long-term operation. Attached Figure Description

[0013] To more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments recorded in the present invention. For those skilled in the art, other drawings can be obtained based on these drawings.

[0014] Figure 1 This is a flowchart of a remote displacement monitoring method based on 4Gcat1 Internet of Things provided in Embodiment 1 of this application. Detailed Implementation

[0015] The technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some, not all, of the embodiments of the present invention. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.

[0016] Example 1 like Figure 1 As shown, Embodiment 1 of this application provides a remote displacement monitoring method based on 4Gcat1 IoT. It uses a 4Gcat1 single-chip module with a built-in application processor to directly acquire displacement sensor data. The single-chip module performs the following steps without the participation of an external independent microcontroller unit: Step S10: Enter a low-power sleep state, maintain a free-running counter based on the local crystal oscillator, and continuously accumulate the count value during the sleep period; The single-chip module described in this embodiment is the Unisoc Air780EGH 4G Cat.1 communication module. This module has a built-in Unisoc EC718P baseband processor and ARM Cortex-M3 application processor core, and integrates the LuatOS lightweight real-time operating system on the chip, which can run complete application logic independently without relying on any external independent microcontroller unit.

[0017] Before entering sleep mode, the module writes a preset wake-up count threshold to the hardware comparator associated with the free-run counter via the pm.dtimerStart() interface. This threshold is obtained by adding the current count value to the increment of the count value corresponding to the expected sleep duration. When the accumulated value of the free-run counter reaches this threshold, the hardware comparator generates a wake-up signal, triggering the module to exit the sleep state and proceed to step S20. During sleep mode, the module shuts down its RF transceiver circuitry, pauses the application processor core clock, and cuts off power to most peripherals, reducing overall power consumption to the microamp level. Internally, the module maintains a continuously operating hardware counter driven by an independent 32.768kHz crystal oscillator; this is the free-running counter. In the EC718P chip, this counter is implemented as a sub-second counter in the RTC module, with a 64-bit width, continuously incrementing at the crystal oscillator's nominal frequency, and automatically resetting to zero upon overflow. Regardless of whether the application processor core is in sleep mode, as long as the module is powered normally, this counter runs autonomously without any software intervention, and its count value can be instantly read by the application processor upon wake-up via the module's internal bus.

[0018] Step S20: In response to a wake-up event, exit the sleep state and read the instantaneous count value at the wake-up time. Real-time time can be obtained through a single communication via a 4G network. Synchronous reading and acquisition Instantaneous count value ; When the hardware comparator triggers a wake-up event, the EC718P chip's application processor core powers on and resets, starting execution of the boot code from the internal ROM boot area. At the very beginning of the LuatOS low-level boot process—before any Lua virtual machine initialization, peripheral driver loading, or user application execution—the low-level C language boot routine immediately reads the current free-running counter's value and passes it to the upper-level application through a static memory area, denoted as . This count precisely marks the instant when the module hardware is awakened from sleep mode.

[0019] Subsequently, the LuatOS operating system completes kernel initialization, starts the Lua virtual machine, and executes the user application. The application first calls mobile.status() to check the 4G network attachment status and waits for the module to successfully register with the LTE network. After successful network attachment, the application calls the socket.sntp() interface to initiate an SNTP (Simple Network Time Protocol) request to query the real-time time from a preset time server (such as ntp.aliyun.com or a time server provided by the operator).

[0020] The moment the SNTP response message is successfully received and parsed, and the real-time is obtained, the application performs the following two tightly coupled actions: First, store the parsed real-time time as a variable in UTC seconds. This time precision is guaranteed by the SNTP protocol and can typically reach the millisecond level.

[0021] Second, in acquiring Within the same code execution path, the underlying interface is immediately called again to read the current count value of the free run counter, denoted as . .

[0022] It should be noted that from the moment of physical wake-up (corresponding to) From the moment the network time was successfully obtained (corresponding to) Between these processes, the module undergoes a series of non-deterministic processes, including network search, random access, and SNTP request and response reception. The time consumed is influenced by multiple factors such as network signal strength, base station load, and server response speed, fluctuating between hundreds of milliseconds and several seconds and is unpredictable. Therefore, and The difference in count values ​​corresponds to an indeterminate time delay. This distinction is one of the key innovations of this invention, which differentiates it from existing technologies that confuse wake-up time with network synchronization time.

[0023] Step S30: During this wake-up cycle, continuously acquire displacement sensor data and execute the phase synchronization clock compensation algorithm; the phase synchronization clock compensation algorithm is based on... , , As a reference anchor point, the time axis is calculated and the counter is fed forward to compensate the collected displacement data sequence; The specific execution flow of the phase synchronization clock compensation algorithm is as follows: Step S31: with , Using the reference anchor point, construct a mapping function from the count value to time within the current wake-up cycle; This step utilizes the historical operation data accumulated by the single-chip module itself to dynamically establish a mapping relationship between the count increment and the time increment as a function of temperature, thereby generating an accurate count-time mapping function within the current wake-up cycle. Specifically, it consists of the following sub-steps: ① Accumulate historical operating parameters acquired during each wake-up cycle to construct a historical operating archive; Before entering sleep mode after completing data reporting in each wake-up cycle, the single-chip module persistently saves the key operating parameters acquired during this wake-up cycle in a dedicated file partition of the module's internal Flash memory. Each file record contains three core data items: the first item is the real-time time of this acquisition. Instantaneous count value read synchronously Recorded in the archives as The second item is the real-time time obtained this time. Recorded in the archives as The first item is stored in UTC millisecond timestamp format; the second item is the chip temperature value measured by the built-in temperature sensor of the single-chip module at the moment of this wake-up, which is recorded in the file as follows. The unit is Celsius.

[0024] The archive area uses a circular queue storage structure to retain the most recently accessed data. Record, in this embodiment The value is 128. When the storage space is full, the new record automatically overwrites the oldest record.

[0025] ② In response to the coefficient calculation process trigger event, the module reads the historical running files and calculates the mapping coefficients; The module does not calculate the mapping coefficients every time it is woken up, but only triggers the calculation process when any of the following conditions are met: Condition 1 (Initial Fit): The number of records in the archive reaches the target value for the first time. At this point, the archives have accumulated enough historical data to perform the first calculation.

[0026] Condition 2 (Periodic Update): Since the last fitting, the module has undergone K wake-up cycles, and in this embodiment, K is set to 24. Periodically updating the coefficients allows the mapping relationship to track the slow aging drift of the crystal oscillator over time.

[0027] Condition 3 (Significant Temperature Change): The absolute value of the difference between the chip temperature measured during this wake-up and the reference temperature recorded during the last fitting exceeds a preset threshold. This embodiment The value is set to 5. Crystal oscillator frequency drift is strongly correlated with temperature; the coefficient needs to be recalculated when the temperature changes significantly.

[0028] When the coefficient calculation process is triggered, the module reads all currently stored file records from the Flash archive area and calculates the mapping coefficients according to the following steps: First, select records from all records whose absolute difference with the current wake-up temperature is within 3 as fitting samples. If the number of samples after selection is less than the preset minimum number of samples (16 in this embodiment), then relax the absolute difference by one step (0.5 in this embodiment) until the minimum number of samples is met. Secondly, for the selected fitted samples, take any two consecutive wake-up pairs and calculate the following two increment values: count increment. Time increment ;in , These are the instantaneous count value and real-time time of the next sample record in the sample pair, respectively. , These are the instantaneous count value and real-time time of the previous sample record in the sample pair, respectively; for each sample pair, its count rate is calculated. (Unit: count value / millisecond); Then, the rate of count values ​​was calculated for all sample pairs. Calculate the arithmetic mean to obtain the average speed. ; Finally, take the reciprocal of the average speed to obtain the proportionality coefficient. The unit is milliseconds per count value, representing the millisecond time length corresponding to each increment of the free-running counter; simultaneously, the actual value in each sample pair is calculated. With Predicted time increment The average of the deviations is taken as the intercept compensation amount. The unit is milliseconds.

[0029] After fitting, the calculated results , The wake-up temperature is also written to the coefficient storage area in Flash.

[0030] ③ Based on the calculated mapping coefficients and the data obtained this time , Construct a mapping function from the count value to the time within this wake-up cycle; During each wake-up cycle, when this step is executed, the module first checks whether the mapped coefficients already exist in the Flash coefficient storage area; if they do exist and the current wake-up does not meet any of the aforementioned coefficient calculation process trigger conditions, then it directly reads the stored coefficients from the Flash. and If it does not exist, the default value will be used: Take the theoretical value corresponding to the nominal frequency of the crystal oscillator (for the 32.768kHz crystal oscillator in this embodiment, (milliseconds / count value) Take 0.

[0031] get and Afterwards, based on the information obtained during this awakening... , Based on this, construct a mapping function from the count value to the time within this wake-up cycle. : in and Derived from step S20, During this wake-up cycle, except Any count value of the externally free-running counter.

[0032] The mapping function is stored in a memory variable in the form of a Lua function closure. Through the lightweight strategy of "threshold triggering, on-demand calculation, and normal table lookup" described above, the online computing overhead is minimized while ensuring mapping accuracy, making it fully compatible with the limited computing power and storage resources of a single-chip 4G Cat.1 module.

[0033] Step S32: Calculate the initial timestamp for the displacement data sequence within the current wake-up cycle based on the mapping function from count value to time; During this wake-up cycle, the module collects N displacement data points at a fixed frequency (1000Hz in this embodiment) and stores them as a displacement data sequence. Each data point contains a count value. and displacement value Two data points, where i is the index of the sampling point. The mapping function constructed using step S31 Calculate the initial timestamp for each sampling point. ,Right now .

[0034] Step S33: Calculate a scaling correction coefficient by comparing the lag points of the current wake-up cycle with the historical baseline lag points; This step utilizes the quasi-periodic characteristics inherent in displacement signals during structural health monitoring to calculate a scaling correction coefficient, which is used to compensate for the residual proportional error of the mapping coefficient in step S31. Specifically, it consists of the following sub-steps: ① Process the displacement data sequence within this wake-up cycle into a uniform displacement sequence; The time of the first sampling point in the displacement data sequence within this wake-up period Starting from the value, generate a step size of . Uniform time grid, The nominal sampling interval, i.e., the sampling frequency corresponding to 1000Hz. The displacement values ​​corresponding to each grid point are obtained through linear interpolation. This forms a uniform sampling sequence, where k is the time grid index, and k takes values ​​from 1 to... , .

[0035] ② Extract the window with the largest fluctuation amplitude from the uniform displacement sequence as the analysis window, and calculate the number of lag points in this wake-up cycle; The module needs to extract the window with the largest fluctuation amplitude from the uniform displacement sequence as the analysis window, with a length of L. The value of L needs to balance frequency resolution and computational cost; in this embodiment, L=64 is chosen. The analysis window is determined by a sliding window traversal method: with a step size... (i.e., 32 points) sliding, producing a total of 1. Calculate the variance of the displacement values ​​within each candidate window; select the window with the largest variance as the analysis window, and denot its corresponding displacement subsequence as . ; If the variance of the displacement values ​​within the analysis window is lower than the preset fluctuation threshold (This embodiment) Pick (This value can be modified remotely according to the sensor range and the type of the structure being measured). If the value is too flat, it is determined that the displacement signal acquired this time is too flat and no correction is needed. At this time, the module exits this step directly and sets the scaling correction coefficient to 1.0. Calculate the displacement subsequence autocorrelation function , For the time grid index in the displacement subsequence, i.e. ,in To analyze the average displacement value within the window, This represents the nth displacement value in the displacement subsequence, where n takes values ​​from 1 to... To eliminate the influence of signal amplitude on the absolute magnitude of autocorrelation, the autocorrelation function is... Normalization, the normalized autocorrelation function is denoted as ; exist Search within the range The first significant positive peak value, the criteria for determining a significant positive peak value are: All three of the following conditions must be met: (Local maxima); (The peak value is sufficiently significant, and the threshold of 0.3 is an empirical value). (Excluding sidelobe interference near zero hysteresis); The index value corresponding to the first significant positive peak that meets the conditions. , recorded as the lag points of the current wake-up cycle. If no peak value meets the conditions, set the scaling correction factor to 1.0 and end this step.

[0036] ③ Calculate the scaling correction factor based on the calculated lag points and the pre-stored historical baseline lag points; The module reads the pre-stored historical baseline hysteresis points from the Flash parameter area. This value is written during the device's historical operation, after the timestamp mapping coefficients have converged and stabilized. Specifically, it is written when the number of historical records reaches a certain threshold. (Maximum number of historical running files to retain) and the three most recent wake-ups When the coefficient change rate is less than 0.1%, the module automatically calculates the current wake-up cycle. And write it to Flash, overwriting the old one. If read 0 (no valid write) If the value is not met, the comparison cannot be performed, the module will set the scaling correction factor to 1.0 and end this step.

[0037] Based on the calculated number of lag points Lag points with pre-stored historical benchmark Calculate the scaling correction factor The calculation formula is: . The physical meaning is: if This indicates that the measured vibration period is shorter than the reference value, meaning the current time axis is compressed (the actual sampling interval is smaller than the nominal value), and the time axis needs to be stretched; if Then compression is required.

[0038] Step S34: Correct the initial timestamp of the displacement data sequence based on the scaling correction factor to form the final timestamped displacement data sequence; For the initial timestamp of each sampling point obtained in step S32 , Scaling correction is performed based on the first sampling point: If step S33 fails to calculate a valid result (Right now If so, then directly adopt .

[0039] The final timestamp of each sampling point With displacement value The data points are paired according to their sampling point index i to form the final timestamped displacement data sequence, where each data point is represented as: .

[0040] By leveraging the periodic characteristics of the displacement signal itself, the residual proportional error of the mapping function in step S31 was detected and corrected online without relying on any external reference. The entire process involves only linear interpolation, autocorrelation calculation, and simple proportional operation, resulting in extremely low computational overhead. It perfectly adapts to the resource constraints of a single-chip 4G Cat.1 module, while significantly improving the timestamp accuracy of high-frequency acquired data.

[0041] Step S35: Calculation The corresponding time, and feedforward compensation for the counter based on the deviation between the calculated time and the nominal wake-up time; This step utilizes the established time mapping relationship to accurately calculate the physical time of this wake-up, compares it with the preset nominal wake-up time to obtain the drift amount of this sleep cycle, and converts this drift amount into a correction amount for the wake-up threshold of the free-running counter, which is then applied to the next sleep cycle, thereby eliminating the long-term cumulative drift of the wake-up cycle. The specific process is as follows: ① First, using the mapping function in step S31, calculate The corresponding initial timestamp; subsequently, the scaling correction factor from step S33 is applied. Using the initial timestamp of the first sampling point within this wake-up cycle as a reference, the same overall scaling correction as in step S34 is applied to this initial timestamp to obtain the physical time of this wake-up, denoted as . The unit is UTC milliseconds.

[0042] ② Read the preset nominal wake-up time from the Flash parameter area. This value was calculated and written when Part ⑤ of this step was executed in the previous wake-up cycle, indicating that according to the expected sleep duration, this wake-up should occur at this time. If the module is running for the first time, or if the Flash memory does not yet store a valid nominal time (e.g., the read value is an invalid marker zero), drift comparison cannot be performed. In this case, the module will use the value calculated in this operation. As the nominal benchmark for the next wake-up, jump directly to Part ④ for execution; When the nominal time is valid, the module calculates the time drift amount for this wake-up. Its value is the actual time. Subtract nominal time The unit is milliseconds. If the result is positive, it means that the actual wake-up time is later than the nominal time, that is, the sleep duration exceeds the expectation; if the result is negative, it means that the actual wake-up time is earlier than the nominal time, that is, the sleep duration is less than the expectation.

[0043] ③ To compensate for this drift during the next hibernation, the module will adjust the time drift amount. The increment of the count value that should be corrected when converting to a free-running counter The conversion relationship depends on the proportionality coefficient obtained in step S31. Since the reciprocal of the increment of the count value per millisecond is The reciprocal of the time drift is used to calculate the count value to be adjusted. For reverse compensation, the above result needs to be negative: if the current wake-up is late, the correction is negative, indicating that the count threshold for the next sleep phase should be reduced to bring the next wake-up earlier; if the current wake-up is early, the correction is positive, indicating that the threshold should be increased to delay the next wake-up.

[0044] To simplify division operations in embedded environments, the module can... The reciprocal is pre-calculated and stored in a fixed-point number format, so that only one multiplication is needed during actual operation.

[0045] ④ The module reads the preset desired sleep duration from the Flash parameter area. The unit is milliseconds, and this value is determined by remote configuration or factory default; the module multiplies the expected sleep time by... The reciprocal of the count value yields the nominal count increment that should occur during this hibernation cycle. ; Subsequently, the module reads the instantaneous count value of the current free-running counter. The next wake-up threshold without compensation is the current count value. Add the nominal count value increment Based on this, the module superimposes the correction amount calculated in part ③. The corrected next wake-up count threshold is obtained. .

[0046] To ensure system robustness, the module performs a rationality check on the corrected threshold: it calculates the actual sleep count increment corresponding to the corrected threshold. If the relative deviation between this increment and the nominal count increment exceeds a preset upper limit (e.g., 5%), the drift is considered abnormal, the compensation is abandoned, and the uncompensated threshold is used directly. After passing the check, the module calls the LuatOS system's pm.dtimerStart() interface to write the corrected threshold into the hardware comparator associated with the free-running counter, as the trigger condition for the next wake-up.

[0047] ⑤ To perform drift calculations for the next wake-up cycle, the module needs to calculate and store the nominal time of the next wake-up; to prevent the drift from accumulating and propagating, the recursion of the nominal time should be based on the current nominal time. Plus expected hibernation time Rather than based on the actual wake-up time. ; If a valid record is successfully read this time Then the next nominal time is equal to the current nominal time plus... If a valid nominal time cannot be obtained due to reasons such as initial operation, then the time calculated above shall apply. Based on, plus As the next nominal time; The module writes the calculated next nominal time into the Flash parameter area, overwriting the original data. This is for use in the next wake-up cycle.

[0048] Step S40: The calculated displacement data sequence with timestamps is sent to the remote monitoring platform via the 4G Cat1 network, and the single-chip module is controlled to re-enter the low-power sleep state after the data transmission is completed. This step completes the data reporting and hibernation preparation for this wake-up cycle. The specific execution flow is as follows: The module encapsulates the generated timestamped displacement data sequence into a data packet to be sent. The packet is organized in JSON format and contains the following fields: Device serial number: read from the Flash parameter area, used by the remote platform to identify the data source; Wake-up batch number: increments with each wake-up cycle, used to track data continuity; Number of sampling points: the number of displacement data points reported this time; Displacement data array: each element contains a timestamp (UTC milliseconds) and a displacement value (millimeters or raw ADC value); The module calls the LuatOS network interface to check the current 4G network attachment status. If the network is attached, it sends the encapsulated JSON message to the remote monitoring platform via the MQTT protocol. If the sending fails due to poor network signal, the module temporarily stores the message in the Flash offline storage area and sends it back first when the network recovers in the next wake-up cycle. Before sending the collected data, the module checks the Flash offline storage area for any legacy data that was not successfully sent due to historical network interruptions. If any exists, the legacy data is sent in a first-in, first-out (FIFO) order, and the corresponding record is deleted from the storage area after each successful transmission. This mechanism ensures that displacement monitoring data is not lost due to a single communication failure in unstable field deployment environments.

[0049] After the data transmission is complete, the module calls the pm.request(pm.HIB) interface to request to enter a low-power sleep state.

[0050] Example 2 Embodiment 2 of this application provides a remote displacement monitoring system based on 4Gcat1 Internet of Things, including: a count value accumulation module, a time acquisition module, a clock compensation module, and a monitoring data reporting module; The counter value accumulation module is used to continuously accumulate the counter value using a free-running counter based on a local crystal oscillator; The time acquisition module is used to read the instantaneous count value at the wake-up time after the 4GCat1 single-chip module triggers a wake-up event. And obtain real-time time through a single communication via 4G network. Synchronous reading and acquisition Instantaneous count value ; The clock compensation module is used to continuously acquire displacement sensor data during the current wake-up cycle and execute a phase synchronization clock compensation algorithm; the phase synchronization clock compensation algorithm is based on... , , As a reference anchor point, the time axis is calculated and the counter is fed forward to compensate the collected displacement data sequence; The monitoring data reporting module is used to send the calculated displacement data sequence with timestamps to the remote monitoring platform via the 4G Cat1 network, and control the single-chip module to re-enter the low-power sleep state after the data transmission is completed.

[0051] The specific embodiments described above further illustrate the purpose, technical solution, and beneficial effects of the present invention. It should be understood that the above description is only a specific embodiment of the present invention and is not intended to limit the scope of protection of the present invention. Any modifications, equivalent substitutions, improvements, etc., made on the basis of the technical solution of the present invention should be included within the scope of protection of the present invention.

Claims

1. A remote displacement monitoring method based on 4G Cat1 IoT, characterized in that, The 4GCat1 single-chip module with a built-in application processor directly acquires displacement sensor data. The single-chip module performs the following steps without the participation of an external independent microcontroller unit: Step S10: Enter a low-power sleep state, maintain a free-running counter based on the local crystal oscillator, and continuously accumulate the count value during the sleep period; Step S20: In response to a wake-up event, exit the sleep state and read the instantaneous count value at the wake-up time. Real-time time can be obtained through a single communication via a 4G network. Synchronous reading and acquisition Instantaneous count value ; Step S30: During this wake-up cycle, continuously acquire displacement sensor data and execute the phase synchronization clock compensation algorithm; the phase synchronization clock compensation algorithm is based on... , , As a reference anchor point, the time axis is calculated and the counter is fed forward to compensate the collected displacement data sequence; Step S40: The calculated displacement data sequence with timestamps is sent to the remote monitoring platform via the 4G Cat1 network, and the single-chip module is controlled to re-enter the low-power sleep state after the data transmission is completed.

2. The remote displacement monitoring method based on 4G Cat1 IoT according to claim 1, characterized in that, Before entering sleep mode, the module writes a preset wake-up count threshold to the hardware comparator associated with the free-run counter; when the accumulated value of the free-run counter reaches the threshold, the hardware comparator generates a wake-up signal, triggering the module to exit the sleep state.

3. The remote displacement monitoring method based on 4G Cat1 IoT according to claim 1, characterized in that, The specific execution flow of the phase synchronization clock compensation algorithm is as follows: by , Using the reference anchor point, construct a mapping function from the count value to time within the current wake-up cycle; The initial timestamp is calculated for the displacement data sequence within the current wake-up cycle based on the mapping function from count value to time. A scaling correction factor is calculated by comparing the lag points of the current wake-up cycle with the historical baseline lag points. The initial timestamps of the displacement data sequence are corrected based on the scaling correction factor to form the final timestamped displacement data sequence. calculate The corresponding time is calculated, and the counter is fed forward to compensate for the deviation between the calculated time and the nominal wake-up time.

4. The remote displacement monitoring method based on 4G Cat1 IoT according to claim 3, characterized in that, by , Using this as the baseline anchor, a mapping function from the count value to time within the current wake-up cycle is constructed, which consists of the following sub-steps: Accumulate historical operating parameters acquired during each wake-up cycle to construct a historical operating profile; In response to the coefficient calculation process trigger event, the module reads the historical running files and calculates the mapping coefficients; Based on the calculated mapping coefficients, and the data obtained this time... , Construct a mapping function from the count value to the time within this wake-up cycle.

5. The remote displacement monitoring method based on 4G Cat1 IoT according to claim 3, characterized in that, By comparing the lag points of the current wake-up cycle with the historical baseline lag points, a scaling correction factor is calculated, which is specifically divided into the following sub-steps: The displacement data sequence within this wake-up cycle is processed into a uniform displacement sequence; The window with the largest fluctuation amplitude is extracted from the uniform displacement sequence as the analysis window, and the number of lag points in this wake-up cycle is calculated. The scaling correction factor is calculated based on the calculated number of lag points and the pre-stored historical baseline lag points.

6. The remote displacement monitoring method based on 4G Cat1 IoT according to claim 5, characterized in that, The window with the largest fluctuation amplitude is selected from the uniform displacement sequence as the analysis window. The number of lag points in the current wake-up cycle is calculated, which is divided into the following sub-steps: The analysis window is determined by using a sliding window traversal method; Calculate the autocorrelation function of the displacement subsequences within the analysis window and normalize it; Find the first significant positive peak of the autocorrelation function and record its corresponding time grid index value as the lag point of the current wake-up cycle.

7. The remote displacement monitoring method based on 4G Cat1 IoT according to claim 3, characterized in that, calculate The corresponding time, and feedforward compensation of the counter based on the deviation between the calculated time and the nominal wake-up time, are specifically divided into the following sub-steps: Calculate using a mapping function from count value to time The corresponding initial timestamp is adjusted using a scaling correction factor. The corresponding initial timestamp is corrected to obtain the physical time of this wake-up; Read the nominal time of this wake-up and calculate the time drift based on the physical time of this wake-up and the nominal time; Convert the time drift into the increment of the count value that the free-running counter should correct; Read the preset expected sleep duration and convert it into the nominal count increment that should be experienced in this sleep cycle; The threshold for the next wake-up count is obtained by summing the current free-running counter's instantaneous count value, the nominal count value increment, and the counter's count value increment that should be corrected. The nominal wake-up time is calculated by recursively calculating the nominal wake-up time based on the nominal wake-up time of the current wake-up and the expected sleep duration.

8. A remote displacement monitoring system based on 4G Cat1 Internet of Things, characterized in that, The method for performing remote displacement monitoring based on 4Gcat1 Internet of Things as described in any one of claims 1-7 includes: a count value accumulation module, a time acquisition module, a clock compensation module, and a monitoring data reporting module. The counter value accumulation module is used to continuously accumulate the counter value using a free-running counter based on a local crystal oscillator; The time acquisition module is used to read the instantaneous count value at the wake-up time after the 4GCat1 single-chip module triggers a wake-up event. And obtain real-time time through a single communication via 4G network. Synchronous reading and acquisition Instantaneous count value ; The clock compensation module is used to continuously acquire displacement sensor data during the current wake-up cycle and execute a phase synchronization clock compensation algorithm; the phase synchronization clock compensation algorithm is based on... , , As a reference anchor point, the time axis is calculated and the counter is fed forward to compensate the collected displacement data sequence; The monitoring data reporting module is used to send the calculated displacement data sequence with timestamps to the remote monitoring platform via the 4G Cat1 network, and control the single-chip module to re-enter the low-power sleep state after the data transmission is completed.