Transmitting Device

The transmitting device uses a circular buffer system to efficiently record and transmit data based on weighting, addressing the challenge of acquiring both latest and past data with low power consumption wireless communication.

JP7597290B2Active Publication Date: 2024-12-10FCL COMPONENTS LTD
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
JP2021016242
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2021-02-04
Publication Date
2024-12-10
Estimated Expiration
2041-02-04

AI Technical Summary

Technical Problem

Transmitting devices using low power consumption wireless communication like BLE face challenges in acquiring both latest and past measurement data due to slow communication speed and power consumption constraints, making it difficult to efficiently transmit accumulated data.

Method used

A transmitting device with a circular buffer system records data in multiple blocks, calculates representative values, and transmits data based on weighting, prioritizing recent data for frequent transmission while storing older data efficiently.

Benefits of technology

Enables easy acquisition of both latest and past measurement data, optimizing memory usage and transmission frequency based on data importance, allowing real-time monitoring with efficient power consumption.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007597290000001
    Figure 0007597290000001
  • Figure 0007597290000002
    Figure 0007597290000002
  • Figure 0007597290000003
    Figure 0007597290000003
Patent Text Reader

Abstract

To make it possible to easily acquire not only latest measurement data but also data in the past in a transmitter transmitting acquired data to a transmission destination while recording the data.SOLUTION: A transmitter 101, which records acquired data, and transmits the data, has: a plurality of record blocks 201, 202 and 203 that are configured to serve as a circular buffer; a data management unit 402 that records a representative value of data recorded in the record block, into other record block different from the record block at a timing in which recording in the plurality of record blocks is completed; and a data transmission unit 403 that gives weights to the plurality of record block, and transmits the data recorded in the plurality of record blocks on the basis of the given weights.SELECTED DRAWING: Figure 4
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present invention relates to a transmitting device. Place Regarding. [Background technology]

[0002] Devices that record measurement data such as temperature, humidity, air pressure, illuminance, acceleration, and sound volume measured by various sensors have been put into practical use and are commercially available under names such as "data loggers."

[0003] There is also known a recording device that has multiple stages of ring buffers for recording recording data, calculates an average value each time a predetermined number of recording data are written to a ring buffer, and writes the calculated average value to the next ring buffer (see Patent Document 1). [Prior art documents] [Patent documents]

[0004] [Patent Document 1] JP 2010-271190 A Summary of the Invention [Problem to be solved by the invention]

[0005] There are also known transmitting devices that transmit measured measurement data using low-power wireless communication such as Bluetooth (registered trademark) Low Energy (hereinafter referred to as BLE). However, such transmitting devices have a problem in that a receiving device cannot obtain past data from the transmitting device.

[0006] It is possible to store measurement data in the transmitter so that past data can be obtained, but since low-power wireless communication such as BLE has a slow communication speed, it takes time to transmit the stored data to the destination. In addition, since such a transmitter operates on power supplied from a battery, it is not desirable to use relatively high-speed wireless communication that consumes a lot of power.

[0007] As described above, in a transmitting device that records acquired data while transmitting it to a destination, it has been difficult to make it possible to acquire not only the most recent measurement data but also past data.

[0008] One embodiment of the present invention has been made in consideration of the above problems, and enables a transmitting device that records acquired data and transmits it to a destination to easily acquire not only the most recent measurement data, but also past data. [Means for solving the problem]

[0009] In order to solve the above problem, a transmitting device according to an embodiment of the present invention is a transmitting device that records and transmits acquired data, and includes a plurality of recording blocks for data recording constituted by a circular buffer, a data management unit that records a representative value of data recorded in a recording block in another recording block different from the recording block when recording in the recording block completes a cycle, and a data transmitting unit that weights the plurality of recording blocks and transmits the data recorded in the plurality of recording blocks based on the weighting. death, The data transmission unit randomly determines the data to be transmitted based on the weighting. Effect of the Invention

[0010] According to one embodiment of the present invention, in a transmitting device that transmits acquired data while recording it, it becomes possible to easily obtain not only the latest measurement data but also past data. [Brief description of the drawings]

[0011] [Figure 1] 1 is a diagram showing a system configuration of a data communication system according to an embodiment; [Diagram 2] FIG. 4 is a diagram illustrating processing of a transmitting device according to an embodiment. [Diagram 3] FIG. 2 is a diagram illustrating a hardware configuration of a transmitting device and a receiving device according to an embodiment. [Figure 4]FIG. 2 is a diagram illustrating a functional configuration of a transmission device according to an embodiment. [Diagram 5] FIG. 2 is a diagram illustrating a functional configuration of a receiving device according to an embodiment. [Figure 6] 10 is a flowchart illustrating a process of a transmitting device according to an embodiment. [Figure 7] 11 is a flowchart illustrating a measurement process according to an embodiment. [Figure 8] 11 is a flowchart illustrating a transmission process according to an embodiment. [Figure 9] 11 is a flowchart illustrating a block selection process according to an embodiment. [Figure 10] FIG. 4 is a diagram showing recording blocks and data weighting according to the first embodiment. [Figure 11] FIG. 11 is a diagram showing recording blocks and data weighting according to the second embodiment. [Figure 12] FIG. 13 is a diagram showing recording blocks and data weighting according to the third embodiment. [Figure 13] FIG. 2 is a diagram illustrating a format of transmission data according to an embodiment. [Figure 14] FIG. 13 is a diagram showing recording blocks and data weighting according to the fourth embodiment. [Figure 15] 10 is a flowchart showing a process of a receiving device according to an embodiment. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0012] Hereinafter, an embodiment will be described with reference to the accompanying drawings. In order to facilitate understanding of the description, the same components in each drawing are denoted by the same reference numerals as much as possible, and duplicated description will be omitted.

