## 4 An Interoperable IoT Architecture for Precision Agriculture (RQ4)
### Comparison of Open-Source Software (RQ5)  
One of the functional requirements of the system is the use of open-source software in order to reduce development costs for precision agriculture. In fact, implementation costs often represent a major hurdle to overcome in the digitization of farms [10; 88]. Currently, there are few open-source alternatives for the implementation of the OGC SensorThings server. However, some projects are available to the public without licensing. For this project, the most comprehensive implementations currently available were selected and analysed. **Whiskers** is a framework built on the OGC SensorThings API, featuring a JavaScript client and a lightweight server designed for IoT gateway devices like Raspberry Pi. Its goal is to foster an open and healthy IoT ecosystem, in contrast to one that relies on proprietary information protocols [89; 90]. **FROST-Server** is an open-source server for the OGC SensorThings API[91]. The software is composed of two parts: The first, FROST-Server, implements the entire specification described by the standard, including all the extensions added later [92]. The second part, called FROST-Client, is a Java client library for communication with a server compatible with the SensorThings API. Figure 4: Flowchart of activities related to the operation of the connector. **Mozilla STA** is an implementation of the OGC SensorThings API node developed by Mozilla [93]. **52N SensorThingsAPI** is an open-source implementation of the OGC SensorThings API. Key features include compatibility with 52N SOS (which implements the OGC Sensor Observation Service), customizable database mappings, and various extensions. It can be deployed as a Docker container, on Apache or Tomcat, or as a standalone application [94]. Table 9 shows the comparison of the open-source software for the OGC SensorThings server, while Table 10 shows an analysis of open-source software in relation to interoperable requirements (RQ4) discussed in Section 4. For the implementation of the interoperable platform proposed in this work, we chose to use the FROST-Server software. Compared to its competitors, the software offered by the Fraunhofer Institute is more mature and complete, implementing all the specifications described in the OGC SensorThings standard. Additionally, it provides libraries for interfacing with it, which simplify the development of applications that utilize the standard. The libraries help to focus on application development by masking all the CRUD operations with simplified calls. \begin{table}
\begin{tabular}{c c c c c} \hline \hline
**Requirement** & **Whiskers** & **Mozilla STA** & **52N SensorThingsAPI** & **FROST-Server** \\ \hline No model constraints & ✓ & ✓ & ✓ & ✓ \\ \hline Support for various protocols & ✓ & ✓ & ✓ & ✓ \\ \hline Data homogeneity & & ✓ & ✓ & ✓ \\ \hline Scalability & ✓ & ✓ & ✓ & ✓ \\ \hline Data storage & & & & ✓ \\ \hline Data visualization with filters & & & & \\ \hline Sensor status monitoring & ✓ & ✓ & ✓ & ✓ \\ \hline Ease of use & ✓ & ✓ & ✓ & ✓ \\ \hline Open-source & ✓ & ✓ & ✓ & ✓ \\ \hline Mobile access & ✓ & ✓ & ✓ & ✓ \\ \hline Minimal maintenance & & & & ✓ \\ \hline \hline \end{tabular}
\end{table} 
Table 10: Open-source software in relation to the interoperable requirements discussed in Section 4.