Method for updating embedded software
The method allows remote software updates for embedded systems in elongated structures by temporarily switching to high-speed communication when a mobile device is nearby, addressing inefficiencies and risks in existing methods, ensuring efficient and secure updates.
Patent Information
- Application Number
- FR2020009237
- Authority / Receiving Office
- FR · FR
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2020-09-11
- Publication Date
- 2024-12-13
- Estimated Expiration
- 2040-09-11
AI Technical Summary
Existing software updating methods for embedded systems in elongated structures like railway tracks face challenges with high energy consumption, cost, and security risks, particularly with low-power communication protocols like LoRaWAN, and existing solutions like FUOTA are inefficient for complex software updates.
A method that enables remote software updates by activating a high-speed short-range protocol temporarily when a mobile device is nearby, using a low-power long-range protocol to initiate the update, minimizing service interruptions and energy consumption.
Enables efficient, secure, and cost-effective software updates with reduced downtime and energy consumption, maintaining monitoring systems up to date without extensive disruptions.
Smart Images

Figure 00000018_0000 
Figure 00000018_0001 
Figure 00000019_0000
Abstract
Description
Title of the invention: Method for updating embedded software. Field of the invention
[0001] The invention relates to the field of software updates, and in particular to the updating of embedded software for structural monitoring using elastic waveguides, and especially for monitoring a railway track. Prior Art
[0002] Embedded software updates for structural monitoring using elastic waveguides are relevant to numerous industrial sectors. Various elongated industrial structures can be implemented as elastic waveguides: for example, rails in the railway sector or portal-type structures. Pipes (particularly in the oil and gas or nuclear industries) carrying fluids are also elongated structures for which ensuring integrity can be critical. Similarly, cables, for example, in passenger transport systems (cable cars or other), are elongated structures that can be used to implement elastic waveguides.
[0003] Thus, in the railway sector, the rail is a critical structure whose integrity must be monitored. Subjected to very high thermomechanical stresses (e.g., internal stresses due to resisted thermal expansion, passage of trains), sections of rail wear down over time and can sometimes be subject to complete breakage. The condition of the tracks must be monitored to reduce or even eliminate the risk of derailment. Maintaining a railway network represents a major challenge in terms of cost and safety for railway operators.
[0004] A known approach for monitoring the condition of rails involves placing transducers (a transducer can also be referred to as a "sensor") along the rail. These transducers emit guided elastic waves within the rails, which interact with defects (breaks or other, more minor defects). The diffracted signal is then analyzed by specialized software at an electronic device, or "electronic node," in order to detect and locate a defect. Thus, a railway monitoring system can comprise a plurality of electronic nodes distributed in a network along the rails. Each node can be associated with one or more transducers and performs a local analysis of the signals it receives using embedded analysis software. The results of the node analyses can be transmitted to a remote server for more comprehensive analysis, generally via wireless communication technology.
[0005] Depending on the size and the more or less complex nature of the embedded analysis software, and depending on the communication protocol or technology existing between the electronic nodes and the remote server(s), difficulties may arise in updating the embedded software.
[0006] Indeed, communication rates can be more or less high, and require more or less energy to transmit data.
[0007] For example, although GSM / 3G / 4G / 5G cellular communications allow for the transmission of large amounts of data, this technology involves subscription costs and excessive energy consumption for a railway monitoring application. It is therefore unsuitable for updating the software of analysis software embedded in each electronic node of a network of electronic nodes.
[0008] Conversely, low-power communication protocols such as the LoRaWAN protocol for the Internet of Things, which stands for "Long Range Wide-area network," enable low-bandwidth radio communications using LoRa technology. A major limitation of this type of protocol is the inability to send large amounts of data. Therefore, any bug fix or deployment of a new feature on a network of connected objects requires physically connecting to each object to correct a bug or inject a new software version. Such an operation is time-consuming and carries a risk of damaging the casings containing the electronic circuits.In the case of a railway track monitoring application where electronic nodes communicate with a remote server via LoRa technology, correction or updates by a physical person present major safety risks because the nodes are located near the tracks. Furthermore, low-bandwidth protocols such as LoRa are not suitable for remotely updating the software embedded in each electronic node.
[0009] Recently, the LoRa Alliance proposed a solution called "FUOTA" for "Firmware Update Over The Air," considering that updating a sensor network is a critical feature without which industrial deployment is hardly conceivable. The article by Khaled Abdelfadeel et al., arXiv:2002.08735vl [es.NI] 20 Feb 2020, entitled 'How to make Firmware Updates over LoRaWAN Possible', studies FUOTA update scenarios for small embedded software (100 KB max) corresponding to applications with simple embedded processing. It demonstrates that updates to a single node, in an unfavorable case where the node is far from the LoRa gateway, can take several hours. The FUOTA solution is therefore not suitable for the case of software updates to a railway track monitoring system with an extensive network of electronic nodes. Ironically, each component incorporates electronic circuits designed to run a Linux-type operating system and operate complex analysis software that can be several megabytes in size. Updating such software using the FUOTA approach would be too time-consuming, involve a significant service interruption, and be very energy-intensive for a standalone system.
[0010] There is therefore a need for an embedded software update solution that overcomes the aforementioned drawbacks. Summary of the invention
[0011] The present invention can be used for monitoring cables, pipes or any other elongated structure, i.e. having a preferred direction, which can act as an elastic wave guide for which the monitoring technique is based on the analysis of elastic waves.
[0012] The invention relates primarily to the context of updating embedded software in electronic devices or nodes installed along railway tracks, nodes which communicate track condition analysis data to a remote server via a low-power protocol such as LoRaWAN. Other low-power wide area networks, generically defined by the English term "LPWAN" for "Low Power Wide Area Network", may be used.
[0013] More generally, the invention will find application in any environment having a network of connected objects communicating with a remote server via a low-bandwidth, low-power protocol.
[0014] An object of the present invention is a method for remotely updating software, i.e. without physical connection, of electronic nodes of an elongated structure monitoring system.
[0015] In a general implementation, the invention exploits the ability of an electronic node to operate using different communication modes. When an update to the embedded software is scheduled for a node (and by extension for a plurality of nodes), an order is issued, i.e., a message in LoRa format is sent to the network node(s) to activate a local broadband protocol (Wi-Fi or another protocol such as Bluetooth) on the node(s). The software update is then sent on the fly via the activated broadband protocol, using a mobile device (carried by a train, an operator, or a drone) passing near the nodes. The broadband protocol is immediately deactivated on each node as soon as its software update is complete, in order to reduce the node's power consumption.
[0016] Unlike the prior art FUOTA system, the device of the invention makes it possible to keep the monitoring system fully up to date without a drastic increase in the update time, even if the size of the update files, whether for functional updates to improve embedded algorithms or for security updates such as during the evolution of the Linux kernel.
[0017] An object of the present invention is a remote update device for embedded software, comprising means for operating the method of the invention, which has, among other advantages: - To limit, through rapid interventions, service interruptions for software updates; - To offer a low intervention cost either by an operator who does not need to physically connect to the node, or by a drone or a train; - To strengthen cybersecurity by leaving fewer opportunities to deposit malicious code in a node, by leaving a high-speed communication channel open only temporarily, unlike configurations where a high-speed communication channel is permanently open; - To have low power consumption for software updates, by only temporarily turning on a local broadband communication protocol; - To allow the rail monitoring service to be maintained for a large part of the time.
[0018] Low energy communication protocols use free radio frequencies, so they are inexpensive to deploy, and it is possible to deploy them on a site if no pre-existing network is available there, unlike 4G deployments.
[0019] This type of low-power communication protocol, which does not allow the transmission of large files, means that the device of the present invention is configured so that fault detection algorithms are embedded in software in each electronic node to perform local diagnostics. The result is then transmitted to a remote server. Advantageously, the messages generated by the nodes can be limited to a few bits (i.e., providing binary YES / NO information indicating whether the rail is damaged or not) or contain a few bytes (i.e., providing a slightly more elaborate message containing more detailed information, for example, on the criticality level of the fault, its location, its type, etc.).
[0020] A remote server retrieves messages from the nodes, in order to pool the local information reported by each node, and refine the diagnosis to guarantee the detection of real faults and limit false positives.
[0021] Advantageously, in the context of the invention, the low-data-rate long-range communication protocol (e.g., LoRa, Sigfox, etc.) makes it possible to transmit simplified information on the health status of the node and a section of rail to a remote server. reduced to a few nodes. After analysis and processing at the server level (by a supervisor module) of all the basic information received, it is determined whether there is a probable presence of a defect, whether it be a clean break, an initiation of breakage or wear.
[0022] Advantageously, in the context of the invention, the high-speed short-range communication protocol (e.g., Wifi, Bluetooth, ...) allows a software update to be transmitted to a node with a very limited impact on the nominal operation of the node, by activating the local high-speed communication protocol only for the time required to download the update code.
[0023] To obtain the desired results, a method is proposed for updating the software embedded in an electronic device having a nominal operating mode that allows the exchange of messages with a remote server according to a low-data-rate, long-range communication protocol, the messages containing information generated by said embedded software, the method being implemented by computer and comprising at least steps consisting of: - receive, via the low-speed long-range communication protocol, an activation message for a high-speed short-range communication protocol; - activate said high-speed short-range communication protocol; - stop the nominal operating mode; and - update the embedded software with a software update received via the high-speed short-range communication protocol.
[0024] According to alternative or combined embodiments: - The activation step of the high-speed short-range communication protocol includes steps consisting of: - receive, via the high-speed short-range communication protocol, a connection request to a mobile device carrying a software update for said embedded software; - receive said software update via the high-speed short-range communication protocol if the request is accepted; and - disable the high-speed short-range communication protocol. - the process includes, after the embedded software update step, a step to reactivate the nominal operating mode of the electronic device. - The low-bandwidth long-range communication protocol is an LPWAN type protocol, and the messages exchanged with the remote server are in LoRa format. - The high-speed short-range communication protocol is a protocol of the Wifi or Bluetooth type. - the process includes, after the step of receiving a connection request to a mobile device via the high-speed short-range communication protocol, a step authentication of the mobile device's identity and verification of the integrity of the update code. - The step of authenticating the identity of the mobile device and verifying the integrity of the update code consists of verifying the "MAC" algorithm. - The process also includes a step of sending an update confirmation message to the remote server via the low-bandwidth long-range communication protocol, and a step of reactivating normal operation.
[0025] The invention also covers a computer program product comprising non-transient code instructions enabling the steps of the process of the invention to be carried out when the program is executed on a computer.
[0026] The invention further covers a software update device for embedded software in an electronic device having a nominal operating mode for exchanging messages with a remote server according to a low-speed long-range communication protocol, the messages containing information generated by said embedded software, the software update device comprising means for implementing the steps of the process of the invention.
[0027] In one embodiment, the electronic device is an electronic node among a plurality of electronic nodes, each carrying updatable software, the plurality of electronic nodes being part of a railway track condition monitoring system based on the analysis of elastic waves guided in the rails.
[0028] The invention also covers a railway track condition monitoring system based on the analysis of guided elastic waves in the rails, the system comprising a plurality of electronic nodes, each electronic node comprising at least one software program for analyzing guided elastic waves in the rails, and further comprising means for establishing a nominal low-data-rate long-range communication mode for transmitting "LoRa" format messages for rail fault diagnosis to a remote server, and for establishing a temporary high-data-rate short-range communication mode for receiving software update data. (See Figures for description)
[0029] Other features and advantages of the invention will become apparent from the following description and the figures in the accompanying drawings in which:
[0030] [Fig-1] illustrates an implementation context of the device of the invention for a railway application;
[0031] [Fig.2] illustrates an example of LoRaWan topology applicable to the implementation of the invention;
[0032] [Fig.3] illustrates the typical structure of a LoRa packet;
[0033] [Fig.4] illustrates an example of the structure of an electronic node according to the invention;
[0034] [Fig.5] illustrates on a time diagram, the general steps of the software update process of the invention in an embodiment. Detailed description
[0035] Figure 1 illustrates an example of an implementation of the software update device of the invention for a railway application. However, this example is not limiting, and those skilled in the art can adapt the described implementation to any other application using an elongated waveguide. In the example described, the waveguide is a rail.
[0036] Fig. 1 shows the rails 101, 102 of a railway track 100 equipped with elastic wave transducers 1111-1, 1112-1, 1111-2, 1112-2.
[0037] The term "equipped" means that the transducers can be located on one or more locations selected from: under the head, whether on the inner web of the rail and / or on the outer web of the rail, under the rail. In the illustrated example, two transducers (1111-1, 1111-2) are arranged respectively on one of the two rails 101, 102 near a first electronic node 111-1, and two transducers (1112-1, 1112-2) are arranged respectively on one of the two rails 101, 102 near a second electronic node 111-2.
[0038] A person skilled in the art understands that the example is used to describe the principles of the invention but is not limiting as to the number of transducers, nodes that can be deployed, and the distance between nodes. For example, electronic nodes can be installed every kilometer along a railway line.
[0039] Although not described, transducers can also be arranged on the rails of a second railway track for the circulation of trains in the other direction, these transducers being able to be coupled to the same electronic nodes as the first railway track.
[0040] A transducer is a device that converts one physical signal into another. There is a wide variety of transducers. For the generation and reception of acousto-elastic waves transmitted in a material (a rail, a tube, a structure, etc.), the use of an electromagnetic acoustic transducer (EMAT) can be an alternative to the use of a piezoelectric transducer (PZT).
[0041] Each electronic node installed along a railway track is configured, i.e., includes at least one elastic wave analysis software module, to analyze signals from the transducers in order to determine the existence of defects in the rails. Different types of elastic waves propagate between two transducers 1111-1 and 1112-1. Each transducer can function as both a transmitter and a receiver. Several signals can then be used, these signals corresponding to: a The transmitted wave from the transmitter to the receiver and vice versa, as well as a reflected wave when a transmitter operates in pulse-echo mode (the same transducer acting as both transmitter and receiver), are all factors considered. Thus, the presence and / or absence of transmitted and / or reflected waves indicates the presence or absence of a local fault.
[0042] The electronic nodes are configured to communicate with a remote server 110, messages informing of the presence or absence of a defect in the section of rail considered.
[0043] In the context of the invention, the communication of fault diagnostic messages between the electronic nodes and the remote server is established according to a low-power communication protocol. In one embodiment, the protocol is LoRaWAN and the messages are formatted according to the LoRa frame structure.
[0044] Fig. 2 illustrates an example of LoRaWan topology and Fig. 3 shows a known LoRa frame format.
[0045] “LoRaWAN” for “Long Range Wide-area network” is a low-power, two-way radio wave communication protocol with several advantages: - Reduced consumption; - A small volume; and - A low cost.
[0046] The frequency bands used are free (868MHz for example in Europe) but limited (~ 36s / h for 868MHz) which constrains the size of the data transmitted (to a few tens of kbits / h).
[0047] A typical LoRaWAN network shown in [Fig. 2] consists of low-power wireless devices 111 that communicate with application servers 110 (comprising a network server 214, an application server 215, and an application server 216) through gateways 212. The modulation technique used between the devices 111 and the gateways 212 is LoRa. Communication between the gateways 212 and the servers 110 is established via the IP protocol using an Ethernet or 3G / 4G aggregation network.
[0048] The LoRaWAN network topology is called a star-of-stars topology with an application network server at the center which is connected to a multitude of gateways which are themselves connected to a multitude of terminal equipment.
[0049] In the network sense, the equipment is not connected to the gateways (and is therefore not shown in [Fig. 1]). The gateways serve only as relays to reach the server 214 managing the network, which is itself connected to one or more application servers 215, 216. The data packets sent by the equipment 111 are retransmitted by the gateways after adding only information concerning the quality of the received signal.
[0050] Figure 3 illustrates the typical structure of a LoRa packet where field sizes are indicated in bits. It consists of a preamble, optionally a header, a data field, and optionally an error check. The maximum data size is between 51 and 222 bytes depending on the spreading factor (SF) used (the larger the SF, the smaller the data size). The different fields contained in a LoRaWAN packet are: - Mtype: This field indicates the type of message (upstream or downstream). - RFU: This field is reserved for future use. - Major: This field indicates the version of the protocol used. - MIC: This field allows the calculation of packet integrity in order to detect if it has been altered during its transport. - DevAddr: This field contains the address of the equipment. - FCtrl: This field allows for rate adjustment and acknowledgments. It indicates the presence of additional packets as well as the length of the FOpts field. - FCnt: This field is a frame counter (increment with each transmission). - FOpts: This field allows you to pass MAC commands (connectivity control by a device for example). - FPort: This field contains the port of the application or service to which the packet is addressed.
[0051] A person skilled in the art may refer to existing literature to supplement the reading on LoRa technology, such as the specification documents made available by the “LoRaWaN Alliance”.
[0052] Returning to [Fig. 1], the remote server 110 is configured (i.e., includes so-called monitoring means) to combine fault diagnostic messages received from the electronic nodes and containing local diagnostic information generated by the fault analysis software module of the electronic node that sent the message. The remote server performs a global fault diagnosis that is accurate through the aggregation of the local diagnoses.
[0053] The analysis results can be displayed on an HMI 112 in a form directly usable by the user, visually indicating, for example, the location of the fault(s) on a track map, or in any other form suitable for the application. An alert can be sent to train drivers and / or any traffic control system, and / or a braking command can be triggered depending on the analysis result.
[0054] For the implementation of the software update method of the invention, the electronic nodes are configured to communicate according to a high-speed short-range protocol with a mobile device 114.
[0055] A mobile device within the meaning of the present invention can be any type of device Capable of connecting to a node via a short-range, high-speed protocol when it is nearby. It can be made mobile, operating autonomously or being transported by an operator, a drone, or a train traveling on the track, as illustrated. The mobile device includes at least one memory unit to store a software update to be applied to the node(s).
[0056] Fig. 4 illustrates an example of the structure of an electronic node 111 in an embodiment allowing for a software update according to the method of the invention.
[0057] Generally, a node 111 includes: a power source 400 (e.g. battery power supply, solar panels, access to an external power supply, etc.); an electronic circuit including an elastic wave measurement circuit 410; an elastic wave emission circuit 412; storage components 414; a signal processing circuit 416 (FPGA, CPU or other for processing received signals); a wireless communication circuit 418; a GNSS (Geolocation and Navigation by Satellite System) receiver 420, for example of the GPS type including an antenna 421 and the on-board electronics.
[0058] A node 111 is coupled to at least one guided elastic wave transducer (eg 1111), which is for example installed on a rail near the node.
[0059] The energy source 400 can be supplied by dynamo systems recharged by the passage of trains on the railway and / or by one or more photovoltaic panels and / or by one or more wind turbine masts.
[0060] The 418 wireless communication circuit is configured to establish at least two communication modes: a long-range low-speed communication mode (e.g. LoRa, Sigfox, ...) and a short-range high-speed communication mode (e.g. Wifi, Bluetooth, ...).
[0061] The wireless communication circuit 418 includes suitable components and associated antenna for transmitting fault diagnostic messages according to the long-range low-speed LoRa communication protocol, as well as suitable components and associated antenna for receiving software update data according to the short-range high-speed WiFi protocol.
[0062] The GNSS 420 circuit can be shared between several transducers. A satellite positioning system, known as GNSS (for Geolocation and Navigation by Satellite System), relies on a constellation of artificial satellites to provide a user or a circuit (via a portable receiver) with its position, speed, and time. In one embodiment, the GNSS circuits are associated with the transducers in such a way as to precisely time-stamp the signals measured by the transducers, while ensuring sub-microsecond synchronization between two nodes several kilometers apart (the distance is irrelevant). not as long as there is GNSS coverage on the two nodes considered).
[0063] In some embodiments, the time-stamping circuits and / or the computing circuits and / or the GNSS circuits can be variously distributed in space (e.g., existence of centers, fully distributed system, hierarchical arrangement between nodes).
[0064] The signal processing or calculation circuit 416 is associated with computing and / or memory resources 414, which may be local or remote. The signal processing circuit 416, which is embedded in each node, uses signals from elastic waves received from nearby neighboring nodes to perform a local diagnosis regarding the presence or absence of a fault. The calculation circuit and fault analysis software 416 make it possible to determine or detect the existence of one or more local faults along a length of rail, including several transducers, based on synchronized measurements of acousto-elastic waves propagating in the rail.
[0065] A local defect can be determined - its existence, its location, its category - by application of predefined thresholds, said predefined thresholds being determined by reference to a real state, for example with respect to a state of the rail which is known to be sound or with respect to a calibrated state of said rail, or by reference to a simulated state of the rail.
[0066] A defect can be characterized, particularly with regard to its nature, size, spatial orientation, or geometry, by amplitude and / or frequency analysis and / or by signal shape analysis and / or by analysis of the frequency spectrum of the measurement signals and / or the function representing the rail's impulse response and / or by identifying a change in the propagation mode of at least one of the waves propagating in the rail. A defect can, in particular, be oriented horizontally or vertically. Based on the signal analysis, the position and size can be estimated. Through machine learning or by comparison with charts derived from mathematical or numerical models, a quantitative characterization can determine the type of defect (corrosion, crack, discontinuity, etc.).
[0067] A defect can be characterized by differentiating the received signal transmitted via the rail head from the signal transmitted via the rail web. For example, if the signal is transmitted to one end of the rail and not the other, it is possible to determine approximately the extent of the defect as well as its position within the rail section. In the case where no signal is transmitted, it is likely that the rail break is almost complete. To overcome diagnostic uncertainties, advantageously the device of the invention allows all local diagnoses to be sent to a supervisor (analysis module of a remote server) which aggregates all the information to enable a global diagnosis and a precise characterization of default.
[0068] Since each node only has partial information about the overall system, the local and simplified diagnosis performed by a node is transmitted to the remote server 110 where monitoring software aggregates the data from the nodes to improve the diagnosis and issue a final decision. Indeed, when a node does not receive a signal, it assumes there is a rail break, whereas this could be due to the transmitter not transmitting the signal. Therefore, the server, which aggregates the information received from the nodes, determines the state of the transmitting node. The analysis performed at the remote server thus refines fault detection and leads to better decisions.
[0069] Different scenarios for transmitting local information received by each node to the remote server are possible, allowing for varying numbers of communications per day. One implementation choice could be to have the shortest possible but frequent messages, containing only binary information about the health status of each segment (for example, '0' for 'healthy' and '1' for 'damaged'). More complete messages containing additional information such as the criticality or location of the fault, an estimate of its size, temperature, battery health status, and the node's health status in case of faulty components, could also be transmitted, but at lower frequencies.
[0070] Figure 5 illustrates, on a time diagram, the general steps of the software update process of the invention in one embodiment.
[0071] When an update of the embedded software in one or more electronic nodes 111 is necessary, the remote server 110 sends 502 via the low-power communication protocol LPWAN, an order to the node(s) of the network concerned, i.e. all or part of the plurality of nodes of the network, for example only those which are failing, an instruction to activate their high-speed communication network (Wifi or Bluetooth).
[0072] In an operating mode, the 503 activation by the node of its Wifi communication component can be done while maintaining normal node activity (its so-called nominal mode).
[0073] In one embodiment, the activation instruction received by the node may include a unique identification key or "secret key", which will allow the node to verify, by means of known message authentication mechanisms (i.e. MAC for "Message Authentication code" in English) or other similar technique, the identity of the sender of the update, and the integrity of the update software code which could possibly be altered during its transmission.
[0074] After 503 activation of its Wifi communication mode, the node is in a state waiting to receive a connection request from a mobile device 114 carrying the software update. Depending on the type of mobile device and its mode of movement, it will pass near the node waiting for a connection, which is the node receiving the update. When it arrives near the node, the connection request is approved by the node and the connection between node 111 and the mobile device is established.
[0075] Once the connection is approved 505 by the node, the mobile device sends the update code to the node 506.
[0076] In an optional step, the node which has previously received a secret key from the server, can authenticate the identity of the sending mobile device which is requesting the connection, and if necessary authorize the uploading of the software into its internal memory.
[0077] In one embodiment, the step where the node verifies the sender's (mobile device's) identity can be performed afterward by checking the well-known MAC algorithm. Indeed, only a legitimate sender should possess the secret key and therefore transmit the correct message authentication code. The secret key can be transmitted via the LoRa protocol with the update instruction or be hard-coded in the node.
[0078] Once the update code is received, and where applicable once the validity of the software received by the node is recognized, the node disables 507 high-speed communication (Wifi or Bluetooth).
[0079] Simultaneously, node 111 stops its nominal operation and informs server 110, which removes it from the list of active nodes in the network.
[0080] Node 111 can then proceed with deployment 509 of the received software update.
[0081] In a subsequent step 510, the node sends to the server, via the low-power communication protocol LPWAN, a confirmation message that it is up to date, and then in a subsequent step 511 it reactivates its nominal operation (after a possible self-diagnostic phase).
[0082] The described software update method allows the interruption of the nominal mode of a node to be reduced only to the time of the deployment of the update by the node itself (steps 507 to 511), and thus keep the monitoring service active for a large part of the time.
[0083] Furthermore, the described software update process allows the consumption for a software update to be low, thanks to a temporary activation of a local high-speed communication protocol (steps 502 to 507), limited to the time of downloading the code from a mobile device to a node.
[0084] The invention can be implemented using hardware and / or software elements. It can be made available as a computer program product on a readable medium computer. The medium may be electronic, magnetic, optical, or electromagnetic. The computing means or resources may be centralized and / or distributed ("cloud computing"), possibly with or using peer-to-peer and / or virtualization and / or redundancy technologies. The software code may be executed on any suitable processor (e.g., a microprocessor) or processor core or a set of processors, whether located in a single computing device or distributed across multiple computing devices. The computing implementation of the invention may use centralized systems (e.g., client-server or master-slave) and / or distributed systems (e.g., peer-to-peer architectures using accessible computing resources, possibly opportunistically, e.g., ad hoc networks, etc.).The system (or its variants) implementing one or more steps of the process may use one or more dedicated electronic circuits or a general-purpose circuit. The process may also be implemented on a reprogrammable computing machine (a processor or microcontroller, for example) executing a program comprising a sequence of instructions, or on a dedicated computing machine (for example, an array of logic gates such as an FPGA or ASIC, or any other hardware module). A dedicated circuit can, in particular, improve performance. The reference to a computer program that, when executed, performs any of the functions described above is not limited to an application program running on a single host computer.On the contrary, the terms computer program and software are used here in a general sense to refer to any type of computer code (e.g. application software, firmware, microcode, APIs, web services, or any other form of computer instruction) that can be used to program one or more processors to implement steps in the process.
Claims
Claims
1. Method for updating software for monitoring an elongated structure based on the analysis of guided elastic waves, said software being embedded in an electronic device (111) installed along said elongated structure, which communicates with a remote server (110) in a nominal operating mode allowing messages to be exchanged with the remote server according to a low-speed long-range communication protocol, the messages containing local diagnostic information, the method being implemented by computer and comprising at least steps consisting in: - receiving (502) via the low-speed long-range communication protocol, an activation message at the electronic device of a high-speed short-range communication protocol;- activating (503) a temporary operating mode of said electronic device allowing messages to be exchanged according to said high-speed short-range communication protocol, and deactivating (507) the nominal operating mode to stop low-speed long-range communications with the remote server; - updating (509) the embedded software with a software update received via the high-speed short-range communication protocol; - deactivating the temporary high-speed short-range operating mode; and - reactivating the nominal operating mode.;
2. Method according to claim 1 comprising after the step of activating the temporary high-speed short-range operating mode, steps consisting of: - receiving (504) via the high-speed short-range communication protocol, a request for connection to a mobile device (114) carrying a software update of said embedded software; - receiving (506) via the high-speed short-range communication protocol said software update if the request is accepted (505); and - deactivating (507) the high-speed short-range communication protocol.
3. Method according to claim 1 or 2 comprising after the step of updating (509) the embedded software, a step of reactivating (511) the nominal operating mode of the electronic device.
4. A method according to any one of claims 1 to 3 wherein the The low-speed long-range communication protocol is an LPWAN type protocol, and the messages exchanged with the remote server are in LoRa format.
5. Method according to any one of claims 1 to 4 in which the high-speed short-range communication protocol is a Wifi or Bluetooth type protocol.
6. Method according to any one of claims 2 to 5 comprising after the step of receiving via the high-speed short-range communication protocol a request for connection to a mobile device, a step of authenticating the identity of the mobile device and verifying the integrity of the update code.
7. Method according to claim 6 wherein the step of authenticating the identity of the mobile device and verifying the integrity of the update code consists of verifying the “MAC” algorithm.
8. Method according to any one of claims 1 to 7 further comprising a step (510) of sending to the remote server by the low-speed long-range communication protocol, an update confirmation message, and a step (511) of reactivating the nominal operation.
9. A computer program product, said computer program comprising code instructions for carrying out the steps of the method according to any one of claims 1 to 8, when said program is executed on a computer.
10. Device for updating software embedded in an electronic device (111) having a nominal operating mode allowing messages to be exchanged with a remote server (110) according to a low-speed long-range communication protocol, the messages containing local diagnostic information, the software updating device comprising means for implementing the steps of the method according to any one of claims 1 to 8.
11. A software update device according to claim 10 wherein the electronic device is one of a plurality of electronic nodes each carrying updatable software, the plurality of electronic nodes being part of a railway condition monitoring system based on the analysis of guided elastic waves in the rails.
12. A railway condition monitoring system based on the analysis of guided elastic waves in the rails, the system comprising a plurality of electronic nodes each carrying software that can be updated according to the steps of the method of any one of claims 1 to 8, each electronic node comprising at least one software for analyzing elastic waves guided in the rails, and further comprising means for establishing a nominal low-speed long-range communication mode for transmitting messages in “LoRa” format to a remote server for diagnosing faults in the rails, and for establishing a temporary high-speed short-range communication mode for receiving software update data.