[0013] <System configuration> Fig. 1 is a diagram showing a system configuration of a data communication system according to an embodiment. The data communication system 100 shown in Fig. 1(A) includes a transmitting device 101 that transmits data, and a receiving device 102 that receives the data transmitted by the transmitting device 101.

[0014] The transmitting device 101 transmits transmission data including measurement data such as temperature, humidity, atmospheric pressure, illuminance, acceleration, and sound volume, for example, by low-power wireless communication 103 such as BLE communication. For example, the transmitting device 101 broadcasts the transmission data using advertisement data (beacon) of BLE communication.

[0015] The transmitting device 101 also has a function of storing the acquired measurement data in a storage unit or the like, and transmitting not only the latest measurement data but also past data. Preferably, the transmitting device 101 transmits past data less frequently, the older the data, the lower the frequency. The transmitting device 101 also processes (e.g., averages) the past data before transmitting it.

[0016] Fig. 1(B) shows another example of the system configuration of the data communication system 100 according to an embodiment. As shown in Fig. 1(B), the transmitting device 101 may transmit transmission data to the receiving device 102 via a gateway 111 that transfers data to the receiving device (receiving server) 102, an information terminal 112, or the like.

[0017] The gateway 111 is a relay device that receives transmission data transmitted by the transmitting device 101 via low power consumption wireless communication 103 such as BLE communication, and transfers the data to the receiving device 102 via a communication network 113.

[0018] The information terminal 112 is, for example, an information processing device such as a PC, a tablet terminal, or a smartphone, and has a function of receiving transmission data transmitted by the transmitting device 101 through low power consumption wireless communication 103 such as BLE communication, and transferring the data to the receiving device 102. For example, the information terminal 112 executes an application corresponding to the data communication system 100, thereby transferring the transmission data received from the transmitting device 101 to the receiving device 102 through wireless communication 114 such as a wireless WAN (Wide Area Network). The receiving device 102 may be a data receiving server configured with one or more information processing devices, a cloud system, or the like.

[0019] 1 is an example of the system configuration of the data communication system. The transmitting device 101 may transmit transmission data using a wireless communication method other than BLE, such as Zigbee (registered trademark) or Wirepas (registered trademark) Mesh. The transmitting device 101 may also transmit transmission data using a relatively low-speed wired communication method, such as PLC (Power Line Communication).

[0020] <Processing Overview> 2 is a diagram illustrating the processing of a transmitting device according to an embodiment. As shown in FIG 2, the transmitting device 101 has a plurality of recording blocks (block A 201, block B 202, block C 203, ...) for recording data.

[0021] Each recording block is provided in the recording area of ​​the transmitting device 101 and functions as a logical circular buffer. Note that each recording block may have any physical configuration as long as it can manage the recording order and can control the sequential overwriting of old data. Ten pieces of data can be written to each of the block A 201, block B 202, and block C 203.

[0022] 2, the measurement data acquired by the transmitting device 101 is first stored sequentially in block A201. When the transmitting device 101 records the measurement data at address A_0 in block A201, it increments the pointer indicating the next write position to address A_1 and records the next measurement data at address A_1. When the transmitting device 101 records the measurement data at address A_9 at the end, it returns the write pointer to the first address A_0.

[0023] When recording in block A201 completes a cycle, the transmitting device 101 calculates a representative value of the 10 data stored in block A201 and records it in block B202. For example, when the transmitting device 101 returns the write pointer of block A201 to address A_0, it averages the measurement data stored in addresses A_0 to A_9 and records the average value as the representative value in the next write position of block B202. The next acquired measurement data is overwritten at address A_0 in block A201.

[0024] Similarly, when recording in block B202 completes one cycle, the transmitting device 101 calculates a representative value of the 10 data stored in block B202 and records the representative value in the next write position of block C203.

[0025] In this way, relatively recently acquired data is stored in block A 201 as original data without processing, and older data is stored as representative values ​​in subsequent blocks B 202 and C 203. Therefore, the transmission device 101 can store measurement data while saving memory area for older data.

[0026] Moreover, the transmitting device 101 weights the plurality of blocks A 201, B 202, and C 203, and selects and transmits data recorded in the plurality of recording blocks based on the weighting.

[0027] For example, the transmitting device 101 weights the block B202 (second recording block) so that the weight is smaller than the weight of the block A201 (first recording block). Also, the transmitting device 101 weights the block C203 (third recording block) so that the weight is smaller than the weight of the block B202.

[0028] By increasing the transmission frequency of data stored in blocks with high weighting, the transmitting device 101 can transmit relatively recent data more frequently without processing, and transmit relatively older data less frequently, processing it, for example by averaging.

[0029] The transmitting device 101 can randomly determine the data to be transmitted to the destination based on the above weighting.

[0030] The transmitting device 101 also transmits to the destination, together with the data, additional information indicating the acquisition time (time of day, etc.) of the data, the acquisition period of the data, etc. The additional information may be included in the data to be transmitted to the destination, or may be transmitted separately from the data.

[0031] On the other hand, when the receiving device 102 receives the transmission data (or the transmission data and the additional information) from the transmitting device 101, the receiving device 102 stores the data (measurement data, representative value) included in the transmission data in a storage unit based on the acquisition time, acquisition period, etc. included in the transmission data (or the additional information). For example, the receiving device 102 stores the transmission data transmitted by the transmitting device 101 in a storage area of ​​the storage unit corresponding to the acquisition time or acquisition period indicated by the additional information.

[0032] The receiving device 102 has a function of displaying the transition of the measurement data in the form of a graph or the like based on the data stored in the storage unit.

[0033] In this way, according to the data communication system 100 of this embodiment, the transmitting device 101 can record a larger amount of relatively recent data and record a smaller amount of old data. Therefore, data for a longer period can be recorded with the limited memory capacity of the transmitting device 101.

