Patent Publication Number: US-2023155788-A1

Title: Slave terminal, monitoring system, and wireless transmission method

Description:
TECHNICAL FIELD 
     The present disclosure relates to a slave terminal that wirelessly transmits status data relating to a condition of a monitoring target to a master terminal, a wireless transmission method, and a monitoring system for monitoring physical conditions of livestock in which the livestock animals as monitoring targets are equipped with the slave terminal. 
     BACKGROUND ART 
     One type of such a slave terminal, which wirelessly transmits data to a master terminal regularly, has hitherto been known (see, for example, Patent Document 1). 
     RELATED ART DOCUMENT 
     Patent Document 
     
         
         Patent Document 1: Japanese Patent No. 4552813 (paragraph [0075] and FIG. 4) 
       
    
     SUMMARY OF THE INVENTION 
     Technical Problem to be Solved by the Invention 
     The conventional slave terminal, in the case where a plurality of slave terminals is used per one master terminal, entailed problems such as cumbersome settings required for avoiding interference, and increased power consumption because of repeated wireless transmissions for avoiding interference. Accordingly, the present disclosure provides a technique that enables interference avoidance in a less cumbersome manner and with less power consumption than before. 
     Means of Solving the Problem 
     A slave terminal according to a first aspect of the present disclosure made to solve the above problem is a slave terminal including: a data transmission unit that wirelessly transmits status data relating to a condition of a monitoring target to a monitoring apparatus in response to a transmission trigger at every fixed period; a reply check unit that determines whether or not an ACK signal was sent back from the monitoring apparatus in response to the status data that was transmitted; an adjustment value calculation unit that determines an adjustment period of a random length when the reply check unit has determined that there was no reply; a timing update unit that outputs a measurement start trigger after the adjustment period has elapsed when the reply check unit has determined that there was no reply, the timing update unit outputting the measurement start trigger without the adjustment period when the reply check unit has determined that there was a reply; and a trigger generation unit that outputs the transmission trigger after counting the fixed period in response to the measurement start trigger. 
     A slave terminal according to a second aspect of the present disclosure is a slave terminal including: a data transmission unit that wirelessly transmits status data relating to a condition of a monitoring target to a monitoring apparatus in response to a transmission trigger at every fixed period; a reply check unit that determines whether or not an ACK signal was sent back from the monitoring apparatus in response to the status data that was transmitted; an adjustment value calculation unit that determines an adjustment period of a random length when the reply check unit has determined that there was no reply; a trigger generation unit that sequentially generates the transmission trigger at every fixed period; and a timing update unit provided to the trigger generation unit, the timing update unit shifting timings of generation of transmission triggers that are sequentially generated thereafter from a timing of generation of a current transmission trigger by the adjustment period when the reply check unit has determined that there was no reply. 
     A wireless transmission method according to a third aspect of the present disclosure is a wireless transmission method for wirelessly transmitting status data relating to a condition of a monitoring target from a slave terminal to a monitoring apparatus at every fixed period, wherein when the slave terminal has received an ACK signal from the monitoring apparatus in response to a transmission of the status data, the status data to be sent thereafter at every fixed period is transmitted at a timing that is the same as a current transmission timing, whereas, when the slave terminal has not received an ACK signal, the status data to be sent thereafter at every fixed period is transmitted at a timing that is shifted by a randomly determined adjustment period from a current transmission timing. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG.  1    is a schematic diagram illustrating an overall configuration of a monitoring system according to one embodiment of the present invention. 
         FIG.  2    is a block diagram illustrating an electrical configuration of a slave terminal and a master terminal. 
         FIG.  3    is a block diagram illustrating a control configuration of the slave terminal and master terminal. 
         FIG.  4    is a time chart showing trigger generation timings. 
         FIG.  5    is a flowchart of a first control program. 
         FIG.  6    is a flowchart of a second control program. 
         FIG.  7    is a block diagram illustrating a control configuration of a slave terminal and a master terminal according to a second embodiment. 
         FIG.  8    is a time chart showing trigger generation timings. 
         FIG.  9    is a flowchart of a first control program  1 V. 
         FIG.  10    is a flowchart of a second control program  2 V. 
     
    
    
     MODE FOR CARRYING OUT THE INVENTION 
     First Embodiment 
     A first embodiment of the monitoring system  100  according to the present disclosure will be described with reference to  FIG.  1    to  FIG.  6   . The monitoring system  100  of this embodiment shown in  FIG.  1    includes a plurality of slave terminals  20  left in stomachs  10 S (specifically, first or second chamber of stomach) of a plurality of cows  10  that is to be monitored, a master terminal  30 , and a cloud server  50 . These are connected to each other via a communication network  101  including wireless base stations  400  and  401 , so that data relating to conditions of cows  10  wirelessly transmitted from the plurality of slave terminals  20  is received by the master terminal  30  and collected in the cloud server  50 . The master terminal  30  and cloud server  50  correspond to a “monitoring apparatus” in the claims. 
     As shown in  FIG.  2   , the slave terminal  20  is equipped with a pressure sensor  70 , a circuit board  71 , a battery  72 , etc., contained inside a waterproof case  73 . The pressure sensor  70  has a pressure-receiving surface that is exposed to the outside of the waterproof case  73 . A measurement unit  21  made up of the pressure sensor  70  and a measurement circuit  74  measures pressure inside the stomach  10 S, which is one of the conditions of the cow  10 . 
     The circuit board  71  includes an oscillation circuit  75 , a wireless circuit  76 , a control circuit  77 , etc., mounted thereon. The oscillation circuit  75  has an oscillator as a main part, and provides the wireless circuit  76  and control circuit  77  with a periodic signal based on which carrier waves are sent or time is measured. The wireless circuit  76  sends and receives wireless signals and includes an antenna  29 , which is for example a coil antenna printed on the circuit board  71 . The control circuit  77  has a microcomputer  23  as a main part, which includes a CPU  23 A, a ROM  23 B, and a RAM  23 C. The ROM  23 B stores identification numbers assigned to respective slave terminals  20 , and first and second control programs PG 1  and PG 2  to be described later (see  FIG.  5    and  FIG.  6   ). The CPU  23 A repeatedly executes the first and second control programs PG 1  and PG 2  in predetermined cycles to operate as control blocks such as a data transmission unit  22 , a trigger generation unit  25 , etc., in  FIG.  3   . 
     Pressure data measured by the measurement unit  21  of the slave terminal  20  is wirelessly transmitted by the wireless circuit  76  and received by the master terminal  30 . The master terminal  30 , operable as a relay base station and a protocol converter, is installed in a cowhouse or farm, for example, where a plurality of cows  10  is being raised. The master terminal  30  sends the data transmitted from the slave terminal  20  to the cloud server  50  via a general-purpose communication line  300 . The cloud server  50  compares the pressure data sent from the plurality of slave terminals  20 , identifies the slave terminal  20  that has sent abnormal pressure data, for example, and sends a notification to a user terminal  60  owned by a livestock owner (see  FIG.  1   ). While one master terminal  30  is connected to one cloud server  50  in this embodiment, a plurality of master terminals  30  may be connected to one cloud server  50 , with the master terminal  30  being installed in each of cowhouses or farms, for example. 
     The master terminal  30  includes a wireless circuit  31 , a control circuit  32 , a communication circuit  33 , and an oscillation circuit  34 . The control circuit  32  includes a CPU  32 A, a ROM  32 B, and a RAM  32 C, and executes a predetermined control program (not shown) stored in the ROM  32 B to operate as control blocks such as a data receiving and processing unit  35 A, an ACK signal transmission unit  35 B, etc., in  FIG.  3   . The ROM  32 B also stores an identification number of the master terminal  30 . 
     To be more specific, the trigger generation unit  25  of the slave terminal  20  shown in  FIG.  3    includes a first trigger generation unit  25 A and a second trigger generation unit  25 B. The first trigger generation unit  25 A generates a first trigger TG 1  and gives it to the measurement unit  21 . The timing of generation of the first trigger TG 1  is set by a timing update unit  24 . To be more specific, upon receiving a measurement start trigger TG 3  from the timing update unit  24 , the first trigger generation unit  25 A generates the first trigger TG 1  after the elapse of a fixed period T 4  (e.g., 10 minutes). In response to this, the measurement unit  21  measures the pressure inside the stomach  10 S of the cow  10 . A status data generation unit  26  generates status data D 1  from the measurement result and gives it to the data transmission unit  22 . 
     The data transmission unit  22  generates transmission data D 2  wherein an identification number of the slave terminal  20  and pressure data are stored in a data frame of a predetermined data length. Each time the first trigger TG 1  is generated, the second trigger generation unit  25 B sequentially generates the transmission trigger TG 2  delayed by a prescribed delay time Δt 1  from the first trigger TG 1 , and wirelessly transmits the transmission data D 2  using the wireless circuit  76 . The prescribed delay time Δt 1 , which is set to 0.6 seconds in this embodiment, is for securing time for the status data generation unit  26  to generate transmission data D 2 . Hereinafter the data transmission unit  22  sending transmission data D 2  shall mean the same as the data transmission unit  22  wirelessly transmitting transmission data D 2  using the wireless circuit  76 . 
     When the data transmission unit  22  transmits transmission data D 2 , a reply check unit  27  determines whether or not the wireless circuit  76  has received an ACK signal sent in reply from the master terminal  30  before the elapse of a waiting period Δt 2 . Hereinafter, this will simply be expressed as the reply check unit  27  determining whether or not an ACK signal has been sent back. In this embodiment, the waiting period Δt 2  is set to 3 seconds, for example. 
     The data receiving and processing unit  35 A of the master terminal  30  adds a receipt time to the data sent from each slave terminal  20  and received by the wireless circuit  31  of the master terminal  30  and sends the data to the cloud server  50 . The data receiving and processing unit  35 A extracts an identification number of the slave terminal  20  included in the transmission data from each slave terminal  20  and gives it to the ACK signal transmission unit  35 B. In response, the ACK signal transmission unit  35 B generates an ACK signal wherein the identification number of the slave terminal  20  and the identification number of the master terminal  30  are stored in a predetermined data frame, and wirelessly transmits the ACK signal via the wireless circuit  31 . This allows the reply check unit  27  of each slave terminal  20  to determine whether or not the transmission data D 2  was received by the master terminal  30  based on whether or not an ACK signal including the identification number of its own has been received. 
     If the reply check unit  27  determines that no ACK signal was sent back, then an adjustment value calculation unit  28  determines an adjustment period Rt of a random length. The adjustment period Rt is for causing the transmission timings to be shifted from one another when interference occurs at the time of reception at the master terminal  30 . Then, after the reply check unit  27  has determined that no ACK signal was sent back, when the adjustment period Rt has elapsed, the timing update unit  24  generates the measurement start trigger TG 3 , and gives the trigger to the first trigger generation unit  25 A. As mentioned above, upon receiving the measurement start trigger TG 3 , the first trigger generation unit  25  generates the first trigger TG 1  after the elapse of the fixed period T 4 . 
     If the reply check unit  27  determines that an ACK signal was sent back, then the adjustment value calculation unit  28  sets the adjustment period Rt to “0.” In this case, the timing update unit  24  generates the measurement start trigger TG 3  immediately after the determination that an ACK signal was sent back, and gives the trigger to the first trigger generation unit  25 A. Namely, when there is interference at the time of reception at the master terminal  30 , the timing of generation of the first trigger TG 1  by the first trigger generation unit  25 A is delayed by the adjustment period Rt compared to a case where there is no interference. 
     When, after the generation of the first trigger TG 1  and elapse of the prescribed delay time Δt 1 , next transmission data D 2  is transmitted and the reply check unit  27  determines that no ACK signal was sent back, the adjustment value calculation unit  28  likewise sets a new adjustment period Rt of a random length. Therefore, the timing of generation of the measurement start trigger TG 3  to be given by the timing update unit  24  to the first trigger generation unit  25 A after that will be delayed by the new adjustment period Rt. 
     The slave terminal  20  of this embodiment shifts the timing of sending transmission data D 2  in this way by delaying the timing of next measurement by the measurement unit  21  when there is no ACK signal in reply to the transmission data D 2  that has been sent, and repeats this change of timing until an ACK signal is sent back. This obviates the need for setting transmission timings for the plurality of slave terminals  20  such as to be shifted from one another beforehand, since the transmission timings of all the slave terminals  20  are scheduled in sequence such as not to overlap as the slave terminals  20  repeat transmissions. 
       FIG.  4    illustrates a conceptual diagram of the timings of generation of various triggers described above. In  FIGS.  4   , TG 1 , TG 2 , and TG 3  respectively represent the timings of generation of the first trigger TG 1 , the transmission trigger TG 2 , and the measurement start trigger. H 1  represents the timing at which the data transmission unit  22  transmits transmission data D 2 . The adjustment value calculation unit  28  and data transmission unit  22  mentioned above will be described in more detail below with reference to  FIG.  4   . 
     The adjustment value calculation unit  28  determines the adjustment period Rt such as to vary randomly by unit of a prescribed allocation length T 3  within a range of a prescribed maximum amplitude T 2 , after the transmission data D 2  has been sent and the waiting period Δt 2  has elapsed. In this embodiment, the prescribed maximum amplitude T 2  is set to 1 minute, for example, which is 1/10 of the fixed period T 4  (e.g., 10 minutes), and the prescribed allocation length T 3  is set to 0.6 seconds. That is, the adjustment value calculation unit  28  determines a value obtained by multiplying a random number selected from 100 random numbers (=1 minute/0.6 seconds) by 0.6, which is the prescribed allocation length T 3 , as the adjustment period Rt. In this embodiment, transmission data D 2  wirelessly transmitted by the data transmission unit  22  has a data length (i.e., data length of a data frame) of, for example, 0.37 seconds. 
     In a concrete example of selecting one random number from 100 random numbers, for example, a value P of pressure measured by the measurement unit  21  is input to a random number generator function RAN(P) contained in the second control program PG 2  to be described later. To be more specific, for example, the random number generator function RAN(P) extracts upper four digits of the input value P of pressure, for example, and produces a random number by determining the remainder after dividing an integer consisting of numerals of the 4 digits by 100. In another possible configuration, for example, a random number calculation IC may be mounted on the circuit board  71 , and the remainder after dividing a random number output by this IC by 100 may be determined as one of the 100 random numbers from 0 to 99. 
     The data transmission unit  22  includes a carrier sense execution unit  22 C (see  FIG.  3   ). When the transmission trigger TG 2  is generated, the carrier sense execution unit  22 C performs a carrier sense before the transmission data D 2  is sent. When a transmission channel is determined to be available for the data transmission unit  22 , the transmission data D 2  is sent, and when no transmission channel is available, the data transmission unit does not send the transmission data D 2  and waits until a transmission channel becomes available. If no transmission channel is determined to be available until the elapse of time for transmission of the transmission data D 2  (0.37 seconds) from the generation of the transmission trigger TG 2 , the data transmission unit does not send the transmission data D 2 . 
     The first and second control programs PG 1  and PG 2  (see  FIG.  5    and  FIG.  6   ) executed by the CPU  23 A of the slave terminal  20  will be described below. The CPU  23 A executes the first and second control programs PG 1  and PG 2  every time it receives an interrupt signal at an interval of 0.6 seconds, for example, as a periodic signal output from the oscillation circuit  75 . “T 1 ” in the first control program PG 1  represents a counter for counting the time. “FLG 1 , FLG 2 , FLG 3 ” in the first and second control programs PG 1  and PG 2  represent flags, which are “0” in an initial state. “N 1 ” represents a set value for determining the length of the fixed period T 4  mentioned above. In this embodiment, N 1  is set to 1000 (=ten minutes×60 seconds/0.6 seconds) so that the fixed period T 4  is 10 minutes. “R” represents a variable that stores the random number. The initial value of R is “0.” For convenience of explanation, R shall be referred to as random number hereinafter. TOF(FLG, X) included in the first and second control programs PG 1  and PG 2  is a function, which normally outputs “0.” When FLG changes from “0” to “1”, interrupt signals from the oscillation circuit  75  at an interval of 0.6 seconds are counted by an internal counter, and when the count result matches X, the function outputs “1.” MOD(T, N) included in the first control program PG 1  is a function that outputs a remainder after dividing T by N. 
     As shown in  FIG.  5   , the CPU  23 A executing the first control program PG 1  determines whether or not FLG 3  is “1” (S 11 ), and if not “1,” then immediately exits the first control program PG 1  (NO at S 11 ). Namely, the CPU  23 A in effect executes the first control program PG 1  only when FLG 3  is set to “1” in the first control program PG 1  (which corresponds to when the reply check unit  27  described above determines whether or not an ACK signal was sent back). If FLG 3  is “1” (YES at S 11 ), then the CPU  23 A determines at step S 12  whether or not the number of counts of interrupt signals since FLG 3  was set to “1” from “0” has matched the random number R using the function TOF(FLG 3 , R). After the internal counter of the function TOF(FLG 3 , R) has counted R, the CPU increments the counter T 1  by 1 (S 13 ), and determines whether or not FLG 1  is “1” (S 14 ). If not “1” (NO at S 14 ), the CPU determines whether or not the number of counts has matched N 1  (S 13 ). If YES, then the CPU switches FLG 1  from “0” to “1” (S 16 ), and executes a measurement step (S 17 ). Here, the CPU  23 A executing step S 12  corresponds to the timing update unit  24  described above. Determining YES at step S 12  corresponds to generation of the measurement start trigger TG 3 . A value obtained by multiplying the random number R by 0.6 seconds, which is the period of interrupt signals, corresponds to the adjustment period Rt described above. The CPU  23 A executing step S 15  corresponds to the first trigger generation unit  25 A described above. Determining YES at step S 15  corresponds to generation of the first trigger TG 1 . Switching FLG 1  from “0” to “1” at step S 16  corresponds to the fixed period T 4  mentioned above having elapsed. 
     After executing the measurement step (S 17 ), the CPU  23 A operates as the status data generation unit  26 , i.e., receives a result of measurement by the pressure sensor  70  from the measurement circuit  74 , converts it into a digital signal, and generates pressure data. 
     The CPU  23 A determines whether or not the remainder after dividing “counter T 1 ” by N 1  is “1” (S 18 ) after the execution of the measurement step (S 17 ), and if YES, executes a transmission step (S 19 ). Here, the CPU  23 A executing step S 18  corresponds to the second trigger generation unit  25 B described above, i.e., the transmission trigger TG 2  is generated after the prescribed delay time Δt 1  (0.6 seconds) from the generation of the first trigger TG 1 . 
     The CPU  23 A executing the transmission step (S 19 ) corresponds to the data transmission unit  22 . In the transmission step (S 19 ), the CPU generates transmission data D 2 , performs the carrier sense, and sends the transmission data D 2  as the data transmission unit  22  as described in the foregoing. Depending on the result of the carrier sense, the transmission data D 2  may not be sent due to interference. 
     When the transmission step (S 19 ) is executed, FLG 2  is set to “1” from “0,” and FLG 1  is reset to “0” from “1” irrespective of whether or not the transmission data D 2  has been sent (S 20 ,  21 ). FLG 3  is reset to “0” from “1” (S 22 ), and lastly the counter T 1  is reset to “0,” whereupon the first control program PG 1  is ended (S 23 ). 
     As shown in  FIG.  6   , the CPU  23 A executing the second control program PG 2  determines whether or not FLG 2  is “1” (S 24 ), and if not “1,” then immediately exits the second control program PG 2  (NO at S 24 ). Namely, the CPU  23 A in effect executes the second control program PG 2  only when FLG 2  is set to “1” in the first control program PG 1  (only when the transmission step (S 20 ) was executed). The CPU  23 A then determines whether or not the wireless circuit  76  of the slave terminal  20  has received an ACK signal (S 25 ), and if an ACK signal has been received (YES at S 25 ), resets FLG 2  to “0,” sets FLG 3  to “1” from “0,” and exits the second control program PG 2  (S 28 ,  29 ). Here, switching FLG 3  from “0” to “1” at step S 29  corresponds to the reply check unit  27  described above determining whether or not an ACK signal was sent back. 
     When failing to receive an ACK signal (NO at S 25 ), the CPU determines at step S 26  whether or not the number of counts of interrupt signals since FLG 2  was set to “1” from “0” has matched  5  using the function TOF(FLG 2 ,  5 ). The CPU waits for an ACK signal until the internal counter of the function TOF(FLG 2 , 5 ) has counted  5 , i.e., until 3 seconds of the waiting period Δt 2  have passed after FLG 2  turned “1” (NO at S 26 ). If no ACK signal was received after the elapse of 3 seconds after FLG 2  turned “1” (NO at S 25 , YES at S 26 ), the CPU stores a value obtained by inputting the measurement result of pressure to the random number generator function RAN(P) mentioned above in the random number R (S 27 ), resets FLG 2  to “0,” sets FLG 3  to “1” from “0,” and exits the second control program PG 2  (S 28 ,  29 ). 
     The structure of the monitoring system  100  according to this embodiment has been described above. According to the monitoring system  100  that uses the plurality of slave terminals  20  of this embodiment, transmission data D 2  containing status data D 1  of a plurality of cows  10  that is to be monitored (data of pressure inside the stomachs  10 S) is sent at a certain interval to the master terminal  30  and accumulated in the cloud server  50 , so that changes in conditions of the plurality of cows  10  can be collectively monitored at the cloud server  50 . 
     When all the slave terminals  20  send transmission data D 2  to the master terminal  30  at a fixed interval of time T 4 , a situation could arise where interference occurs due to overlapping transmission timings, causing the master terminal  30  to fail to receive transmission data D 2  from some or all of the slave terminals  20  and to send back an ACK signal to the slave terminals  20 . 
     In the monitoring system  100  of this embodiment, the slave terminal  20  that did not receive an ACK signal sends transmission data D 2  at a timing shifted by delaying the timing of next measurement by the measurement unit  21  by a randomly determined adjustment period Rt. The adjustment period Rt is set to “0” for the slave terminal  20  that did receive an ACK signal so that the timing of next measurement by the measurement unit  21  is not shifted. This obviates the need for setting transmission timings for the plurality of slave terminals  20  such as to be shifted from one another beforehand, since the transmission timings of all the slave terminals  20  are scheduled in sequence such as not to overlap as the slave terminals  20  repeat transmissions. Namely, using the plurality of slave terminals  20  of this embodiment enables interference avoidance in a less cumbersome manner and with less power consumption than before. 
     The slave terminal  20  of this embodiment can shift the transmission timings of slave terminals  20  from one another to avoid interference without changing the overall schedule of the plurality of slave terminals  20  to transmit status data D 1  at every fixed period T 4 , since the prescribed maximum amplitude T 2  of the adjustment period Rt is 1/10 or less of the fixed period T 4 . The adjustment period Rt is determined such as to vary randomly by unit of the prescribed allocation length T 3  within a range of the prescribed maximum amplitude T 2 . Since the prescribed allocation length T 3  is 1/100 of the prescribed maximum amplitude T 2 , it is possible to avoid interference for up to 100 slave terminals  20 . 
     Failure to receive an ACK signal does not cause each slave terminal  20  to transmit again, which also helps avoid interference and reduce power consumption. Moreover, each slave terminal  20  transmitting after performing the carrier sense also helps avoid interference. 
     Second Embodiment 
     This embodiment differs from the first embodiment in that the timing of measurement by the measurement unit  21  is set to arrive at every fixed period T 4  irrespective of whether or not an ACK signal was sent back to a slave terminal  20 V, and the transmission timing of transmission data D 2  is shifted by an adjustment period Rt that is randomly determined when no ACK signal was sent back. Only the features of the slave terminal  20 V of this embodiment that are different from those of the slave terminal  20  of the first embodiment will be described below. 
     To be more specific, a trigger generation unit  25 V of the slave terminal  20 V includes a timing update unit  24 V, a first trigger generation unit  25 AV, and a second trigger generation unit  25 BV, as shown in  FIG.  7   . The first trigger generation unit  25 AV generates a first trigger TG 1 V sequentially at every fixed period T 4  and gives it to the measurement unit  21 . Similarly to the first embodiment, the measurement unit  21  measures the pressure inside the stomach  10 S of the cow  10 , and the status data generation unit  26  generates status data D 1  from the measurement result and gives it to the data transmission unit  22 . 
     The transmission trigger TG 2  is generated at a timing shifted from the first trigger TG 1 V by a period that is a sum of a prescribed delay time Δt 1  and an adjustment period Rt. To be more specific, each time the first trigger TG 1 V is generated, the second trigger generation unit  25 BV sequentially generates a second trigger TG 4  delayed from the first trigger TG 1 V by the prescribed delay time Δt 1 . In this embodiment, the prescribed delay time Δt 1  is set to 0.5 seconds. 
     The adjustment period Rt is for causing the transmission timings to be shifted from one another when interference occurs at the time of reception at the master terminal  30 . The adjustment period Rt in the initial setting is “0,” for example. Each time a second trigger TG 4  is generated, the timing update unit  24 V generates a transmission trigger TG 2  delayed from the second trigger TG 4  by the adjustment period Rt. In the initial state, the second trigger TG 4  and transmission trigger TG 2  are the same. In response to the transmission trigger TG 2 , the data transmission unit  22  wirelessly sends the transmission data D 2 . When the data transmission unit  22  sends the transmission data D 2 , the reply check unit  27  determines whether or not the wireless circuit  76  received an ACK signal sent in reply from the master terminal  30  before the elapse of the waiting period Δt 2 . The waiting period Δt 2  is set to 10 seconds, for example, in this embodiment. 
     If the reply check unit  27  determines that no ACK signal was sent back, then the adjustment value calculation unit  28  determines the adjustment period Rt of a random length. The transmission trigger TG 2  generated by the timing update unit  24 V after that is delayed from the second trigger TG 4  by the adjustment period Rt of a random length. In response to this transmission trigger TG 2 , the data transmission unit  22  sends the transmission data D 2 . 
     When next transmission data D 2  is transmitted after the elapse of the fixed period T 4  (e.g., 10 minutes) from then and the reply check unit  27  determines that no ACK signal was sent back, the adjustment value calculation unit  28  likewise sets a new adjustment period Rt of a random length. The transmission trigger TG 2  generated by the timing update unit  24 V after that is delayed from the second trigger TG 4  by the new adjustment period Rt. In response to this transmission trigger TG 2 , the data transmission unit  22  sends the transmission data D 2 . 
     If the reply check unit  27  determines that an ACK signal was sent back, then the adjustment value calculation unit  28  maintains the adjustment period Rt to the same length rather than determining a new adjustment period Rt. Therefore, the transmission trigger TG 2  generated by the timing update unit  24 V after that is delayed from the second trigger TG 4  by the adjustment period Rt that is the same length of the current adjustment period. In response to this transmission trigger TG 2 , the data transmission unit  22  sends the transmission data D 2 . 
       FIG.  8    illustrates a conceptual diagram of the timings of generation of various triggers described above. TG 1 V, TG 4 , and TG 2  respectively represent the timings of generation of the first trigger TG 1 V, the second trigger TG 4 , and the transmission trigger TG 2 . 
     As shown in  FIG.  8   , the first trigger generation unit  25 AV generates the first trigger TG 1 V at every fixed period T 4 , so that the timing of measurement by the measurement unit  21  is fixed to every fixed period T 4  irrespective of whether an ACK signal was sent back or not. The adjustment value calculation unit  28  determines the adjustment period Rt such as to vary randomly by unit of the prescribed allocation length T 3  within a range of the prescribed maximum amplitude T 2 , from the timing at which the status data generation unit  26  generates the transmission data D 2  (timing of generation of the second trigger TG 4 ). In this embodiment, the prescribed maximum amplitude T 2  is set to 1 minute, for example, which is 1/10 of the fixed period T 4  (e.g., 10 minutes), and the prescribed allocation length T 3  is set to 0.1 second. That is, the adjustment value calculation unit  28  determines a value obtained by multiplying a random number selected from 600 random numbers (=1 minute/0.1 second) by 0.1, which is the prescribed allocation length T 3 , as the adjustment period Rt. 
     In a concrete example of selecting one random number from 600 random numbers, similarly to the first embodiment, a value P of pressure measured by the measurement unit  21  is input to the random number generator function RAN(P) contained in the second control program PG 2 V to be described later. To be more specific, for example, the random number generator function RAN(P) extracts upper four digits of the input value P of pressure, for example, and produces a random number by determining the remainder after dividing an integer consisting of numerals of the 4 digits by 600. In another possible configuration, a random number calculation IC may be mounted on the circuit board  71 , and the remainder after dividing a random number output by this IC by 600 may be determined as one of 600 random numbers from 0 to 599. 
     The data length (i.e., data length of a data frame) of the transmission data D 2  wirelessly transmitted by the data transmission unit  22  is set to 0.01 second, for example, which is 1/10 of the prescribed allocation length T 3 . The data transmission unit  22  includes the carrier sense execution unit  22 C. When the transmission trigger TG 2  is generated, the carrier sense execution unit  22 C performs a carrier sense before the transmission data D 2  is sent. When a transmission channel is determined to be available for the data transmission unit  22 , the transmission data D 2  is sent, and when no transmission channel is available, the data transmission unit does not send the transmission data D 2  and waits until a transmission channel becomes available. If it is possible to finish transmitting the transmission data D 2  within a period from the generation of the transmission trigger TG 2  until the elapse of time of the prescribed allocation length T 3 , the data transmission unit sends the transmission data D 2 , and if not, the data transmission unit  22  does not send the transmission data D 2 . In the case where the data transmission unit  22  does not send the transmission data D 2 , the same processing is performed as that when transmission data D 2  was sent and no ACK signal was sent back. 
     In this embodiment, the CPU  23 A of the slave terminal  20 V executes first and second control programs PG 1 V and PG 2 V (see  FIG.  9    and  FIG.  10   ) corresponding to the first and second control programs PG 1  and PG 2  of the first embodiment. The first and second control programs PG 1 V and PG 2 V will be described below. The CPU  23 A executes the first and second control programs PG 1 V and PG 2 V every time it receives an interrupt signal at an interval of 0.1 second, for example, as a periodic signal output from the oscillation circuit  75 . In this embodiment, N 1  is set to 6000 (=ten minutes×60 seconds/0.1 second) so that the fixed period T 4  is 10 minutes. “FLG 4 ” in the first control program PG 1 V represents a flag, which is “0” in the initial state. 
     As shown in  FIG.  9   , the CPU  23 A executing the first control program PG 1 V determines whether or not the remainder after dividing “counter T 1 +1” by 6000 is “1” (S 11 V), and if the remainder is “1” (YES at S 11 V), then executes a measurement step (S 12 V). Namely, the CPU  23 A executing this step S 11 V corresponds to the first trigger generation unit  25 AV described above. Determining YES at step S 11 V corresponds to generation of the first trigger TG 1 V. 
     Upon executing the measurement step (S 12 V), the CPU  23 A operates as the status data generation unit  26 , i.e., receives a result of measurement by the pressure sensor  70  from the measurement circuit  74 , converts it into a digital signal, and generates pressure data. 
     After executing the measurement step (S 12 V), the CPU  23 A determines whether or not FLG 4  is “1” (S 13 V), and if not “1” (NO at S 13 V), then determines whether or not the remainder after dividing “counter T 1 +1” by 6000 is “5” (S 14 V), and if YES, switches FLG 4  from “0” to “1.” Here, switching FLG 4  from “0” to “1” corresponds to the generation of the second trigger TG 4  described above, and the CPU  23 A executing the step S 14 V described above corresponds to the second trigger generation unit  25 BV described above. Through steps S 13 V to S 15 V, the second trigger TG 4  is generated after the prescribed delay time Δt 1  (0.5 seconds) from the generation of the first trigger TG 1 V. 
     When FLG 4  has switched from “0” to “1,” the function TOF(FLG 4 , R) at step S 16 V determines whether or not the number of counts of interrupt signals from then has matched the random number R. Since the initial value of random number R is “0,” the number of counts of interrupt signals matches the random number R immediately after FLG 4  has switched from “0” to “1,” so that the function TOF(FLG 4 , R) outputs “1” (YES at S 16 V), and a transmission step (S 17 V) is executed. When the random number R is set to other values than “0,” the transmission step (S 17 V) is executed after the elapse of time until the number of counts of interrupt signals since FLG 4  switched from “0” to “1” has matched the random number R. Namely, a value obtained by multiplying the random number R by 0.1 second, which is the period of interrupt signals, corresponds to the adjustment period Rt described above. 
     Here, the CPU  23 A executing step S 16 V corresponds to the timing update unit  24 V described above. Determining YES at step S 16 V corresponds to generation of the transmission trigger TG 2 . The CPU  23 A executing the transmission step (S 17 V) corresponds to the data transmission unit  22 . In the transmission step (S 17 V), the CPU generates transmission data D 2 , performs the carrier sense, and sends the transmission data D 2  as the data transmission unit  22  as described in the foregoing. Depending on the result of the carrier sense, the transmission data D 2  may not be sent due to interference. 
     When the transmission step (S 17 V) is executed, FLG 3  is set to “1” from “0,” and FLG 4  is reset to “0” from “1” irrespective of whether or not the transmission data D 2  has been sent. (S 18 V,  19 V). The first control program PG 1 V lastly increments the counter T 1  by 1 (S 20 V) and is ended. 
     As shown in  FIG.  10   , the CPU  23 A executing the second control program PG 2 V determines whether or not FLG 2  is “1” (S 24 V), and if not “1,” then immediately exits the second control program PG 2 V (NO at S 21 ). Namely, the CPU  23 A in effect executes the second control program PG 2 V only when FLG 2  is set to “1” in the first control program PG 1 V (only when the transmission step (S 17 V) was executed). The CPU  23 A then determines whether or not the wireless circuit  76  of the slave terminal  20 V has received an ACK signal (S 25 V), and if an ACK signal has been received (YES at S 5 V), resets FLG 2  to “0,” and exits the second control program PG 2 V (S 28 V). 
     When failing to receive an ACK signal (NO at S 25 V), the CPU determines at step S 23  whether or not the number of counts of interrupt signals since FLG 2  was set to “1” from “0” has matched  100  using the function TOF(FLG 2 ,  100 ). The CPU waits for an ACK signal until the internal counter of the function TOF(FLG 2 , 100 ) has counted  100 , i.e., until 10 seconds have passed after FLG 2  turned “1” (NO at S 26 V). If no ACK signal was received after the elapse of 10 seconds after FLG 2  turned “1” (NO at S 25 V, YES at S 26 V), the CPU stores a value obtained by inputting the measurement result of pressure to the random number generator function RAN(P) mentioned above in the random number R, resets FLG 2  to “0,” and exits the second control program PG 2 V (S 28 V). 
     According to the monitoring system  100  of this embodiment, the timing of measurement by the measurement unit  21  is set to arrive at every fixed period T 4  irrespective of whether or not an ACK signal was sent back, and the slave terminal  20  that did not receive an ACK signal sends the transmission data D 2  at a timing shifted by the adjustment period Rt that is randomly determined. The slave terminal  20  that did receive an ACK signal transmits at a timing that is the same as the current transmission timing. This configuration provides similar advantageous effects as those of the slave terminal  20  of the first embodiment. 
     Since the prescribed maximum amplitude T 2  of the adjustment period Rt is 1/10 or less of the fixed period T 4  for the slave terminal  20 V of this embodiment, the transmission timings of slave terminals  20  can be shifted from one another to avoid interference while the overall schedule of the plurality of slave terminals  20  transmitting the status data D 1  at every fixed period T 4  is not changed. The adjustment period Rt is determined such as to vary randomly by unit of the prescribed allocation length T 3  within a range of the prescribed maximum amplitude T 2 . Since the prescribed allocation length T 3  is 1/600 of the prescribed maximum amplitude T 2 , it is possible to avoid interference for up to 600 slave terminals  20 . 
     Moreover, the slave terminal  20 V of this embodiment is able to prevent interference that may be caused by a transmission timing delayed due to the carrier sense, since the data transmission unit  22  transmits only when the period after the generation of the transmission trigger TG 2  and a determination by the carrier sense execution unit  22 C until the completion of transmission of the status data D 1  is shorter than the prescribed allocation T 3 , which is set for the timing of generation of the transmission trigger TG 2  by the timing update unit  24 . Slave terminals  20  that did not send transmission data D 2  due to interference in accordance with the result of the carrier sense, transmit at a timing shifted by a randomly determined adjustment period Rt after the fixed period T 4  thereafter, similarly to the slave terminals  20  that did not receive an ACK signal. Interference is thus avoided smoothly. 
     Other Embodiments 
     (1) The prescribed maximum amplitude T 2  of the adjustment period Rt is set to 1/10 or less of the fixed period T 4  for the slave terminal  20  in the embodiments described above. As long as the prescribed maximum amplitude T 2  of the adjustment period Rt is shorter than the fixed period T 4 , the prescribed maximum amplitude T 2  may be set to any value. In the case where the transmission data D 2  from the plurality of slave terminals  20  is monitored at every fixed period T 4 , the prescribed maximum amplitude T 2  of the adjustment period Rt should preferably be ½ or less of the fixed period T 4 .
 
