# IoT System for Detecting the Condition of Rotating Machines Based on Acoustic Signals
## 3 Architecture of the Proposed System
### Hardware Implementation
\begin{table}
\begin{tabular}{c c c} \hline
**Component** & **Specification** & **Price (Approx.)** \\ \hline \multirow{4}{*}{Raspberry Pi 3 Model B+} & Broadcom BCM2837B0, Cortex-A53 (ARMv8) 64-bit SoC @ & \\  & 1.4 GHz; 1 GB LPDDR2 SDRAM; 2.4 GHz and 5 GHz IEEE & \\  & 802.11.b/g/n/ac wireless LAN; extended 40-pin GPIO & \\  & header; 4 USB 2.0 ports & \\ \hline SD card & 32 GB, micro SD card Class 10 & 6 € \\ \hline \multirow{2}{*}{Xiaomi 10000 18 W Fast Charge Power Bank 3} & 10,000 mAh, 18 W, output: 5 V-2.4 A, Max. dim. & \\  & (L \(\times\) W \(\times\) H): 15 \(\times\) 7.5 \(\times\) 1.9 cm; weight 225 g & \\ \hline \multirow{4}{*}{Microphone AK5371 USB 2} & SNR 84 dB; frequency response: 20 Hz-16 KHz; sampling & \\  & rate supported: 8 KH, 11 KHz, 41 KHz, 11 KHz, & \\ \cline{1-1}  & 48 KHz, 16-bit stereo; sensitivity: –30 dB \(\pm\) 3 dB; 16-bit & \\ \cline{1-1}  & A/D converter; USB interface, cable length 1.5 m & \\ \hline \multirow{4}{*}{GSM-GPRS modem Waveshare GSM/GPRS/GNSS HAT} & Standard Raspberry Pi 40 PIN GPIO extension header, & \\  & supports Raspberry Pi series boards; supports SMS, phone & \\ \cline{1-1}  & GSM/GPRS/GNSS HAT & call, GPRS, DTMF, HTTP, FTP, MMS, email, etc. Control via & \\ \cline{1-1}  & AT commands; USB connection & \\ \hline \multirow{2}{*}{LCD} & 16 character \(\times\) 2 lines; 5 \(\times\) 8 dots; single power supply & \\  & (5 V \(\pm\) 10\%); I2C interface & \\ \hline Pushbutton Momentary Switches & MCS1901, 48 V/125 mA, vandal-proof, \(\mathcal{O}\)19 mm & 2 \(\times\) 10 \(\mathcal{E}\) \\ \hline \multirow{2}{*}{Circular Rocker Switch} & Rating 10 A 250 V AC, insulation resistance DC 500 V & \\  & 100 M1 Min, IP65, \(\mathcal{O}\)20, 2 mm & 3 \(\mathcal{E}\) \\ \hline \end{tabular}
\end{table} 
Table 2: Specification of components used for the design of the portable device from Figure 8.  
Figure 8: Portable device for acoustic signal acquisition and processing. The application that runs on the Raspberry Pi is written in the Python programming language including some of the publicly available libraries. Some of them are: RPi.GPIO (for operations with general purpose input/output ports), PyAudio (for operations with audio signals and files), NumPy (for working with arrays and numerical calculations). This application starts when the operating system is booted, that is when the device is turned on. In the development and testing phase of the device, the application works by offering the user a choice between acquiring a new acoustic signal and processing already recorded acoustic signals in the form of audio files. If the user selects the acquisition of a new audio signal, the recording of the signal captured by the connected microphone begins. The PyAudio library [35] is used for recording, which can be used to easily record and play audio signals on various platforms, including the Raspbian operating system. Recording is performed with a frequency of 48 kHz and a resolution of 16 bits. The duration of the recording is limited to five minutes, and in the processing phase it is software-wise divided into smaller pieces, more suitable for processing. Since the device for acquisition and signal processing should work in industrial conditions, where it is not always easy to bring the power from the public grid to this device, a power bank is used as the power supply. Most of the device's components are small consumers of electricity. However, one of the components is the GSM/GPRS module, which sends the data to the cloud. During the activation of this module, it is necessary to provide a current of close to 2 A, which is a limiting condition for choosing an adequate power source. In our prototype, we use a Xiaomi Power Bank 3 [36], which contains a Li-polymer battery with a capacity of 10,000 mAh. Our device is powered via a USB-A port of a power bank that delivers 5.1 V and provides 2.4 A.