[0034] The transmitting device 101 can transmit, for example, more frequently "latest" data that is relatively important for purposes such as monitoring and demonstration, and less frequently past data that is relatively less important. In addition, the receiving device 102 stores a smaller amount of old data, so that it is possible to obtain and grasp, in a relatively short time, an outline of the progress of the measurement data from the past to the present.

[0035] <Hardware configuration> FIG. 3 is a diagram illustrating a hardware configuration of a transmitting device and a receiving device according to an embodiment.

[0036] (Hardware configuration of the transmitter) The transmission device 101 shown in FIG. 3A includes a CPU (Central Processing Unit) 301 , a memory 302 , a storage device 303 , a wireless communication device 304 , a sensor 305 , an external connection I / F (Interface), and a bus 307 .

[0037] The CPU 301 is a processor (arithmetic device) that realizes various functions of the transmission device 101 by executing programs stored in the storage device 303, the memory 302, etc. The memory 302 includes, for example, a random access memory (RAM) used as a work area for the CPU 301, and a read only memory (ROM) that stores in advance programs for starting the CPU 301, etc. The storage device 303 is a large-capacity storage device that stores, for example, an operating system (OS), programs such as applications, and various data.

[0038] The wireless communication device 304 is a wireless circuit, a wireless module, or a wireless integrated circuit (IC) for performing wireless communication such as BLE. Note that the wireless communication device 304 may employ a wireless communication method other than BLE, such as Zigbee or Wirepas Mesh.

[0039] The sensor 305 is various sensors such as a temperature sensor, a humidity sensor, an air pressure sensor, an illuminance sensor, an acceleration sensor, a sound volume sensor, etc. The external connection I / F 306 is an interface for connecting an external device to the transmission device 101. The transmission device 101 acquires measurement data from one or more sensors 305 or an external sensor connected to the external connection I / F 306.

[0040] A bus 307 is commonly connected to each of the above components, and transmits, for example, address signals, data signals, various control signals, and the like.

[0041] (Hardware configuration of receiving device) The receiving device 102 shown in FIG. 3B includes a CPU 311 , a memory 312 , a storage device 313 , a network I / F 314 , a display device 315 , an input device 316 , a wireless communication device 317 , and a bus 318 .

[0042] The CPU 311 is a processor that realizes various functions of the receiving device 102 by executing programs stored in the storage device 313, the memory 312, etc. The memory 312 includes a RAM used as a work area for the CPU 311, and a ROM that stores in advance programs for starting up the CPU 311, etc. The storage device 313 is a large-capacity storage device that stores programs such as an OS and applications, and various data.

[0043] The network I / F 314 is a communication interface that connects the receiving device 102 to a communication network and is used for communicating with, for example, the gateway 111 and the information terminal 112 .

[0044] The display device 315 is a display device such as a liquid crystal display or an organic EL display that displays various display screens. The input device is an input device such as a touch panel, a keyboard, or an operation button that accepts input operations by a user. The display device 315 and the input device 316 may be a display input device such as a touch panel display.

[0045] The wireless communication device 317 is a wireless circuit, a wireless module, a wireless IC, or the like for wirelessly communicating with the transmitting apparatus 101 in the same wireless communication system as the wireless communication device 304 .

[0046] A bus 318 is commonly connected to each of the above components, and transmits, for example, address signals, data signals, various control signals, and the like.

[0047] <Functional configuration> Next, the functional configurations of the transmitting device 101 and the receiving device will be described.

[0048] (Functional configuration of the transmitting device) 4 is a diagram showing a functional configuration of a transmission device according to an embodiment. The transmission device 101 realizes functions such as a data acquisition unit 401, a data management unit 402, a data transmission unit 403, and a storage unit 404 by executing a predetermined program in a CPU 301. At least a part of the above functions may be realized by hardware.

[0049] The data acquiring unit 401 acquires measurement data from the sensor 305 etc. Preferably, the data acquiring unit 401 acquires measurement data from the sensor 305 etc. at a predetermined interval (for example, about several seconds to several tens of minutes). The data acquiring unit 401 may acquire measurement data from an external sensor connected to the external connection I / F 306.

[0050] 2, when recording in block A201 completes a cycle, data management unit 402 calculates a representative value (e.g., average value) of the data recorded in block A201 and records it in block B202. Also, when recording in block B202 completes a cycle, data management unit 402 calculates a representative value of the data recorded in block B202 and records it in block C203.

[0051] The data transmitting unit 403 weights a plurality of recording blocks (block A201 to block C203) and transmits data recorded in the recording blocks based on the weighting. For example, the data transmitting unit 403 transmits data using the wireless communication device of FIG. 3(A). The data transmitting unit 403 may transmit data by broadcast, or may transmit data to the receiving device 102. Alternatively, the data transmitting unit 403 may transmit data to the receiving device 102 via the gateway 111 or the information terminal 112.

[0052] Variations in the method of weighting a plurality of recording blocks and the method of selecting data to be transmitted will be described later with reference to a number of exemplary embodiments.

[0053] The functions of the storage unit 404 are realized by the programs executed by the CPU 301, the storage device 303, the memory 302, etc., and realize the functions of blocks A201 to C203, etc.

[0054] (Functional configuration of receiving device) 5 is a diagram showing the functional configuration of a receiving device according to an embodiment. The receiving device 102 realizes the functions of a data receiving unit 501, a data processing unit 502, a display control unit 503, an operation receiving unit 504, and a storage unit 505 by executing a predetermined program in a CPU 311. Note that some of the above functional configurations may be realized by hardware.

