Radio communication system, radio terminal, and update method
Patent Information
- Application Number
- JP2023125687
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-08-01
- Publication Date
- 2025-02-14
AI Technical Summary
【0007】 本開示によれば、無線端末がソフトウェアを更新するための更新データをブロードキャストで送信することによって、更新データを要求した無線端末以外の無線端末に当該更新データを送信することができるため、複数の無線端末のソフトウェアを迅速に更新することができる。
Smart Images

Figure 2025021751000001_ABST
Abstract
Description
[Technical field]
[0001] The present disclosure relates to a wireless communication system, a wireless terminal, and a method for updating software in a wireless communication system. [Background technology]
[0002] Conventionally, a wireless communication system in which a plurality of wireless terminals communicate with each other is known. For example, in JP 2022-174205 A (Patent Document 1), a plurality of wireless terminals are connected to each other via a repeater in a network. A server is connected to this network, and the server centrally manages various data held by the plurality of wireless terminals in the network. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] Patent Publication No. 2022-174205 Summary of the Invention [Problem to be solved by the invention]
[0004] In a wireless communication system such as that shown in Patent Document 1, it is necessary to update the software of multiple wireless terminals included in the network, but it may take an excessively long time to complete the software update of all wireless terminals included in the network. For this reason, it is desired to speed up the time required to update the software of all wireless terminals included in the wireless communication system.
[0005] An object of the present disclosure is to provide a technique capable of quickly updating software of multiple wireless terminals in a wireless communication system including multiple wireless terminals. [Means for solving the problem]
[0006] A wireless communication system according to the present disclosure includes a first wireless terminal storing a first software, a second wireless terminal storing a second software, and a third wireless terminal storing a third software. The first wireless terminal transmits an update request signal to the second wireless terminal requesting update data for updating the first software, and the second wireless terminal transmits an update response signal including the update data by broadcast to the first wireless terminal in response to the update request signal, the first wireless terminal updates the first software based on the update response signal, and the third wireless terminal updates the third software based on the update response signal when receiving the update response signal transmitted by broadcast. Effect of the Invention
[0007] According to the present disclosure, by broadcasting update data for a wireless terminal to update software, the update data can be transmitted to wireless terminals other than the wireless terminal that requested the update data, thereby enabling the software of multiple wireless terminals to be quickly updated. [Brief description of the drawings]
[0008] [Figure 1] FIG. 1 is a diagram showing a configuration of a wireless communication system according to the first embodiment. [Diagram 2] FIG. 2 is a diagram for explaining a schematic configuration of a wireless terminal. [Diagram 3] FIG. 3 is a diagram for explaining state transitions of the wireless terminal in the first embodiment. [Figure 4] FIG. 4 is a diagram for explaining a first state in firmware update. [Diagram 5] FIG. 5 is a diagram for explaining the second state in firmware update. [Figure 6] FIG. 6 is a flowchart for explaining the process in the INIT state. [Figure 7] FIG. 7 is a diagram for explaining the third state in firmware update. [Figure 8]FIG. 8 is a flowchart for explaining the process in the SCAN state. [Figure 9] FIG. 9 is a flowchart of the parent device determination process. [Figure 10] FIG. 10 is a diagram for explaining the fourth state in firmware update. [Figure 11] FIG. 11 is a flowchart for explaining the process in the UPDATE state. [Figure 12] FIG. 12 is a flowchart illustrating the reception process of the UPDATE response. [Figure 13] FIG. 13 is a flowchart for explaining the processing in the CONNECTED state. [Figure 14] FIG. 14 is a diagram for explaining the fifth state in firmware update. [Figure 15] FIG. 15 is a diagram for explaining the sixth state in firmware update. [Figure 16] FIG. 16 is a diagram illustrating a first comparative example of firmware update. [Figure 17] FIG. 17 is a diagram for explaining the seventh state in firmware update. [Figure 18] FIG. 18 is a diagram for explaining the eighth state in firmware update. [Figure 19] FIG. 19 is a diagram illustrating a second comparative example of firmware update. [Figure 20] FIG. 20 is a flowchart illustrating the process in the UPDATE state in the second embodiment. [Figure 21] FIG. 21 is a flowchart illustrating the update process of the parent unit. [Figure 22] FIG. 22 is a diagram for explaining a first state in the parent unit determination process in the third embodiment. [Figure 23] FIG. 23 is a flowchart of a parent device determination process according to the third embodiment. [Figure 24]FIG. 24 is a diagram for explaining the second state in the parent unit determination process in the third embodiment. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0009] [Description of the embodiments of the present disclosure] First, the embodiments of the present disclosure will be listed and described.
[0010] (1) A wireless communication system according to the present disclosure includes a first wireless terminal storing first software, a second wireless terminal storing second software, and a third wireless terminal storing third software. The first wireless terminal transmits an update request signal to the second wireless terminal requesting update data for updating the first software, and the second wireless terminal transmits an update response signal including the update data to the first wireless terminal in response to the update request signal by broadcast, the first wireless terminal updates the first software based on the update response signal, and the third wireless terminal updates the third software based on the update response signal when receiving the update response signal transmitted by broadcast. According to the wireless communication system of (1) above, software of a plurality of wireless terminals can be updated quickly.
[0011] (2) In the wireless communication system according to (1) above, the update response signal includes at least one of a plurality of divided data pieces obtained by dividing the update data. According to the wireless communication system according to (2) above, the amount of data required for one data transmission can be reduced.
[0012] (3) In the wireless communication system according to (2) above, the first wireless terminal transmits an update request signal to the second wireless terminal, requesting at least one divided data that has not been received, and the second wireless terminal transmits the at least one divided data requested by the update request signal by including the signal in an update response signal and broadcasting the signal to the first wireless terminal. According to the wireless communication system according to (3) above, it is possible to prevent divided data that has already been received by the child device from being redundantly transmitted from the parent device, thereby speeding up firmware update processing in the entire wireless communication system.
[0013] (4) In the wireless communication system according to (3) above, the first wireless terminal uses a random number to determine at least one piece of divided data requested by the update request signal from among at least one piece of divided data that has not been received. According to the wireless communication system of (4) above, it is possible to prevent duplicated divided data from being received and to speed up firmware update processing in the entire wireless communication system.
[0014] (5) In the wireless communication system according to (3) or (4) above, when the third wireless terminal receives an update response signal including at least one divided data transmitted by broadcast, the third wireless terminal updates the third software based on at least one divided data. According to the wireless communication system according to (5) above, the divided data can be received by a wireless terminal in a SCAN state, not in an UPDATE state.
[0015] (6) In the wireless communication system according to any one of (1) to (5) above, the first wireless terminal transmits a search request signal requesting version information of the second software to the second wireless terminal, the second wireless terminal transmits a search response signal including the version information of the second software to the first wireless terminal in response to the search request signal received from the first wireless terminal, and if the version information of the second software is newer than the version information of the first software, the first wireless terminal determines that the second wireless terminal is the target to which the update request signal is to be transmitted. According to the wireless communication system of (6) above, update data can be exchanged between the parent unit and the child unit.
[0016] (7) In the wireless communication system according to (6) above, when the version information of the second software is newer than the version information of the first software and the radio wave strength of the search response signal received from the second wireless terminal is equal to or greater than a threshold, the first wireless terminal determines the second wireless terminal as the target to which the update request signal is to be transmitted. According to the wireless communication system of (7) above, since the parent device is determined taking into consideration the radio wave strength, it is possible to prevent the occurrence of a parent device-child device relationship between wireless terminals that are likely to experience data loss, and to speed up the firmware update process.
[0017] (8) In the wireless communication system according to (6) above, when the version information of the second software is newer than the version information of the first software and the number of wireless terminals with which the second wireless terminal can wirelessly communicate is greater than the other wireless terminals, the first wireless terminal determines the second wireless terminal as the target to which the update request signal is to be transmitted. According to the wireless communication system of (8) above, by transmitting an UPDATE request once, it is possible to cause many wireless terminals to receive UPDATE responses.
[0018] (9) In the wireless communication system according to (6) above, the first wireless terminal, after determining that the second wireless terminal is the target to which the update request signal is to be transmitted, transmits a search request signal to the other wireless terminal, and if the version information of the software of the other wireless terminal is newer than the version information of the first software and the radio wave strength of the search response signal received from the other wireless terminal is higher than the radio wave strength of the search response signal received from the second wireless terminal, updates the target to which the update request signal is to be transmitted from the second wireless terminal to the other wireless terminal. According to the wireless communication system of (9) above, it is possible to exchange UPDATE requests and UPDATE responses with a parent device with higher radio wave strength.
[0019] (10) A wireless terminal in the present disclosure includes a storage device that stores software, a wireless communication device for communicating with multiple wireless terminals, and a control device. The control device controls the wireless communication device to broadcast an update response signal including the update data to a child wireless terminal of the multiple wireless terminals in response to receiving an update request signal requesting update data for updating the software of the child wireless terminal from the child wireless terminal of the multiple wireless terminals. According to the wireless communication system of (10) above, the software of the multiple wireless terminals can be quickly updated.
[0020] (11) A wireless terminal in the present disclosure includes a storage device that stores software, a wireless communication device for communicating with multiple wireless terminals, and a control device. When the control device receives an update response signal including update data broadcast by a parent wireless terminal among the multiple wireless terminals that has received an update request signal from a child wireless terminal among the multiple wireless terminals requesting update data for updating software of the child wireless terminal, the control device updates the software based on the update response signal. According to the wireless communication system of (11) above, it is possible to quickly update the software of the multiple wireless terminals.
[0021] (12) An update method in the present disclosure is a method for updating software in a wireless communication system. The wireless communication system includes a first wireless terminal that stores a first software, a second wireless terminal that stores a second software, and a third wireless terminal that stores a third software. The update method includes a step in which the first wireless terminal transmits an update request signal to the second wireless terminal requesting update data for updating the first software, a step in which the second wireless terminal transmits an update response signal including the update data by broadcast to the first wireless terminal in response to the update request signal, a step in which the first wireless terminal updates the first software based on the update response signal, and a step in which the third wireless terminal updates the third software based on the update response signal when receiving the update response signal transmitted by broadcast. According to the wireless communication system of (12) above, software of a plurality of wireless terminals can be quickly updated.
[0022] [Details of the embodiment of the present disclosure] Hereinafter, embodiments of the present disclosure will be described in detail with reference to the drawings. In the drawings, the same or corresponding parts are designated by the same reference characters and their description will not be repeated.
[0023] <Embodiment 1> Fig. 1 is a diagram showing a configuration of a wireless communication system 1000 according to a first embodiment. As shown in Fig. 1, the wireless communication system 1000 includes a server Sr1 and a plurality of wireless terminals 100A-100G. The wireless communication system 1000 according to the first embodiment is applied to, for example, a factory. Each of the wireless terminals 100A-100G acquires and holds data indicating the states of a plurality of equipment devices installed in the factory. The server Sr1 collects the data acquired by each of the wireless terminals 100A-100G and performs centralized management.
[0024] 1, seven wireless terminals 100A to 100G are shown as the multiple wireless terminals. The wireless terminals 100A to 100G each have the same configuration. Hereinafter, the wireless terminals 100A to 100G may be collectively referred to as "wireless terminal 100."
[0025] FIG. 1 shows a state in which firmware is installed in all of the wireless terminals 100A-100G. Firmware is a program that determines the operation of the wireless terminal 100. That is, each of the wireless terminals 100A-100G operates according to the firmware. The version of firmware installed in the wireless terminals 100A-100G may be updated to a new version by an administrator who manages the wireless communication system 1000. In the example shown in FIG. 1, all firmware in the wireless terminals 100A-100G is the same version (FW1). Hereinafter, firmware of version FW1 may be referred to as "firmware FW1", firmware of version FW2 may be referred to as "firmware FW2", and firmware of version FW3 may be referred to as "firmware FW3".
[0026] Each of the wireless terminals 100A to 100G acquires data indicating the status of equipment in a factory, and transmits the acquired data to the server Sr1. In the wireless communication system 1000 in the first embodiment, among the wireless terminals 100A to 100G, only the wireless terminal 100A directly transmits and receives data to the server Sr1. Hereinafter, the wireless terminal 100A connectable to the server Sr1 may be referred to as a "controller." In other words, the controller means a wireless terminal that can directly transmit and receive data to and from the server Sr1. The wireless terminal 100A is preset to operate as a controller.
[0027] The communication between the wireless terminals 100A to 100G is performed by wireless communication. The communication between the wireless terminals 100A to 100G is wireless multi-hop communication using a communication protocol such as ZigBee conforming to IEEE 802.15.4, Bluetooth (registered trademark) conforming to IEEE 802.15.1, and UWB (Ultra Wide Band) conforming to IEEE 802.15.3a. The communication between the controller and the server Sr1 may be wired communication or wireless communication.
[0028] The wireless terminals 100B to 100G transmit data indicating the status of the facility equipment to the server Sr1 via the wireless terminal 100A, which is the controller. For example, the wireless terminal 100B transmits data acquired by the wireless terminal 100B itself to the wireless terminal 100A. The wireless terminal 100A transmits data received from the wireless terminal 100B to the server Sr1. That is, the wireless terminal 100A functions as a relay device that relays between the wireless terminal 100B and the server Sr1.
[0029] The wireless terminals 100B to 100G may be located in positions where they cannot directly communicate wirelessly with the wireless terminal 100A that is the controller. For example, the wireless terminal 100D is located in a position where it can directly communicate wirelessly with the wireless terminal 100B, but is located in a position where it cannot directly communicate wirelessly with the wireless terminal 100A. Therefore, the wireless terminal 100D first transmits data acquired by itself to the wireless terminal 100B.
[0030] Thereafter, the wireless terminal 100B transmits the data received from the wireless terminal 100D to the wireless terminal 100A. That is, the wireless terminal 100B functions as a relay device that relays data between the wireless terminal 100D and the wireless terminal 100A. Similarly to the wireless terminal 100B, the wireless terminals 100C to 100G can also function as relay devices that relay data.
[0031] Fig. 2 is a diagram for explaining a schematic configuration of the wireless terminal 100. Each of the wireless terminals 100A to 100G has the same configuration, which is the configuration shown in Fig. 2. The wireless terminal 100 includes a processor 110, a wireless communication device 120, an input / output interface 130, a storage device 140, and an antenna ANT. The processor 110, the wireless communication device 120, the input / output interface 130, and the storage device 140 are each connected via a bus.
[0032] The processor 110 is a computing entity (computer) that executes various processes by executing various programs. The processor 110 includes, for example, a CPU (Central Processing Unit) and an MPU (Micro-Processing Unit). The processor 110 has a function of executing various processes by executing programs, and some or all of these functions may be application-specific integrated circuits such as a field programmable gate array (FPGA) and an application specific integrated circuit (ASIC). The term "processor" is not limited to a processor in the narrow sense that executes processes in a stored program manner, such as a CPU or an MPU, but may include hardwired circuits such as an ASIC or an FPGA. For this reason, the processor 110 may be read as a processing circuitry in which processing is defined in advance by computer-readable code and / or a hardwired circuit. The processor 110 may be configured as one chip or multiple chips. Furthermore, the processor 110 and related processing circuits may be configured as multiple computers that are interconnected by wire or wirelessly via a local area network or a wireless network. The processor 110 and associated processing circuitry may be configured as a cloud computer that performs computations remotely based on input data and outputs the results of the computations to other devices at remote locations.
[0033] The wireless communication device 120 transmits and receives data via the antenna ANT in response to an instruction from the processor 110. The input / output interface 130 receives data from the sensor 200. The sensor 200 is, for example, a sensor for acquiring the state of an equipment. The sensor 200 is a device for acquiring a specific physical quantity, and detects physical quantities such as temperature, humidity, current, acceleration, gyro, and pressure, and converts the detected physical quantity from an analog signal to a digital signal.
[0034] The input / output interface 130 outputs data received from the sensor 200 to the processor 110. The processor 110 causes the wireless communication device 120 to output the data received from the sensor 200 from the antenna ANT so as to transmit the data to the server Sr1. When the wireless communication device 120 receives data from another wireless terminal 100 via the antenna ANT, the wireless communication device 120 relays the data to the wireless terminal 100 located near the server Sr1.
[0035] The storage device 140 stores various programs executed by the processor 110 or various data. The storage device 140 may be one or more non-transitory computer readable media, or one or more computer readable storage media. The storage device 140 is, for example, a hard disk drive (Hard Disc: HD) or a solid-state drive (SSD). The storage device 140 may be an optical medium such as a CD or a DVD.
[0036] The storage device 140 non-temporarily stores firmware for operating the wireless terminal 100 and version information of the firmware. The storage device 140 also stores a control program. The control program is a program for the processor 110 to execute the flowcharts described below. That is, the processor 110 executes the process of each step shown in the flowcharts described below by executing the control program stored in the storage device 140. The storage device 140 can also temporarily store data acquired from the sensor 200.
[0037] <Wireless terminal state transition> 3 is a diagram for explaining state transitions of the wireless terminal 100 in the embodiment 1. In the embodiment 1, the state of the wireless terminal 100 is controlled to any one of an INIT (INITIAL) state, a SCAN state, an UPDATE state, a SETUP state, and a CONNECTED state.
[0038] The INIT state is a so-called initial state, and is a state into which the wireless terminal 100 transitions when power is supplied from a state in which power is not being supplied. In the first embodiment, the wireless terminals 100B to 100G are configured to transition to the INIT state when the connection with the controller (wireless terminal 100A) is cut off. The wireless terminal 100 in the INIT state transitions to the SCAN state after executing an initial setting process.
[0039] The SCAN state is a state in which the wireless terminal 100 searches for other wireless terminals 100 having newer versions of firmware in its surroundings. In the SCAN state, the wireless terminal 100 transmits a probe request signal at predetermined intervals. The probe request signal may correspond to the "search request signal" in this disclosure. The wireless terminal 100 in the SCAN state transmits the probe request signal by broadcast. That is, the wireless terminal 100 in the SCAN state transmits the probe request signal to all wireless terminals 100 located in its surroundings.
[0040] When the wireless terminal 100 is in a CONNECTED state, which will be described later, it returns a probe response signal based on receiving a probe request signal. The probe response signal may correspond to a "search response signal" in this disclosure. The wireless terminal 100 in the CONNECTED state includes firmware version information, a checksum, and the number of divided data pieces, which will be described later, in the probe response signal. The wireless terminal 100 transmits a probe response signal to the wireless terminal 100 that transmitted the probe transmission signal.
[0041] The wireless terminal 100 that receives the probe response signal compares its own firmware information with the firmware information included in the received probe response signal, and determines whether or not there is a wireless terminal 100 with new firmware in its vicinity. Hereinafter, the probe request signal may be simply referred to as a "probe request," and the probe response signal may be simply referred to as a "probe response."
[0042] When the wireless terminal 100 in the SCAN state determines that a wireless terminal 100 having new firmware is present around the wireless terminal 100, the wireless terminal 100 having the new firmware is determined as a parent terminal based on a predetermined condition. A wireless terminal 100 having an old firmware that has been determined as a parent terminal is called a child terminal. The child terminal receives new firmware data from the parent terminal and updates the firmware of the child terminal to a new version. The parent terminal may correspond to a "parent wireless terminal" in this disclosure. Also, the child terminal may correspond to a "child wireless terminal" in this disclosure. When the wireless terminal 100 determines one of the other wireless terminals 100 as a parent terminal, the wireless terminal 100 transitions to the UPDATE state. That is, the wireless terminal 100 in the UPDATE state functions as a child terminal.
[0043] The UPDATE state is a state in which new firmware data is obtained from another wireless terminal 100 having firmware newer than the wireless terminal's own firmware, and the wireless terminal 100, which is a child device, transmits an UPDATE request signal to the parent device to request new firmware data.
[0044] Based on receiving the UPDATE request signal, the master unit returns an UPDATE response signal including new firmware data. The UPDATE request signal may correspond to an "update request signal" in this disclosure, and will be simply referred to as an "UPDATE request" hereinafter. The UPDATE response signal may correspond to an "update response signal" in this disclosure, and will be simply referred to as an "UPDATE response" hereinafter. When the wireless terminal 100 in the UPDATE state finishes updating its own firmware, it transitions to the INIT state.
[0045] When the wireless terminal 100 in the SCAN state continues for a predetermined period of time without any wireless terminal 100 having new firmware in its vicinity, it transitions to the SETUP state. The SETUP state is a state in which a connection path to a controller (wireless terminal 100A) is set. The wireless terminal 100 in the SETUP state searches for a wireless terminal 100 having information about the controller (wireless terminal 100A) among other wireless terminals 100 in the vicinity, and sets a connection path to the controller (wireless terminal 100A).
[0046] When the wireless terminal 100 in the SETUP state completes setting a connection path with the controller, it transitions to the CONNECTED state. In the CONNECTED state, the data acquired by the sensor 200 is transmitted to the controller (wireless terminal 100A) via the connection path with the controller set in the SETUP state. The controller (wireless terminal 100A) transmits data indicating the status of the facility equipment received from each of the wireless terminals 100B to 100G to the server Sr1.
[0047] As described above, the wireless terminal 100A is preset to operate as a controller. The wireless terminal 100 preset to operate as a controller executes an initial setting process in an INIT state, and then transitions to a CONNECTED state. The following describes the order in which firmware of the wireless terminals 100A to 100G is updated in the wireless communication system 1000.
[0048] Fig. 4 is a diagram for explaining a first state in firmware update. For ease of explanation, Figs. 4 to 16 explain an example in which firmware is updated by focusing on only three wireless terminals 100A, 100B, and 100C. The wireless terminals 100B and 100C are located in positions where they can directly communicate wirelessly with the wireless terminal 100A. The wireless terminal 100B is located closer to the wireless terminal 100A than the wireless terminal 100C.
[0049] 4, firmware FW1 is installed in each of the wireless terminals 100A, 100B, and 100C. Furthermore, each of the wireless terminals 100A, 100B, and 100C is in a CONNECTED state.
[0050] A connection path Rt1 is set in the wireless terminal 100B for connecting to the wireless terminal 100A. A connection path Rt2 is set in the wireless terminal 100C for connecting to the wireless terminal 100A. The wireless terminals 100B and 100C transmit data acquired from the sensor 200 to the wireless terminal 100A via the connection paths Rt1 and Rt2, respectively. The wireless terminal 100A relays data received from the wireless terminals 100B and 100C to the server Sr1. The wireless terminal 100A also transmits data acquired by itself from the sensor 200 to the server Sr1. This allows the server Sr1 to centrally manage the status of the facility devices managed by each of the wireless terminals 100A, 100B, and 100C.
[0051] The wireless terminal 100A may correspond to a "second wireless terminal" and a "parent wireless terminal" in the present disclosure. The wireless terminal 100B may correspond to a "first wireless terminal" and a "child wireless terminal" in the present disclosure. The wireless terminal 100C may correspond to a "third wireless terminal" and an "other wireless terminal" in the present disclosure.
[0052] FIG. 5 is a diagram for explaining a second state in firmware update. As shown in FIG. 5, an administrator of the wireless communication system 1000 manually updates the firmware FW1 of the wireless terminal 100A to firmware FW2. The wireless terminal 100A restarts as the firmware is updated. As a result of the restart, the wireless terminal 100A transitions to an INIT state. Also, as a result of the restart of the wireless terminal 100A, the connection path between the wireless terminal 100A and the wireless terminals 100A and 100B is cut off, and the wireless terminals transition to an INIT state. As a result, as shown in FIG. 5, the wireless terminals 100A to 100C transition to the INIT state, and firmware FW2 is installed in the wireless terminal 100A, and firmware FW1 is installed in the wireless terminals 100B and 100C.
[0053] 6 is a flow chart for explaining the processing in the INIT state. Upon transitioning to the INIT state, the wireless terminal 100 performs an initial setting process (step S101). The initial setting process is a process of reading firmware information stored in its own storage device 140 and dividing data constituting the firmware into a predetermined number of pieces of data. In the first embodiment, the predetermined number is, for example, 200. Hereinafter, the divided data will be referred to as "divided data". The initial setting process also includes a process of generating a checksum for the data constituting the firmware.
[0054] 5, the wireless terminal 100A reads firmware FW2 and divides the data constituting firmware FW2 into 200 pieces of divided data. The wireless terminals 100B and 100C read firmware FW1 and divide the data constituting firmware FW1 into 200 pieces of divided data. This reduces the amount of data required for one data transmission.
[0055] The wireless terminal 100 judges whether or not it is a wireless terminal that is predetermined as a controller (step S102). If it is a wireless terminal that is predetermined as a controller (YES in step S102), the wireless terminal 100 transitions from the INIT state to the CONNECTED state. That is, in the example of FIG. 5, the wireless terminal 100A transitions its state from the INIT state to the CONNECTED state (step S103).
[0056] On the other hand, if the wireless terminal 100 is not a wireless terminal that is predetermined as a controller (NO in step S102), the wireless terminal 100 transitions from the INIT state to the SCAN state (step S104). That is, in FIG. 5, the wireless terminals 100B and 100C transition from the INIT state to the SCAN state.
[0057] Fig. 7 is a diagram for explaining the third state in firmware update. Fig. 7 shows the wireless terminals 100A, 100B, and 100C after executing the flow chart process of the INIT state described in Fig. 6. In Fig. 7, the state of the wireless terminal 100A is the CONNECTED state. The states of the wireless terminals 100B and 100C are the SCAN state.
[0058] 8 is a flowchart for explaining the process in the SCAN state. Upon transition to the SCAN state, the wireless terminal 100 broadcasts a probe request (step S201). That is, each of the wireless terminals 100B and 100C broadcasts a probe request to the other wireless terminals. After transmitting the probe request, the wireless terminal 100 executes a process for receiving an UPDATE response (step S202). The process for receiving an UPDATE response will be described later with reference to FIG. 12.
[0059] The wireless terminal 100 judges whether or not a probe response to the probe request transmitted in step S201 has been received (step S203). The probe response is a signal transmitted based on the wireless terminal 100 in the CONNECTED state receiving the probe request. In the example of Fig. 7, the wireless terminals 100B and 100C are located in positions where they can wirelessly communicate with the wireless terminal 100A in the CONNECTED state, and therefore receive a probe response from the wireless terminal 100A.
[0060] 7, if there is no wireless terminal 100 in the CONNECTED state within the range in which wireless communication is possible with the wireless terminal 100 in the SCAN state, the wireless terminal 100 does not receive the probe response (NO in step S203). In this case, the wireless terminal 100 determines whether or not three seconds have passed since transmitting the probe request in step S201 (step S204).
[0061] If three seconds have not passed since the probe request was transmitted (NO in step S204), the wireless terminal 100 returns the process to step S202. If three seconds have passed since the probe request was transmitted (YES in step S204), the wireless terminal 100 returns the process to step S201 and broadcasts a probe request again. That is, if the wireless terminal 100 in the SCAN state does not receive a probe response, it continues to transmit a probe request every three seconds. Note that in some situations, the interval for transmitting a probe request may be one second, five seconds, or ten seconds instead of three seconds.
[0062] When the wireless terminal 100 receives a probe response (YES in step S203), it acquires the firmware version and the number of divided data included in the probe response (step S205). As described above, in the first embodiment, the number of divided data is 200. In addition, the wireless terminal 100 that has received the probe response acquires an LQI (Link Quality Indicator) value (dB) at the time of receiving the probe response.
[0063] The LQI value is an index showing radio wave strength. Generally, radio wave strength attenuates as the transmission distance increases, and therefore, when radio waves are received from a wireless terminal located nearby, the radio wave strength becomes high. In the example of FIG. 7, the wireless terminal 100B is located closer to the wireless terminal 100A than the wireless terminal 100C, and therefore receives a probe response with a higher LQI value than the wireless terminal 100C. In some aspects, a received signal strength indication (RSSI) value may be used as an index for measuring radio wave strength, instead of the LQI value.
[0064] The wireless terminal 100 determines whether a predetermined period has elapsed (step S206). The predetermined period in step S206 is a waiting period for receiving probe responses from all surrounding wireless terminals 100. Since multiple wireless terminals 100 are arranged around the wireless terminal 100, there is a possibility that probe responses will be received from multiple wireless terminals 100. The predetermined period is a period of 15 seconds, 30 seconds, 1 minute, etc. from the time when the probe response is first transmitted in step S203.
[0065] If the predetermined period has not elapsed (NO in step S206), the wireless terminal 100 returns the process to step S201 and broadcasts a probe request again. By providing the predetermined period in step S206, the wireless terminal 100 can receive probe responses from a plurality of wireless terminals 100. That is, in the wireless communication system 1000, if a wireless terminal 100 in a CONNECTED state other than the wireless terminal 100A is present around the wireless terminals 100B and 100C, the wireless terminals 100B and 100C can also receive probe requests from the wireless terminals 100 in the CONNECTED state other than the wireless terminal 100A.
[0066] If the predetermined period has elapsed (YES in step S206), it is determined whether the firmware version information included in all the Probe responses received in step S203 is newer than the firmware version information stored in its own storage device 140 (step S207). That is, in step S207, the wireless terminal 100 determines whether its own firmware information should be updated.
[0067] If the wireless terminal 100 does not receive a Probe response including a firmware version newer than its own version (NO in step S207), the wireless terminal 100 transitions to the SETUP state (step S211). That is, as a result of receiving the Probe response from the surrounding wireless terminals 100, there is no surrounding wireless terminal 100 with new firmware installed, so there is no need to update the firmware, and the wireless terminal 100 transitions to a process of setting up a connection path with the controller.
[0068] If the firmware version included in the Probe response is newer than the firmware version of the wireless terminal 100 itself (YES in step S207), the wireless terminal 100 executes a process of determining a master terminal (step S208).
[0069] Fig. 9 is a diagram showing a flowchart of the parent device determination process. The wireless terminal 100 judges whether or not a probe response with an LQI value of 20 dB or more has been received among the probe responses received in step S203 of Fig. 8 (step S401). If a probe response with an LQI value of 20 dB or more has not been received (NO in step S401), the wireless terminal 100 ends the process without determining a parent device. If a probe response with an LQI value of 20 dB or more has been received (YES in step S401), the wireless terminal 100 determines, as a parent device, the wireless terminal 100 that has transmitted a probe response with the highest LQI value among the probe responses with an LQI value of 20 dB or more (step S402). In the wireless communication system 1000, update data is exchanged between the parent device and the child device.
[0070] In the example of FIG. 7, the wireless terminal 100B receives a probe response with an LQI value of 20 dB or more from the wireless terminal 100A. The wireless terminal 100C receives a probe response with an LQI value of less than 20 dB from the wireless terminal 100A. Each of the wireless terminals 100B and 100C does not receive a probe response from a wireless terminal 100 other than the wireless terminal 100A. Therefore, in the master device determination process in FIG. 9, the wireless terminal 100B determines the wireless terminal 100A as the master device, while the wireless terminal 100C ends the process without determining the wireless terminal 100A as the master device. Returning to FIG. 8, the wireless terminal 100 determines whether the master device determination is completed (step S209).
[0071] The LQI value when the wireless terminal 100C receives data from the wireless terminal 100A is lower than the LQI value when the wireless terminal 100B receives data from the wireless terminal 100A. Data loss may occur during data exchange between the wireless terminals 100C and 100A.
[0072] If the determination of the parent device has not been completed (NO in step S209), the wireless terminal 100 returns the process to step S201. If the determination of the parent device has been completed (YES in step S209), the wireless terminal 100 transitions to the UPDATE state (step S210). That is, in the example of FIG. 7, the wireless terminal 100B transitions from the SCAN state to the UPDATE state because it was able to determine the wireless terminal 100A as the parent device. On the other hand, the wireless terminal 100C was unable to determine the parent device, so it returns to step S201 and starts transmitting a Probe request again. That is, the wireless terminal 100C holds the SCAN state.
[0073] Fig. 10 is a diagram for explaining the fourth state in firmware update. Fig. 10 shows the state after the state of the wireless terminal 100B has transitioned to the UPDATE state. In Fig. 10, the state of the wireless terminal 100A is the CONNECTED state. The state of the wireless terminal 100C is the SCAN state. As shown in Fig. 10, the wireless terminal 100B in the UPDATE state transmits and receives an UPDATE request and an UPDATE response to and from the wireless terminal 100A that has been determined as the master device.
[0074] 11 is a flowchart for explaining the processing in the UPDATE state. Based on the transition to the UPDATE state, the wireless terminal 100 determines the number of the divided data to be requested from the parent device according to the first protocol (step S502). The divided data number is information for identifying the divided data. The wireless terminal 100, which is a child device, acquires the number of divided data (200 in the first embodiment) from the parent device in step S205. The 200 divided data are assigned numbers for identifying each divided data.
[0075] The wireless terminal 100, which is a child device, requests the parent device for the divided data that it does not have by including the number of the divided data that has not yet been received in an UPDATE request signal and transmitting it to the parent device. That is, it is possible to prevent the parent device from transmitting duplicate divided data that has already been received by the child device. Immediately after transitioning to the UPDATE state, the wireless terminal 100 in the UPDATE state has not received any of the 200 divided data.
[0076] The wireless terminal 100 in the UPDATE state determines, based on the first protocol, which number of the divided data to request from among the 200 pieces of divided data that have not yet been received. In the first embodiment, the wireless terminal 100 in the UPDATE state randomly determines the number of the divided data by using a random number. That is, the first protocol in the first embodiment is a protocol that randomly determines the divided data by using a random number.
[0077] After determining the number of the divided data, the wireless terminal 100 in the UPDATE state transmits the number of the divided data determined in step S502 to the parent device in an UPDATE request (step S503). When another wireless terminal 100 in the CONNECTED state receives the UPDATE request, the other wireless terminal 100 in the CONNECTED state transmits an UPDATE response by broadcast. The UPDATE response includes the divided data with the number included in the UPDATE request. The wireless terminal 100 in the UPDATE state executes a receiving process for the UPDATE response (step S504).
[0078] Fig. 12 is a flowchart for explaining the reception process of the UPDATE response. The flowchart in Fig. 12 is executed in step S504 in Fig. 11 and step S202 in Fig. 8. That is, the reception process of the UPDATE response in Fig. 12 can be executed not only in the UPDATE state but also in the SCAN state.
[0079] The wireless terminal 100 in the UPDATE state or SCAN state determines whether or not an UPDATE response has been received (step S301). If the wireless terminal 100 receives an UPDATE response (YES in step S301), the wireless terminal 100 stores the divided data included in the UPDATE response in the storage device 140 (step S302), and proceeds to step S303.
[0080] When the wireless terminal 100 in the UPDATE state or SCAN state does not receive the UPDATE response (NO in step S301), it proceeds to step S303 without storing the divided data. The wireless terminal 100 in the UPDATE state or SCAN state determines whether all the divided data have been received (step S303). That is, the wireless terminal 100 determines whether all 200 pieces of divided data have been received.
[0081] If the wireless terminal 100 in the UPDATE state or SCAN state has not yet received all the divided data (NO in step S303), it ends the UPDATE response reception process and returns to the flowchart of Fig. 8 or Fig. 11. If the wireless terminal 100 is in the UPDATE state, as shown in Fig. 11, after ending the UPDATE response reception process, the wireless terminal 100 returns the process to the process of step S502. As shown in Fig. 11, the wireless terminal 100 in the UPDATE state repeatedly transmits an UPDATE request to the parent device until it acquires all the divided data that has not yet been received.
[0082] When the wireless terminal 100 acquires the last piece of divided data, that is, when it determines that all of the divided data are available (YES in step S303), it combines the divided data. The wireless terminal 100 uses the checksum included in the Probe request to determine whether or not there is an abnormality in the configuration of the firmware generated by combining the divided data. If no abnormality has occurred, the wireless terminal 100 updates its own firmware to new firmware (step S304). That is, the wireless terminal 100 combines the 200 pieces of divided data into one piece of data and updates its own firmware. Based on the updated firmware, the wireless terminal 100 transitions to the INIT state (S305).
[0083] Here, attention is focused on the wireless terminal 100C in Fig. 10. As described in Figs. 8 and 9, the wireless terminal 100C is a wireless terminal that is unable to determine a master device and is maintaining a SCAN state because it was unable to receive a Probe response with an LQI value of 20 dB or more. That is, while an UPDATE request and an UPDATE response are being exchanged between the wireless terminal 100A and the wireless terminal 100B, the wireless terminal 100C repeats the processes of steps S201 to S203 and S205 to S209 in Fig. 8.
[0084] In the first embodiment, in addition to the wireless terminal 100B in the UPDATE state, the wireless terminal 100C in the SCAN state also receives the UPDATE response from the wireless terminal 100A in step S202 in Fig. 8. As a result, in the wireless communication system 1000 in the first embodiment, it is possible to cause the wireless terminal 100C in the SCAN state, not in the UPDATE state, to receive the divided data of the wireless terminal 100A.
[0085] 13 is a flowchart for explaining the process in the CONNECTED state. The wireless terminal 100 judges whether or not an UPDATE request has been received based on the transition to the CONNECTED state (step S701). If an UPDATE request has been received (YES in step S701), the wireless terminal 100 includes the divided data of the number included in the UPDATE request in an UPDATE response and transmits it by broadcast (step S702).
[0086] In the wireless communication system 1000 of the first embodiment, in step S702, the wireless terminal 100 in the CONNECTED state transmits an UPDATE response by broadcast, without targeting only the wireless terminal 100 that transmitted the UPDATE request. This allows the wireless communication system 1000 to transmit divided data not only to the wireless terminal 100 that transmitted the UPDATE request, but also to the wireless terminals 100 in the SCAN state that exist around the wireless terminal 100 in the CONNECTED state.
[0087] After transmitting the UPDATE response by broadcast, the wireless terminal 100 in the CONNECTED state determines whether or not a Probe request has been received (step S703). If the wireless terminal 100 in the CONNECTED state does not receive the UPDATE request (NO in step S701), the wireless terminal 100 proceeds to step S703 without transmitting the UPDATE response.
[0088] When the wireless terminal 100 in the CONNECTED state receives a Probe request (YES in step S703), it transmits a Probe response including its own firmware version information and the number of divided data pieces (step S704). When the wireless terminal 100 in the CONNECTED state does not receive a Probe request (NO in step S703), it returns the process to step S701 without transmitting a Probe response. Thus, in the first embodiment, the wireless terminal 100 in the CONNECTED state transmits a Probe response including its own firmware version information and the number of divided data pieces in response to a Probe request, and transmits an UPDATE response by broadcast in response to an UPDATE request.
[0089] The wireless terminal 100B that has transitioned to the INIT state in step S305 of Fig. 12 again executes the process of the INIT state shown in Fig. 6. That is, the wireless terminal 100B performs an initial setting process for firmware FW2 (step S101), and then transitions to the SCAN state (S104). Thereafter, there are no wireless terminals 100 having a firmware version newer than firmware FW2 around the wireless terminal 100B, and the wireless terminal 100B transitions to the SETUP state (step S211). In the SETUP state, the wireless terminal 100B sets a connection path Rt1 with the wireless terminal 100A, and then transitions from the SETUP state to the CONNECTED state.
[0090] 10, the wireless terminal 100C receives the UPDATE response broadcast by the wireless terminal 100A, similar to the wireless terminal 100B. Therefore, when the wireless terminal 100B receives all the divided data necessary for updating to firmware FW2, the wireless terminal 100C may also receive all the divided data necessary for updating to firmware FW2. In this case, the wireless terminal 100C also transitions to the CONNECTED state via the SETUP state, similar to the wireless terminal 100B.
[0091] On the other hand, as described above, there is a possibility that data loss may occur when the wireless terminal 100C receives data from the wireless terminal 100A. When the wireless terminal 100C is unable to receive all of the divided data due to the occurrence of data loss, the wireless terminal 100C receives the remaining divided data from the wireless terminal 100B. Below, an example will be described in which the wireless terminal 100C is unable to receive all of the UPDATE response broadcast from the wireless terminal 100A due to the occurrence of data loss.
[0092] When the wireless terminal 100B, which has completed the firmware update, transitions to the CONNECTED state, the wireless terminal 100B receives a probe request from the wireless terminal 100C, which is in the SCAN state. In response to the probe request, the wireless terminal 100B in the CONNECTED state transmits a probe response (step S704).
[0093] In the example of the first embodiment, the wireless terminal 100C in the SCAN state receives a Probe response with an LQI value of 20 dB or more from the wireless terminal 100B in the CONNECTED state. As a result, the wireless terminal 100C determines the wireless terminal 100B as a master and transitions to the UPDATE state (step S210). That is, the wireless terminal 100B becomes a master with respect to the wireless terminal 100C, and the wireless terminal 100C becomes a slave with respect to the wireless terminal 100B.
[0094] Fig. 14 is a diagram for explaining the fifth state in firmware update. Fig. 14 shows a state when the state of the wireless terminal 100B transitions to the CONNECTED state and the wireless terminal 100C determines the wireless terminal 100B as the master. As shown in Fig. 14, an UPDATE request and an UPDATE response are exchanged between the wireless terminal 100B and the wireless terminal 100C.
[0095] This allows the wireless terminal 100C to receive from the wireless terminal 100B, which has been determined as the parent device, the divided data that it was unable to receive from the wireless terminal 100A when it was in the SCAN state. When the wireless terminal 100C in the UPDATE state determines that all the divided data have been received (YES in step S303), it combines the divided data and updates its own firmware to the new firmware (step S304). After that, the wireless terminal 100C transitions to the CONNECTED state via the INIT state and the SETUP state.
[0096] Fig. 15 is a diagram for explaining a sixth state in firmware update. Fig. 15 shows a state after all firmware of the wireless terminals 100A to 100C has been updated and all the states of the wireless terminals 100A to 100C have transitioned to the CONNECTED state. Thus, unlike the state shown in Fig. 4, each of the wireless terminals 100A to 100C has completed updating from firmware FW1 to firmware FW2.
[0097] FIG. 16 is a diagram showing a first comparative example in firmware update. In the wireless communication system 1001Z of the first comparative example, the wireless terminal 100 determined as the parent device does not transmit an UPDATE response by broadcast, but transmits it only to the child devices. Therefore, as shown in FIG. 16, when the wireless terminal 100B determines the wireless terminal 100A as the parent device, the wireless terminal 100A transmits an UPDATE response only to the wireless terminal 100B. After that, when the software update is completed in the wireless terminal 100B, the wireless terminal 100B then transmits an UPDATE response as the parent device to another wireless terminal 100 (for example, the wireless terminal 100C) that is a child device. In this way, in the first comparative example, the software update process is performed only between the two wireless terminals, the parent device and the child device, so that it takes an excessive amount of time until the software update of all the wireless terminals 100 included in the wireless communication system 1001Z is completed.
[0098] On the other hand, in the wireless communication system 1000 of the first embodiment, the parent wireless terminal 100A transmits an UPDATE response to the wireless terminal 100C other than the child wireless terminal 100B as shown in Fig. 10. Therefore, the wireless terminal 100C in the SCAN state can also collect and store the divided data.
[0099] As a result, in wireless communication system 1000 of the first embodiment, when the firmware of wireless terminal 100B is updated, the divided data is already stored in wireless terminal 100C, whereas in wireless communication system 1001Z of the first comparative example, when the firmware of wireless terminal 100B is updated, the divided data is not stored in wireless terminal 100C. That is, in wireless communication system 1000 of the first embodiment, the time required to update the firmware of each of wireless terminals 100A to 100C can be reduced more than in the first comparative example.
[0100] Fig. 17 is a diagram for explaining a seventh state in firmware update. Fig. 18 is a diagram for explaining an eighth state in firmware update. Figs. 17 and 18 show wireless terminals 100D-100G in addition to wireless terminals 100A-100C. Figs. 17 and 18 show a state after firmware of each of wireless terminals 100A-100C is updated and wireless terminals 100A-100C enter a CONNECTED state. Fig. 17 focuses on data transmission of wireless terminal 100B, and Fig. 18 focuses on data transmission of wireless terminal 100C.
[0101] In the wireless communication system 1000, of the wireless terminals 100D to 100G, the wireless terminal 100D is located closest to the wireless terminal 100B. Also, of the wireless terminals 100D to 100G, the wireless terminal 100G is located closest to the wireless terminal 100C.
[0102] Based on the fact that the wireless terminal 100B has entered the CONNECTED state, the wireless terminal 100D determines the wireless terminal 100B as the master. Fig. 17 shows a state in which the wireless terminal 100D sets the wireless terminal 100B as the master, and an UPDATE response and an UPDATE request are exchanged between the wireless terminal 100D and the wireless terminal 100B. The wireless terminal 100B, which is the master, transmits an UPDATE response to the wireless terminal 100D by broadcast. Therefore, the wireless terminals 100E, 100F, and 100G can also receive the UPDATE response transmitted by the wireless terminal 100B.
[0103] Based on the fact that the wireless terminal 100C has entered the CONNECTED state, the wireless terminal 100G determines the wireless terminal 100B as the master. Fig. 18 shows a state in which the wireless terminal 100G sets the wireless terminal 100C as the master, and an UPDATE response and an UPDATE request are exchanged between the wireless terminal 100C and the wireless terminal 100G. The wireless terminal 100C, which is the master, transmits an UPDATE response to the wireless terminal 100G by broadcast. Therefore, the wireless terminals 100D, 100E, and 100F can also receive the UPDATE response transmitted by the wireless terminal 100C.
[0104] In this way, the wireless terminals 100E and 100F in the SCAN state can simultaneously receive UPDATE requests from multiple parent devices. Focusing on the UPDATE requests received by the wireless terminals 100E and 100F, if the same divided data among the 200 divided data are received from the parent wireless terminals 100B and 100C, duplication of the divided data occurs, and unnecessary reception processing of the UPDATE request is performed. For this reason, it is desirable that the divided data transmitted from the wireless terminals 100B and 100C are different divided data. The parent device determines the number of the divided data to be included in the UPDATE request in response to the request from the child device. As described above, the child device determines the number of the divided data to be requested from the parent device using a random number.
[0105] If the slave unit is set to request divided data that it has not yet received from the master unit in ascending order of assigned numbers, the slave unit requests the divided data with the smallest number when it first transmits an UPDATE request, so that the wireless terminals 100E and 100F that receive UPDATE responses from multiple master units end up receiving duplicate UPDATE responses that include the divided data with the smallest number.
[0106] On the other hand, in the wireless communication system 1000 of the first embodiment, the child device uses a random number to determine the number of the divided data to be requested from the parent device. That is, the first protocol in the first embodiment is a protocol that generates a random number to determine the number of the divided data. As a result, in the wireless communication system 1000 of the first embodiment, it is possible to prevent the wireless terminals 100E and 100F that receive UPDATE responses from multiple parent devices from receiving duplicate divided data, and to speed up the firmware update process in the entire wireless communication system 1000.
[0107] FIG. 19 is a diagram showing a second comparative example of firmware update. In a wireless communication system 1002Z of the second comparative example, the wireless terminal 100 that returns a probe response to a probe request earliest is determined as the master without considering the LQI value of the probe response. In the second comparative example, a state is shown in which the wireless terminal 100C determines the wireless terminal 100A as the master. There is a possibility that data loss occurs between the wireless terminal 100C and the wireless terminal 100A because the LQI value is small. Therefore, in the example of FIG. 19, the firmware update process may take more time than when the wireless terminal 100B determines the wireless terminal 100A as the master.
[0108] In contrast to the example of Figure 19, in the wireless communication system 1000 of embodiment 1, the wireless terminal 100 in the SCAN state determines the parent unit by taking into account the LQI value, thereby suppressing the creation of a parent unit / child unit relationship between wireless terminals 100 where data loss is highly likely to occur, and thereby speeding up the firmware update process.
[0109] <Embodiment 2> In the first embodiment, an example is described in which, in the UPDATE state, an UPDATE request and an UPDATE response are exchanged with a parent device once determined. In the second embodiment, an example is described in which the parent device can be updated. Fig. 20 is a flowchart for explaining processing in the UPDATE state in the second embodiment. Note that in Fig. 20, the description of the configuration overlapping with that of the wireless communication system 1000 in the first embodiment will not be repeated.
[0110] In the second embodiment, the wireless terminal 100 in the UPDATE state transitions to the UPDATE state and executes the update process of the parent device (step S501), and then determines the number of the divided data according to the first protocol (step S502). In the wireless communication system 1000, the firmware update of each wireless terminal 100 is completed at different times. Therefore, after the wireless terminal 100 in the SCAN state determines another wireless terminal 100 in the CONNECTED state as the parent device, there may be a case where the other wireless terminal 100 located closer than the wireless terminal 100 determined as the parent device transitions to the CONNECTED state.
[0111] In the second embodiment, even after a parent device has been determined once, if a new wireless terminal 100 capable of becoming a parent device appears in a position where an UPDATE response with higher radio wave intensity can be received, the newly-determined parent device is determined again. As shown in Fig. 20, in the second embodiment, the wireless terminal 100 in the UPDATE state repeats steps S501 to S504 including the process of updating the parent device.
[0112] 21 is a flowchart for explaining the parent device update process (step S501). In the second embodiment, the wireless terminal 100 in the UPDATE state broadcasts a probe request (step S601). The wireless terminal 100 judges whether or not a probe response has been received (step S602). If the wireless terminal 100 has not received a probe response (NO in step S602), it judges whether or not 10 seconds have elapsed since the wireless terminal 100 transmitted the probe request in step S601 (step S603).
[0113] If it is determined that 10 seconds have not elapsed since the transmission of the probe request (NO in step S603), the wireless terminal 100 returns the process to step S602. If it is determined that 10 seconds have elapsed since the transmission of the probe request (YES in step S603), the wireless terminal 100 returns the process to step S601 and broadcasts the probe request again.
[0114] In the second embodiment, if the wireless terminal 100 in the UPDATE state does not receive a probe response, it continues to transmit a probe request every 10 seconds. The period (10 seconds) for transmitting a probe request in the UPDATE state is desirably longer than the period (3 seconds) for transmitting a probe request in the SCAN state. In the UPDATE state, the wireless terminal 100 has the main purpose of transmitting an UPDATE request, so that the period for transmitting a probe request is set long so as not to increase the load on the transmission processing of the UPDATE request. As a result, in the second embodiment, it is possible to execute the processing of updating the parent unit while suppressing an increase in the processing load in the UPDATE state.
[0115] When the wireless terminal 100 receives a probe response (YES in step S602), it acquires the firmware version and the number of divided data included in the probe response (step S604). The wireless terminal 100 that has received the probe response acquires the LQI value (dB) at the time the probe response was received.
[0116] The wireless terminal 100 determines whether the LQI value of the Probe response acquired in step S604 is higher than the LQI value of the UPDATE response received from the current master unit (step S605). If the LQI value of the Probe response is equal to or lower than the LQI value of the UPDATE response received from the current master unit (NO in step S605), the wireless terminal 100 ends the process without updating the master unit, and executes step S502 in FIG. 20.
[0117] If the LQI value in the Probe response is higher than the LQI value in the UPDATE response received from the current parent device (YES in step S605), the wireless terminal 100 determines whether the firmware version information acquired in step S604 is newer than the firmware version information stored in its own storage device 140 (step S606). If the firmware version included in the Probe response is not newer than its own firmware version (NO in step S606), the wireless terminal 100 ends the process without updating the parent device, and executes step S502 in FIG.
[0118] If the firmware version included in the probe response is newer than its own firmware version (NO in step S606), the wireless terminal 100 re-determines the wireless terminal 100 that transmitted the probe response in step S602 as the master device. That is, the wireless terminal 100 updates the master device (step S607).
[0119] In this way, in the second embodiment, when the state of other wireless terminals 100 around the wireless terminal 100 in the UPDATE state transitions to the CONNECTED state, the parent unit can be updated. This allows the wireless terminal 100 in the UPDATE state to exchange UPDATE requests and UPDATE responses with parent units with high radio wave intensity. That is, in the second embodiment, the occurrence of data loss in the UPDATE state can be more reliably suppressed, and the firmware update process in the entire wireless communication system 1000 can be expedited.
[0120] <Embodiment 3> In the first embodiment, an example has been described in which the wireless terminal 100 that has transmitted the Probe response with the highest LQI value is determined as the parent device. In the third embodiment, an example will be described in which the parent device is determined based on the number of other wireless terminals 100 arranged around the wireless terminal 100 in the CONNECTED state that can become the parent device. Note that in the third embodiment, the description of the configuration that overlaps with the wireless communication system 1000 of the first embodiment will not be repeated.
[0121] Fig. 22 is a diagram for explaining a first state in the parent device determination process in the third embodiment. As shown in Fig. 22, the wireless communication system 1000 in the third embodiment has wireless terminals 100H-100M. Each of the wireless terminals 100H-100M has the configuration described in Fig. 2. Fig. 22 shows a predetermined phase during updating of firmware of each wireless terminal 100 in the third embodiment.
[0122] The wireless terminals 100H and 100J have completed firmware updates and have transitioned to a CONNECTED state. The wireless terminals 100I, 100K, 100L, and 100M have not completed firmware updates and are in a SCAN state. The wireless terminal 100I is located in a position where it can wirelessly communicate with the wireless terminals 100H and 100J, while the wireless terminals 100K, 100L, and 100M are located in positions where it can wirelessly communicate only with the wireless terminal 100J.
[0123] The wireless terminal 100I in the SCAN state transmits a probe request to the wireless terminal 100H and the wireless terminal 100J. Each of the wireless terminals 100K, 100L, and 100M in the SCAN state transmits a probe request only to the wireless terminal 100J. In the third embodiment, the wireless terminals 100H and 100I in the CONNECTED state wait for a predetermined period of time after receiving a probe request for the first time in order to receive a probe request from another wireless terminal 100.
[0124] The wireless terminals 100H, 100I in the CONNECTED state acquire the number of wireless terminals 100 in the SCAN state that are located at positions where they can wirelessly connect to themselves based on the Probe request received within a predetermined period of time. The wireless terminals 100H, 100I in the CONNECTED state transmit the Probe responses including the number of wireless terminals 100 in the SCAN state that are located around them to each wireless terminal 100 in the SCAN state.
[0125] 22, the wireless terminal 100H in the CONNECTED state includes in the probe response the fact that the number of wireless terminals 100 in the SCAN state arranged around the wireless terminal 100H is one (wireless terminal 100I). On the other hand, the wireless terminal 100J in the CONNECTED state includes in the probe response the fact that the number of wireless terminals 100 in the SCAN state arranged around the wireless terminal 100H is four (wireless terminals 100I, 100K, 100L, 100M). The wireless terminal 100I receives the probe responses from each of the wireless terminals 100H and 100J.
[0126] Fig. 23 is a diagram showing a flowchart of a parent device determination process in embodiment 3. Fig. 23 shows the process executed in step S208 in Fig. 8. In embodiment 3, the wireless terminal 100 in the SCAN state determines the wireless terminal 100 that includes the largest number of wireless terminals 100 in the SCAN state in the Probe response as the parent device (step S401A).
[0127] In the example of Fig. 22, the wireless terminal 100I determines the wireless terminal 100J capable of wireless communication with the four wireless terminals 100I, 100K, 100L, and 100M in the SCAN state as the master. Fig. 24 is a diagram for explaining a second state in the master determination process in the third embodiment. As shown in Fig. 24, the wireless terminal 100I, which is a slave, transmits an UPDATE request to the wireless terminal 100J, which is a master. As a result, the wireless terminal 100J, which is a master, transmits an UPDATE response by broadcast.
[0128] 24, by transmitting an UPDATE response by broadcast from the wireless terminal 100J which is the master, the wireless terminals 100K, 100L, and 100M, in addition to the wireless terminal 100I, can receive the UPDATE response. Compared to the case where the wireless terminal 100I determines the wireless terminal 100H as the master, the UPDATE response can be received by many wireless terminals 100 by transmitting an UPDATE request once. As a result, in the third embodiment, it is possible to speed up the firmware update process of all the wireless terminals 100 included in the wireless communication system 1000.
[0129] <Modification> In the first embodiment, the wireless communication system 1000 is applied to a factory, but the facility to which the wireless communication system 1000 is applied is not limited to a factory. In an aspect, the wireless communication system 1000 may be applied to a commercial facility, an apartment building, or the like, for example.
[0130] In the example of the first embodiment, an example has been described in which seven wireless terminals are provided in the wireless communication system 1000, but the number of wireless terminals included in the wireless communication system 1000 is not limited to seven. The number of wireless terminals included in the wireless communication system 1000 may be three or more, and in a certain aspect, the number of wireless terminals may be, for example, five, ten, one hundred, or one thousand.
[0131] In the example of the first embodiment, the firmware of each wireless terminal 100 is updated in the wireless communication system 1000, but the software to be updated is not limited to firmware. The software to be updated may be any program that is common to each of the multiple wireless terminals 100 included in the wireless communication system 1000.
[0132] In the example of the first embodiment, an example has been described in which one controller is provided in wireless communication system 1000, but the number of controllers included in wireless communication system 1000 is not limited to one. In a certain aspect, wireless communication system 1000 may include two or more controllers.
[0133] In the example of the first embodiment, the wireless terminal 100 transmits an UPDATE response in response to an UPDATE request in the CONNECTED state, and transmits a Probe response in response to a Probe request. That is, the wireless terminal 100 responds to a Probe request even after being determined as a master device. However, in a certain aspect, when the wireless terminal 100 determines that it has been determined as a master device in the CONNECTED state, it may not transmit a Probe response even if it receives a Probe request.
[0134] In the example of the first embodiment, the first protocol is a protocol that generates random numbers to determine the numbers of the divided data. However, the first protocol may determine the numbers so that the divided data requested by other child devices located in the vicinity do not overlap. Specifically, the child device transmits a confirmation signal for protocol confirmation to the other child devices by broadcast, for example.
[0135] The child device that has received the confirmation signal returns a response signal indicating the method for determining the number that the child device requests from the parent device. For example, the child device that has received the confirmation signal returns the response signal containing information indicating that the child device is requesting divided data in ascending order of divided data numbers. The child device that has received the response signal determines the requested number using a determination method different from the method for determining the number that is included in the response signal and is requested from the parent device. For example, the child device that has received the confirmation signal determines to request divided data from the parent device in descending order of divided data numbers. This makes it possible to prevent multiple child devices from requesting the same divided data in the wireless communication system 1000.
[0136] In the example of the first embodiment, the wireless terminal 100 is updated from firmware FW1 to firmware FW2. However, while the wireless terminal 100 is updating to firmware FW2, it is possible that the wireless terminal 100 may newly communicate wirelessly with a wireless terminal 100 having firmware FW3 newer than firmware FW2. In such a case, the wireless terminal 100 discards the firmware FW2 being updated, determines the wireless terminal 100 having the latest firmware FW3 as the parent device, and executes the update process to firmware FW3.
[0137] The embodiments disclosed herein are illustrative in all respects and should not be considered as limiting. The scope of the present invention is defined by the claims rather than the above-described embodiments, and it is intended to include the equivalent meaning of the claims and all modifications within the scope of the claims. [Explanation of symbols]
[0138] 100,100A~100M Wireless terminal 110 Processor 120 Wireless communication device 130 Input / Output Interface 140 Storage device 200 Sensors 1000, 1001Z, 1002Z wireless communication system ANT Antenna FW1, FW2, FW3 firmware Rt1, Rt2 connection route Sr1 Server
Claims
1. a first wireless terminal storing first software; a second wireless terminal storing second software; a third wireless terminal that stores third software; the first wireless terminal transmits to the second wireless terminal an update request signal requesting update data for updating the first software; the second wireless terminal transmits an update response signal including the update data to the first wireless terminal by broadcast in response to the update request signal; The first wireless terminal updates the first software based on the update response signal; A wireless communication system, wherein the third wireless terminal, when receiving the update response signal transmitted by broadcast, updates the third software based on the update response signal.
2. The wireless communication system according to claim 1 , wherein the update response signal includes at least one of a plurality of divided data pieces obtained by dividing the update data.
3. the first wireless terminal transmits to the second wireless terminal the update request signal requesting the at least one piece of divided data that has not been received; The wireless communication system according to claim 2 , wherein the second wireless terminal transmits the at least one divided data requested by the update request signal to the first wireless terminal by broadcasting the update response signal.
4. The wireless communication system according to claim 3 , wherein the first wireless terminal determines, from among the at least one piece of divided data that has not been received, the at least one piece of divided data to be requested in the update request signal, using a random number.
5. The wireless communication system according to claim 3 or claim 4, wherein the third wireless terminal updates the third software based on the at least one divided data when the third wireless terminal receives the update response signal including the at least one divided data transmitted by broadcast.
6. The first wireless terminal transmits to the second wireless terminal a search request signal requesting version information of the second software; the second wireless terminal transmits a search response signal including version information of the second software to the first wireless terminal in response to the search request signal received from the first wireless terminal; 5. The wireless communication system according to claim 3, wherein when the version information of the second software is newer than the version information of the first software, the first wireless terminal determines that the update request signal is to be sent to the second wireless terminal.
7. 7. The wireless communication system according to claim 6, wherein the first wireless terminal determines that the second wireless terminal is the target to which the update request signal is to be sent when the version information of the second software is newer than the version information of the first software and the radio wave strength of the search response signal received from the second wireless terminal is equal to or greater than a threshold value.
8. 7. The wireless communication system according to claim 6, wherein the first wireless terminal determines that the second wireless terminal is the target to which the update request signal is to be sent when the version information of the second software is newer than the version information of the first software and when the number of wireless terminals with which the second wireless terminal can wirelessly communicate is greater than the number of other wireless terminals.
9. The first wireless terminal, After determining that the update request signal is to be transmitted to the second wireless terminal, the search request signal is transmitted to another wireless terminal; 7. The wireless communication system according to claim 6, wherein when version information of the software of the other wireless terminal is newer than version information of the first software and the radio wave strength of the search response signal received from the other wireless terminal is higher than the radio wave strength of the search response signal received from the second wireless terminal, the target to which the update request signal is sent is updated from the second wireless terminal to the other wireless terminal.
10. A storage device for storing the software; a wireless communication device for communicating with a plurality of wireless terminals; a control device; The control device controls the wireless communication device to broadcast an update response signal including the update data to a child wireless terminal among the multiple wireless terminals in response to receiving an update request signal requesting update data for updating software of the child wireless terminal from the child wireless terminal.
11. A storage device for storing the software; a wireless communication device for communicating with a plurality of wireless terminals; a control device; The control device is a wireless terminal that, when it receives an update response signal including the update data broadcast by a parent wireless terminal among the multiple wireless terminals, which has received an update request signal from a child wireless terminal among the multiple wireless terminals requesting update data for updating software of the child wireless terminal, updates the software based on the update response signal.
12. A method for updating software in a wireless communication system, comprising: The wireless communication system includes: a first wireless terminal storing first software; a second wireless terminal storing second software; a third wireless terminal that stores third software; The update method includes: a step of transmitting, from the first wireless terminal to the second wireless terminal, an update request signal requesting update data for updating the first software; a step of transmitting, by the second wireless terminal, an update response signal including the update data to the first wireless terminal by broadcast in response to the update request signal; updating the first software by the first wireless terminal based on the update response signal; and when the third wireless terminal receives the update response signal transmitted by broadcast, updating the third software based on the update response signal.
Citation Information
Patent Citations
Wireless sensor system and communication control method
JP2022174205A