## 4 Case Study: Embraer E2 Model Aircraft Flag Track
### Detail of the Implemented Services  
A schematic of the software packages used for developing this prototype is shown in Figure 5. The control of the magnitude readings in the sensors was conducted from the Arduino boards. In the presented proof-of-concept application, the Arduino boards acquired the magnitudes measured by the sensors according to their calibration. Time was centralized in the fog layer in order to synchronize the measures of the IoT devices. The communication protocol used in the edge layer was MQTT [42,46]. MQTT works over TCP/IP and implements the publisher/subscriber communication model. This communication strategy is based on the publication of messages of specific subjects (topics) and the subscription to these messages. MQTT provides basic security services between the clients and the MQTT broker in order to protect the transmission of sensitive data. Actually, MQTT provides identity, authentication and authorization services based on the use of passwords and the Secure Socket Layer (SSL) protocol. Although adopting security measures in testing applications may be critical but not trivial, in some cases, they are necessary. In [47] a comprehensive architecture and some guidelines aimed at helping developers to build IoT secure applications using state-of-the-art security mechanisms is presented. MQTT is a messaging protocol for restricted low-bandwidth networks and high-latency IoT devices. In the case of structural tests on aeronautical components, the transition speed between successive load states is slow, typically in the range of seconds. Acquisition requirements are established to capture each load state (capture of requirements in Figure 2). Although the MQTT protocol allows a publish payload size of up to 256 MB, in this kind of application, the measurement messages only require a few bytes, so they are sent over a unique frame. In the proposed architecture, an MQTT broker was installed in the fog layer to manage the communication among the nodes of the IoT system (Figure 1). In order to synchronize the sensor readings of the IoT system, triggering messages are sent to all IoT devices. Thus, time is centralized in one device [44,45]. This approach is valid for taking measures in the range of seconds, and is the resolution of the central clock configured in the capture of requirements stage (see Figure 2). This procedure is scalable and allows obtaining the information from a variable number of sensors. The data collected from the sensors are stored in the processing node at the fog layer (design of the AloT acquisition system in Figure 2). These data were received by the client located in the fog node used for intermediate storage purposes. This node obtains the values of the test  
Figure 5: Diagram of services implemented in the proposed monitoring network. parameters as well as the acquisition instant. Simultaneously, the received data were sent to the private cloud via SMB protocol to back up the data history (Figure 1). The data received at the processing center, in addition to being stored on disk for further analysis, are also visualized in real time in order to monitor the evolution of the test (leverage the results of the real-time analysis in Figure 2). To implement this visualization service, a graphical user interface was programmed in the desktop computer using the Python Tkinter framework (Figure 6). For short-duration tests, this GUI enabled visualizing the complete behavior of the tested specimen, while for long-duration tests, it allowed visualizing the behavior of the component during critical processes of scheduled and unscheduled startups and shutdowns, as well as at any other time upon user request. Several processing techniques and predictive models, based on ML technologies, may be used to extract information from the large amount of data collected during the structural fatigue testing of aeronautical components. These algorithms were implemented in the fog layer, whether in the RPi node or in the desktop computer (real-time analysis of test data in Figure 2).