[0055] The data receiving unit 501 receives transmission data including data such as measurement data and representative values, and additional information indicating the acquisition time or acquisition period of the data, from the transmitting device 101. The data receiving unit 501 also receives the transmission data transmitted by the transmitting device 101 using the wireless communication device 317. Alternatively, the data receiving unit 501 receives the transmission data transmitted by the transmitting device 101 via the gateway 111, the information terminal 112, etc., using the network I / F 314.

[0056] The data processing unit 502 stores data included in the transmission data received by the data receiving unit 501 in the storage unit 505 etc. The data processing unit 502 shown in Fig. 5 includes a first processing unit 502a and a second processing unit 502b.

[0057] When the transmission data received by the data receiving unit 501 includes data and the acquisition time (e.g., a timestamp) at which the data was acquired, the first processing unit 502a stores the data as measurement data in the memory unit 505 in association with the acquisition time.

[0058] When the transmission data received by the data receiving unit 501 includes data and an acquisition period of the data, the second processing unit 502b stores the data included in the transmission data as a representative value of the acquisition period in association with the acquisition time included in the acquisition period in the storage unit 505 etc. Note that the processes of the first processing unit 502a and the second processing unit 502b may be executed by one data processing unit 502.

[0059] The display control unit 503, for example, graphs the transition of the measurement data from the past to the present based on the measurement data and the acquisition time thereof stored by the data processing unit 502 in the storage unit 505 or the like, and displays it on the display device 315 or the like. For example, the display control unit 503 displays on the display device 315 a line graph or a bar graph in which the horizontal axis represents the acquisition time and the vertical axis represents the value of the measurement data.

[0060] The operation reception unit 504 receives input operations by the user using the input device 316 or the like.

[0061] The function of the storage unit 505 is realized by the program executed by the CPU 311, the storage device 313, the memory 312, etc., and stores various information and data such as the measurement data stored by the data processing unit 502 and information on the acquisition date and time.

[0062] <Processing flow> Next, the process flow of the data communication method according to this embodiment will be described.

[0063] (Transmitter processing) Fig. 6 is a flowchart showing the process of the transmitting device according to an embodiment of the present invention, Fig. 6 shows the overall flow of the process in which the transmitting device 101 acquires measurement data and transmits it to a destination.

[0064] In S601, the data management unit 402 defines, for example, three recording blocks (block A 201, block B 202, and block C 203), each of which can store 10 pieces of data, as shown in FIG. 2, and initializes a pointer indicating the next recording position of each block.

[0065] Note that the number of recording blocks "3" and the number of data in each recording block "10" shown in Fig. 2 are just examples. The number of recording blocks may be another number equal to or greater than 2. The number of data recordable in each recording block may be another number equal to or greater than 2, or may be a different number for each recording block.

[0066] In S602, the data management unit 402 reserves storage areas for three blocks, a block A 201, a block B 202, and a block C 203, as shown in FIG.

[0067] In S603, the data management unit 402 secures three storage areas for additional information corresponding to the three recording blocks, respectively, in the storage unit 404. Note that the storage areas for additional information may be included in the three recording blocks.

[0068] In S604, the transmitting device 101 obtains the current time.

[0069] In S605, the transmitting device 101 determines whether it is time to measure based on the acquired current time. For example, the transmitting device 101 determines that it is time to measure when a preset first time has elapsed since the previous acquisition of measurement data.

[0070] If it is measurement timing, in S606, the transmitting device 101 executes measurement processing, which will be described later with reference to Fig. 7. On the other hand, if it is not measurement timing, the transmitting device 101 shifts the process to S607 without executing measurement processing.

[0071] In S607, the transmitting device 101 determines whether it is time to transmit based on the acquired current time. For example, if a preset second time has elapsed since the previous data transmission, the transmitting device 101 determines that it is time to transmit the data stored in the recording block.

[0072] If it is transmission timing, the transmitting device 101 executes transmission processing in S608, which will be described later with reference to Fig. 8. On the other hand, if it is not transmission timing, the transmitting device 101 shifts the process to S609 without executing transmission processing.

[0073] In S609, the transmitting device 101 determines whether or not to end the process. When a preset process end time is reached, or when a user's end operation is received, the transmitting device 101 determines to end the process and ends the process in FIG.

[0074] If it is determined not to end the process, the transmitting apparatus 101 returns the process to S604 and executes the processes from S604 onwards again.

[0075] (Measurement processing) 7 is a flowchart showing a measurement process according to an embodiment. This process shows an example of the measurement process executed by the transmission device 101 in S606. In the measurement process, measurement data is acquired from a sensor, and the acquired measurement data is stored in a recording block.

[0076] In S701, the data management unit 402 sets "0" to block_count, which is a counter for recording blocks, and selects block A201.

[0077] In S702, the data acquisition unit 401 acquires measurement data and stores it in an area current_data for storing the latest data.

[0078] In S703, the data management unit 402 records the measurement data stored in current_data in data_count[block_count], which is the next write position of the recording block indicated by block_count.

[0079] By this process, when block_count is "0", measurement data is recorded in the next write position data_count[block_count] of the block A201 corresponding to block_count=0.

[0080] In S704, the data management unit 402 acquires the acquisition time of the measurement data recorded in S703, and records additional information including the acquisition time in the storage area for additional information in the block A201 corresponding to the measurement data.

[0081] In S705, the value of data_count[block_count] is incremented.

[0082] In S706, the data management unit 402 determines whether the value of data_count[bloc_count] is smaller than the maximum number of data items (N_MAX_DATA) in the recording block.

[0083] If the value of data_count[bloc_count] is smaller than N_MAX_DATA (S706 YES), the data management unit 402 ends the process in Fig. 7. On the other hand, if the value of data_count[bloc_count] is equal to or larger than N_MAX_DATA (S706 NO), the data management unit 402 determines that data has been recorded up to the end of the recording block, which is the circular buffer, and moves the process to S707.