(2) The slave terminal  20  in the above embodiments performs the carrier sense when sending the transmission data D 2 . Instead, the slave terminal may be configured to send the transmission data D 2  without carrier sensing.
 
(3) The reply check unit  27  discards the transmission data D 2  to which it determined no ACK signal was sent back in the above embodiments. Instead, previous transmission data D 2  may be sent with new transmission data D 2  in the next transmission after the fixed period T 4 .
 
(4) In the second embodiment, the timing of generation of a transmission trigger TG 2  is shifted forward or backward as the case may be from the current generation timing if no ACK signal is sent back. The generation timing may instead be either delayed only, or advanced only, from the current generation timing of the transmission trigger TG 2 .
 
(5) The monitoring system  100  is used for monitoring livestock in the embodiments described above. The monitoring system  100  may be used for monitoring plants, conditions of various parts of a vehicle, or conditions in a chemical plant.
 
(6) Other sensors such as a temperature sensor or acceleration sensor may be connected to the measurement circuit  74  instead of or in addition to the pressure sensor  70  in the slave terminals  20  and  20 V to measure the body temperature or behavior as a condition of the cow  10 .
 
     In the case where an acceleration sensor is connected, the CPU  23 A of the slave terminal  20  or  20 V may be configured to integrate acceleration data measured by the acceleration sensor and acquired several times during a period in which pressure data or temperature data measured by the pressure sensor  70  or a temperature sensor is acquired once. 
     While specific examples of the techniques included in the claims are disclosed in the specification and drawings, the techniques set forth in the claims are not limited to these specific examples but rather include various modifications and alterations of the specific examples, as well as partial extracts from the specific examples. 
     DESCRIPTION OF THE REFERENCE NUMERAL 
     
         
         
           
               10  Cow (livestock, monitoring target) 
               10 S Stomach 
               20 ,  20 V Slave terminal 
               21  Measurement unit 
               22  Data transmission unit 
               22 C Carrier sense execution unit 
               24 ,  24 V Timing update unit 
               25 ,  25 V Trigger generation unit 
               26  Status data generation unit 
               27  Reply check unit 
               28  Adjustment value calculation unit 
               30  Master terminal (monitoring apparatus) 
               50  Cloud server (monitoring apparatus) 
               70  Pressure sensor 
               73  Waterproof case 
             D 1  Status data 
             D 2  Transmission data 
             P Pressure 
             PG 1  First control program 
             PG 1 V First control program  1 V 
             PG 2  Second control program 
             PG 2 V Second control program  2 V 
             Rt Adjustment period 
             T 3  Prescribed allocation length (shifted period) 
             T 4  Fixed period 
             TG 2  Transmission trigger 
             TG 3  Measurement start trigger 
             ΔT 1  Prescribed delay time