# The Integration of Internet of Things and Machine Learning for Energy Prediction of Wind Turbines
## 2 IoT and Wind Energy
### Composition of WECS  
Physical Layer in WECS: The wind energy conversion system comprises the following physical components: blades, rotor hub, nacelle, and tower foundations, as shown in Figure 3. The nacelle consists of several components, including shafts, a gearbox, a generator, and other electrical and mechanical systems. The various components are continuously monitored and regulated by a multitude of sensors and actuators [14]. The wind turbine is fitted with sensors that quantify multiple characteristics related to the functioning and state of each component. Simultaneously, the control system governs and manages the functioning of the wind turbine through a sequence of actuators. Cyber Layer in WECS: The cyber layer in WECS incorporates a variety of hardware and software technologies that collaborate to accomplish shared goals [14]. The cyber layer typically comprises networking, SCADA, and content management systems (CMS) as illustrated in Figure 4.  
Networking: Reliable communication networks between subsystems within a wind turbine are necessary for the successful deployment of WECS. Furthermore, it facilitates  
Figure 4: Cyber layer implemented in a wind farm. Figure 3: Wind turbine components. the connection of sophisticated machinery and intricately integrated devices across a wind farm. Networking essentially enables the efficient transmission of data and control signals among controllers, actuators, sensors, supervisory centers, and data storage stations [15]. When developing communication networks for wind farms, especially those located offshore, it is crucial to take into account many factors such as data transmission rates and network resilience. Various sensors are integrated inside a wind turbine to measure its numerous components, such as the generated current, voltage, and rotor speed. Let \(O_{i}(t),i=1,2,\ldots N\) be the measured state by the \(i\)th sensor of the wind turbine. We define \(O_{i}(t)\) by,  
\[O_{i}(t)\ =C_{i}\mathbf{X}(t)\ +\mathbf{n}_{i} \tag{1}\]  
* \(O_{i}(t)\): A vector of measurements with dimensions \(p\times 1\), where \(p\) is the number of components or parameters being measured by the \(i\)th sensor. * \(C_{i}(t)\): A matrix that represents the measurement or sensing data from the sensor \(i\) with dimensions \(p\times n\) where \(n\) refers to the number of state variables of the system being observed by the sensors. * \(\mathbf{X}(t)\): A vector that contains the state variables that describe the system's internal dynamics, such as electrical power generation, rotor speed, or internal parameters that are being monitored or controlled. The matrix \(C_{i}(t)\) represents the measurement or sensing data from sensor \(i\), while \(\mathbf{n}_{i}\) represents the observed noise during the measurement process. This noise is modeled as Gaussian noise with zero-mean and covariance \(R_{i}\), similar to the process noise. The measured state is transmitted at regular intervals to the control center for the implementation of the necessary actions. As wind turbines are generally located in remote areas, there is frequently no direct communication link between a wind turbine and the control center. Normally, the transmitter of a wind turbine establishes a connection with a nearby base station, which subsequently transmits the message to the control center. The communication link between the base station and control center is assumed to be reliable, as it is part of a solid backbone network. However, the wireless communication link between the wind turbine and the base station encounters challenges in ensuring reliable data transmission [5]. Dependable communication is crucial for precise state estimates and control applications. The observed state is denoted as \(O_{i}(t)=\left[o_{i1},\ o_{i2},\ \ldots,\ o_{ip}\right],\) where \(o_{ij}\) represents the measurement of the \(j\)th component of X obtained from the \(i\)th sensor. Every element of \(O_{i}(t)\) is transformed and discretized into \(K\) bits.