[0084] In S707, the data management unit 402 resets the value of data_count[block_count] to "0".

[0085] In S708, the data management unit 402 calculates the average value of the data recorded in the recording block indicated by block_count, and stores the average value in current_data. Note that the average value is an example of a representative value, and the representative value may be other values ​​such as a maximum value, a minimum value, a median value, or a standard deviation.

[0086] In S709, it is determined whether the value of block_count is smaller than the maximum value of the recording block (N_MAX_BLOCK). By this process, the data management unit 402 can determine whether the next recording block exists.

[0087] If the value of block_count is smaller than N_MAX_BLOCK (S709 YES), the data management unit 402 increments the value of block_count and returns the process to S703. On the other hand, if the value of block_count is equal to or larger than N_MAX_BLOCK (S709 NO), the data management unit 402 ends the process of FIG.

[0088] When the process returns to S703, block_count is set to "1" and the process from S703 onwards is executed again with block B202 selected.

[0089] In S703, the data management unit 402 records the data stored in current_data in data_count[block_count], which is the next write position of the recording block indicated by block_count. Since block_count is "1" here, the average value of the data stored in block A201, which is stored in current_data, is recorded in the next write position of the corresponding block B202.

[0090] In S704, the data management unit 402 records the additional information corresponding to the measurement data recorded in S703 in a storage area of ​​the additional information corresponding to the measurement data. Since the block_count is "1" here, the additional information including the acquisition period corresponding to the average value is recorded in the storage area of ​​the additional information of the block B202 corresponding to the average value recorded in the block B202. For example, the data management unit 402 acquires the acquisition times of the multiple measurement data recorded in the block A201 by referring to the additional information. In addition, the data management unit 402 records, as an example, the acquisition times of the measurement data, the acquisition interval of the measurement data, the number of pieces of measurement data, and the like recorded in the addresses A_0 to A_9 of the block A201 as the acquisition period corresponding to the average value in the additional information.

[0091] In S705, the value of data_count[block_count] is incremented.

[0092] In S706, the data management unit 402 judges whether the value of data_count[bloc_count] is smaller than N_MAX_DATA of the recording block. If the value of data_count[bloc_count] is smaller than N_MAX_DATA (S706 YES), the data management unit 402 ends the process in Fig. 7. On the other hand, if the value of data_count[bloc_count] is not smaller than N_MAX_DATA (S706 NO), the data management unit 402 shifts the process to S707.

[0093] In S707, the data management unit 402 resets the value of data_count[block_count] to "0".

[0094] In S708, the data management unit 402 calculates the average value of the data recorded in the recording block indicated by block_count.

[0095] In S709, the data management unit 402 judges whether the value of block_count is smaller than the maximum value of the recording block (N_MAX_BLOCK). If the value of block_count is smaller than N_MAX_BLOCK (S709 YES), the data management unit 402 increments the value of block_count and returns the process to S703. This makes block_count=2, and the process from S703 onwards is executed in block C203.

[0096] On the other hand, if the value of block_count is equal to or greater than N_MAX_BLOCK, the data management unit 402 ends the process of FIG.

[0097] Through the above process, the transmitting device 101 sequentially stores the acquired measurement data in the block A201, and when the measurement data is recorded in the last address A_9, the transmitting device 101 returns the next write pointer to the first address A_0. Furthermore, when the recording in the block A201 is completed, the transmitting device 101 can calculate the average value (representative value) of the data stored in the block A201 and record it in the block B202.

[0098] Similarly, when the recording in block B202 is completed, the transmitting device 101 calculates a representative value of the data stored in block B202 and records the representative value in block C203. In this way, the transmitting device 101 accumulates the measurement data while saving memory area for older data, and accumulates relatively new data as the original data without processing it.

[0099] (Transmission process) 8 is a flowchart showing a transmission process according to an embodiment of the present invention, which illustrates an example of the transmission process executed by the transmission device 101 in S608.

[0100] In S801, the data transmission unit 403 weights a plurality of recording blocks, selects a recording block that stores data to be transmitted from among the plurality of recording blocks based on the weighting, and sets a variable indicating the selected recording block to block_select. For example, the data transmission unit 403 executes the block selection process shown in FIG. 9 to select a recording block to transmit data.

[0101] In S802, the data transmission unit 403 selects data to be transmitted from among the multiple pieces of data recorded in the selected recording block, and sets the selected data to data_select. For example, the data transmission unit 403 randomly selects data to be transmitted from among the multiple pieces of data recorded in the selected recording block. Alternatively, the data transmission unit 403 weights the multiple pieces of data recorded in the selected recording block, and randomly selects data to be transmitted based on the weighting.

[0102] In S803, the data transmission unit 403 sets the data selected in S802 in send_data, which is the data area of ​​the transmission data.

[0103] In S804, the data transmission unit 403 sets the additional information of the data selected in S802 to send_info, which is the additional information field of the transmission data. If the selected data is measurement data, this additional information includes information on the acquisition time when the measurement data was acquired. If the selected data is an average value (representative value), this additional information includes information on the acquisition period indicating the period when the average data was acquired.

[0104] In S805, the data transmission unit 403 transmits transmission data including data to be transmitted (send_Data) and additional information (send_info) corresponding to the data to a destination such as the receiving device 102 via wireless communication.

[0105] (Block selection process) 9 is a flowchart showing a block selection process according to an embodiment of the present invention, which illustrates an example of the block selection process executed by the transmitting device 101 in S801.

[0106] In S901, the data transmission unit 403 generates a random number in the range of 0 to 99, for example, and stores the generated random number in a rand area.

[0107] In S902, the data transmission unit 403 determines whether the number of blocks is 2. Here, the number of blocks indicates the number of recording blocks, and the number of blocks=2 indicates that the number of recording blocks is two.

[0108] When the number of blocks is 2, there are two recording blocks, block A 201 and block B 202, so the data transmission unit 403 shifts the process to S903. On the other hand, when the number of blocks is not 2, the data transmission unit 403 shifts the process to S906.

[0109] In S903, the data transmission unit 403 determines whether the value of the generated random number rand is smaller than 70. If the value of rand is smaller than 70, the data transmission unit 403 shifts the process to S904. On the other hand, if the value of rand is 70 or greater, the data transmission unit 403 shifts the process to S905.

[0110] In S904, the data transmission unit 403 sets the value of block_select to "0" and selects block A201.

[0111] On the other hand, when the process proceeds to S905, the data transmission unit 403 sets the value of block_select to "1" and selects block B202.

[0112] By the above process, when the number of recording blocks is two, the data transmission unit 403 can use random numbers to select block A201 with a probability of 70% and block B202 with a probability of 30%. The above probability is an example, and other values ​​may be used. In this case, measures may be taken such as changing the number of random numbers to be generated or changing the threshold value of the random numbers used in the determination in S903.

[0113] On the other hand, when the process proceeds from S902 to S906, the data transmission unit 403 judges whether or not the number of blocks is 3. Note that the number of blocks is 3, which indicates that the number of recording blocks is three.

[0114] If the number of blocks is 3, there are three recording blocks, block A 201 to block C 203, and so the data transmission unit 403 shifts the process to S907. On the other hand, if the number of blocks is not 3, the data transmission unit 403 shifts the process to S913. Note that the process of S906 may be executed before S902.

[0115] In S907, the data transmission unit 403 determines whether the value of the generated random number rand is smaller than 50. If the value of rand is smaller than 50, the data transmission unit 403 shifts the process to S908. On the other hand, if the value of rand is 50 or greater, the data transmission unit 403 shifts the process to S909.

[0116] In S908, the data transmission unit 403 sets the value of block_select to "0" and selects block A201.

[0117] On the other hand, when the process proceeds to S909, the data transmission unit 403 determines whether or not the value of the generated random number rand is smaller than 75. If the value of rand is smaller than 75, the data transmission unit 403 proceeds to S911. On the other hand, if the value of rand is 75 or greater, the data transmission unit 403 proceeds to S912.

[0118] In S911, the data transmission unit 403 sets the value of block_select to "1" and selects block B202.

[0119] On the other hand, when the process proceeds to S912, the data transmission unit 403 sets the value of block_select to "2" and selects block C203.

[0120] By the above process, when the number of recording blocks is 3, the data transmission unit 403 can use random numbers to select block A201 with a probability of 50%, and block B202 and block C203 with a probability of 25% each. Note that the above probabilities are just examples and may be other values.

[0121] On the other hand, when the process proceeds from S906 to S913, the data transmission unit 403 judges whether or not the number of blocks is 1. Note that the number of blocks is 1, which indicates that the number of recording blocks is one.

[0122] If the number of blocks=1, the only recording block is block A201, so the data transmission unit 403 shifts the process to S914. On the other hand, if the number of blocks is not 1, the data transmission unit 403 shifts the process to S915.

[0123] In S914, the data transmission unit 403 sets the value of block_select to "0" and selects block A201.

[0124] In S915, the data transmission unit 403 returns the value of block_select set in S902 to S914 to S801.

[0125] 2, the data transmission unit 403 according to this embodiment sets the weight of block B202 to be smaller than the weight of block A201, and sets the weight of block C203 to be smaller than the weight of block B202, for example, according to the value of rand. This allows the data transmission unit 403 to transmit the most recent measurement data to the destination with priority, while also transmitting past data. Next, the recording blocks selected by the data transmission unit 403 and the weighting of data will be described by taking a number of exemplary embodiments as examples.

[0126] [First embodiment] Fig. 10 is a diagram showing the weighting of recording blocks and data according to the first embodiment. Although the case where the number of recording blocks is 1 to 3 has been described in the flowchart of Fig. 9, the number of recording blocks may be 4 or more.

[0127] In the example of Figure 10, the weight of block A is set to 1 / 2, and the remaining weight 1 / 2 is assigned to blocks B, C, D, .... The weight of block B is set to 1 / 4 (= 1 / 2 x 1 / 2), and the remaining weight 1 / 4 is assigned to blocks C, D, .... The weight of block C is set to 1 / 8 (= 1 / 4 x 1 / 2), and the remaining weight 1 / 8 is assigned to blocks D, ....

[0128] In other words, if N is an integer equal to or greater than 1 and X is a rational number less than 1, the weight of the (N+1)th recording block is set to be X times the weight of the Nth recording block. With this method, the weight of each recording block can be easily determined even when the number of recording blocks is four or more.

[0129] In the example of Fig. 10, the data in each recording block is weighted equally, and data to be transmitted is selected with a probability according to the weighting. As a result, each data in block A is transmitted with a probability of 1 / 2*1 / 10=1 / 20. Similarly, each data in block B is transmitted with a probability of 1 / 4*1 / 10=1 / 40, each data in block C with a probability of 1 / 8*1 / 10=1 / 80, and each data in block D with a probability of 1 / 16*1 / 10=1 / 160.

[0130] [Second embodiment] Fig. 11 is a diagram showing recording blocks and weighting of data according to the second embodiment. Fig. 11 shows an example of weighting when equal weights are given to each data (addresses A_0 to A_9) in block A and block B+block C. In the example of Fig. 11, each recording block can store 10 data, and a weight of 1 / 11 is given to each data in block A, and a weight of 1 / 11 is given to blocks B and C together.

[0131] In Fig. 11, each data in block A is transmitted to the destination with a probability of 1 / 11. The probability that block B + block C are selected is also 1 / 11.

[0132] In addition, in FIG. 11, each data in block B (addresses B_0 to B_9) and block C are equally weighted at 1 / 11. Each data in block B is transmitted with a probability of 1 / 11*1 / 11=1 / 121. The probability that block C is selected is also 1 / 121. Furthermore, each data in block C is weighted at 1 / 11, and the data in block C is transmitted with a probability of 1 / 121*1 / 11=1 / 1331.

[0133] [Third embodiment] Fig. 12 is a diagram showing the weighting of recording blocks and data according to the third embodiment. In the second embodiment, the data in each recording block is weighted equally, but in the example shown in Fig. 12, the most recently acquired data (<present>) is weighted heavily.

[0134] In block A of Fig. 12, assume that the current data is recorded at address A_9. By setting a weight of 1 / 2 for the <current> data, the data stored at address A_9 is selected with a probability of 1 / 2.

[0135] The remaining 1 / 2 of the weight is then evenly allocated to the remaining 9 pieces of data (addresses A0 to A8) in block A and blocks B+C. In other words, the probability that data other than the <current> data in block A will be selected is 1 / 2. Therefore, the weight of the data at addresses A0 to A8 in block A is 1 / 2*1 / 10=1 / 20. The weights of blocks B and C are also set to 1 / 20.

[0136] In this case, the weight of each data in block B and block C is 1 / 20*1 / 11=1 / 220, and the weight of each data in block C is 1 / 220*1 / 11=1 / 2420.

[0137] The data transmission unit 403 selects data to be transmitted based on the weighting described in each of the above embodiments, whereby data randomly selected based on the weighting is transmitted. Furthermore, the data transmitting unit 403 transmits, for example, as shown in FIG. 13(A), transmission data 1310 including the selected data 1311 and corresponding additional information 1312 to a destination such as the receiving device 102.

[0138] As another example, the data transmission unit 403 may transmit the latest data 1321 and the time stamp 1322 of the latest data 1321 in addition to the selected data 1311 and the corresponding additional information 1312, as shown in FIG. 13(B).

[0139] [Fourth embodiment] Fig. 14 is a diagram showing recording blocks and weighting of data according to the fourth embodiment. In the example of Fig. 14, the latest data acquired by the data acquisition unit 401 is temporarily stored in a storage area (for example, address X_0) separate from blocks A to C, and the weight is set to "1". The weight of data at each address in block A is set to "1 / 11", and the weight of data at each address in block B is set to "1 / 11*1 / 11=1 / 121". Furthermore, the weight of data at each address in block C is set to "1 / 121*1 / 11".

[0140] 13B, the data transmitting unit 403 transmits transmission data 1320 including the latest data 1321 stored in address X_0, a timestamp 1322 of the latest data, data 1311 selected from blocks A to C, and additional information 1312 corresponding to the data 1311. This allows the data transmitting unit 403 to transmit past data selected based on the weighting while transmitting the latest measurement data every time. In this case, after transmitting the latest data 1321, the data transmitting unit 403 records the latest data 1321 in the next write destination of block A.

[0141] Furthermore, the data transmission unit 403 may transmit transmission data 1330 including a plurality of data and additional information 1331 together with the latest data 1321 and a timestamp 1322 of the latest data 1321, as shown in FIG. 13(C).

[0142] In the above embodiments, for example, the weights of each data in block B and each data in block C are equal, but the weights of the latest data in blocks B and C may also be set higher. For example, in block B, the latest data may be stored in a separate storage area, as in block A, and the weight of that storage area may be set higher than that of block B. This allows data transmission unit 403 to transmit the updated representative value preferentially when the representative value of block A is updated and recorded in block B. Similarly, in block C, the latest data may be stored in a separate storage area, and the weight of that storage area may be set higher than that of block C.

[0143] <Receiving device processing> 15 is a flowchart showing a data reception process according to an embodiment. This process shows an example of a process that the receiving device 102 executes when receiving transmission data transmitted by the transmitting device 101.

[0144] In S1501, the data receiving unit 501 receives transmission data 1310 including data 1311 and additional information 1312 corresponding to the data 1311, as shown in FIG. 13(A).

[0145] When the data 1311 is measurement data recorded in the block A201, the additional information 1312 includes information on the acquisition time (time stamp) indicating the date and time when the data 1311 was acquired. When the data 1311 is an average value recorded in the block B202 or the like, the additional information 1312 includes information on the acquisition period indicating the period during which the averaged measurement data was acquired.

[0146] In S1502, the data processing unit 502 judges whether the data 1311 included in the received transmission data 1310 is an average value or measurement data. If the additional information 1312 included in the transmission data 1310 includes an acquisition period, the data processing unit 502 judges that the data 1311 is an average value. On the other hand, if the additional information 1312 includes an acquisition time, the data processing unit 502 judges that the data 1311 is measurement data.

[0147] If the data 1311 is not the average value (if it is measurement data), the data processing unit 502 shifts the process to S1503. On the other hand, if the data 1311 is the average value, the data processing unit 502 shifts the process to S1505.

[0148] In S1503, the first processing unit 502a stores the data 1311 (rcv_data) in an index (writing position) corresponding to the acquisition time in the storage area (data_log) that stores the log data. As a result, the data 1311 is stored in the storage area that stores the log data in association with the acquisition time at which the data 1311 was acquired.

[0149] In S1504, the display control unit 503 creates a graph showing the transition of the measurement data from the oldest data to the current data, for example, and displays it on the display device 315.

[0150] On the other hand, when the process moves from S1502 to S1505, the counter i that counts the write positions in the storage area that stores the log data is initialized to 0, and the processes from S1506 onwards are executed.

[0151] In S1506, the second processing unit 502b judges whether data of a lower level block is stored in data_log [oldest index in the averaging period+i]. For example, it is assumed that the data 1311 included in the transmission data 1310 received by the data receiving unit 501 is an average value of 10 pieces of measurement data measured at acquisition times t0, t1, t2, ..., t9. In this case, the additional information 1312 included in the transmission data 1310 includes information such as the start date and time t0, the data acquisition interval Δt, and the number of pieces of data n as the acquisition period. Therefore, the averaging period obtained by averaging the transmission data received in step S1501 can be expressed as "t0" to "t0 + Δt x n".

[0152] Here, "the oldest index in the averaging period + i" indicates an index corresponding to the acquisition time "t0 + Δt × i" in data_log that stores the log data. Also, the data in the low-level block represents non-averaged measurement data, or data averaged over a shorter averaging period than the averaging period for averaging the transmission data received in step S1501.

[0153] In S1506, the second processing unit 502b determines whether or not measurement data (data of a low-level block) is stored at an index corresponding to the acquisition time "t0+Δt×i" in data_log that stores log data.

[0154] If there is no low-level block data (S1506 NO), the second processing unit 502b shifts the process to S1507. On the other hand, if there is low-level block data (S1506 YES), the second processing unit 502b shifts the process to S1508.

[0155] In S1507, the second processing unit 502b stores the data 1311 (rcv_data) included in the transmission data 1310 received by the data receiving unit 501 in data_log [oldest index within the averaging period+i].

[0156] When no measurement data is stored in the index corresponding to the acquisition time "t0+Δt×i" in data_log by the above process, the average data 1311 is stored. On the other hand, when measurement data is stored in the index corresponding to the acquisition time "t0+Δt×i" in data_log, the average data 1311 is not stored, and the stored measurement data is maintained.

[0157] In S1508, the second processing unit 502b judges whether the value of i is smaller than the number of averaged data (the number of data included in a certain acquisition period). If the value of i is smaller than the number of averaged data, the second processing unit 502b shifts the process to S1509. On the other hand, if the value of i is equal to or larger than the number of averaged data, the second processing unit 502b shifts the process to S1504.

[0158] In S1509, the second processing unit 502b increments i, and returns the process to S1506.

[0159] Through the above processing, when measurement data is included in the transmission data 1310 received by the data receiving unit 501, the receiving device 102 stores the measurement data in a memory area that stores log data based on the acquisition time included in the additional information 1312.

[0160] In addition, in the receiving device 102, if an average value is included in the transmission data received by the data receiving unit 501 and no measurement data is stored during the acquisition period included in the additional information 1312, the log data is complemented using the average value by the processing of steps S1505 to S1609.

[0161] 15 is an example. For example, when an average value is included in the transmission data 1310 received by the data receiving unit 501, the receiving device 102 may store the average value in the storage unit 505 in association with information on the acquisition period of the average value.

[0162] In this case, the display control unit 503 of the receiving device 102 may display the most recent trend in the measurement data and the past average value on the display screen, or the average value may be expanded and the trend in the measurement data from the past may be displayed on the display screen.

[0163] As described above, according to each embodiment of the present invention, the transmitting device 101 that records a plurality of acquired data and transmits the data to a destination can easily obtain not only the latest measurement data but also past data.

[0164] Furthermore, according to the transmitting device 101 of this embodiment, relatively recent data can be recorded in a larger amount of data, and older data can be recorded in a smaller amount of data, thereby improving recording efficiency.

[0165] Also, when transmitting, the most recent data that is relatively important for applications such as monitoring and demonstrations can be transmitted frequently to the receiving device 102, while older data that is less noteworthy or urgent but still in demand can be transmitted less frequently.

[0166] Therefore, the receiving device 102 can acquire the transition and outline of the measurement data from the relatively distant past to the present in a relatively short period of time, and furthermore, it is expected that the real-time nature of the measurement data acquisition will not be significantly impaired.

[0167] The configurations shown in the above embodiments are merely examples of the contents of the present invention, and it is possible to omit or modify part of the configurations without departing from the gist of the present invention. [Explanation of symbols]

[0168] 100 data communication system, 101 transmitting device, 102 receiving device, 111 Gateway, 112 Information terminal, 201 Block A, 202 Block B, 203 Block C, 402 Data management unit, 403 Data transmission unit, 501 data receiving unit, 502a first processing unit, 502b second processing unit, 505 Memory section, 1312 Additional information

Claims

1. A transmitting device that records and transmits acquired data, a plurality of recording blocks for recording data, each of which is formed of a circular buffer; a data management unit that records a representative value of data recorded in the recording block in another recording block different from the recording block when recording in the recording block is completed; a data transmission unit that weights the plurality of recording blocks and transmits data recorded in the plurality of recording blocks based on the weighting; having A transmitting device, wherein the data transmitting unit randomly determines the data to be transmitted based on the weighting.

2. The transmitting device according to claim 1 , wherein the data transmitting unit transmits additional information indicating an acquisition time or an acquisition period of the data together with the data.

3. The plurality of recording blocks are set such that a weight of an (N+1)th recording block is X times a weight of an Nth recording block, 3. The transmitting device according to claim 1, wherein N is an integer equal to or greater than 1, and X is a rational number less than 1.

4. The transmitting device according to claim 1 , wherein the data transmitting unit transmits the data recorded in the plurality of recording blocks to a receiving device or a relay device that transfers the data to the receiving device by wireless communication.

Citation Information

Patent Citations

  • Measured data memory

    JP1995128084A

  • Information collection system

    JP2006323440A

  • Data processor

    JP2007093424A

  • Recording device

    JP2010271190A

  • Compound type measurement system

    JP2018092232A