# IoT Services for Monitoring Food Supply Chains
## 3 Methodology and Implementation
### Platform Implementation  
Considering the various layers outlined earlier, which serve as essential components of an Internet of Things (IoT) platform, this work proposes a comprehensive management and visualisation schema for the collected data through a LoRa-based IoT Data Platform. This design is illustrated in Figure 2 and represents the primary objective of this study. The proposed platform features a distinct component that unifies the Sensing Layer and the Communication Layer. This component is known as the Field Implementation, which plays a crucial role in facilitating the hardware infrastructure for collecting and transmitting field data. On the other hand, the Data Processing and Storage Layer, the Services Layer and Applications Layer are consolidated into a single component known as the Software Implementation. The Software Implementation component was developed to provide a lightweight and efficient user interface for real-time data visualisation and system management. Specifically, the backend REST API was implemented using Node.js (version 18.16.0),which was selected for its long-term support, stability, and compatibility with asynchronous data handling. The frontend web interface was developed using vanilla JavaScript (ES6) along with Leaflet.js (version 1.9.4) to deliver interactive map-based visualizations of the sensor network. This component is responsible for data processing and storage, as well as providing various services and applications that utilise the collected data. Together, these components create a cohesive architecture that enhances the overall functionality and efficiency of the IoT Data Platform, ensuring seamless integration and operation across the different components. Figure 3 presents a comprehensive diagram that offers an in-depth illustration of the components of the Internet of Things (IoT) platform proposed in this paper. This representation aims to provide a clearer understanding of how each element interacts within the system, showcasing the integral parts that contribute to the overall functionality and efficiency of the platform. This visualisation is essential for grasping the proposed solution's aspects and technical specifications, facilitating a deeper appreciation of its design and implementation. In the Field Implementation component, we utilise specialised LoRa nodes that facilitate seamless integration with various sensor modules, which are equipped with LoRa modules for effective communication. A LoRa Gateway is used to receive and process data transmitted by LoRa nodes. Once the gateway collects the data, it is sent to the Software Implementation component via a TCP/IP stack for reliable transmission of data. This architecture not only ensures efficient data collection but also supports the necessary communication protocols to maintain a smooth flow of information between the different layers of the system [29]. Additionally, LoRa temperature and humidity sensors were strategically deployed at key nodes along the cold chain, including transport vehicles and delivery points. Each  
Figure 3: Proposed LoRa-based IoT platform. Figure 2: Platform implementation. sensor node was installed following a standard protocol that ensured coverage of thermal gradients. Key performance indicators included data accuracy (\(\pm 0.3\)\({}^{\circ}\)C, \(\pm 2\)% RH), packet delivery rate (target \(>\) 95%), and battery consumption. LoRa configurations included an SF10 dispersion coefficient, a 125 kHz bandwidth, and a transmit power of 14 dBm. Adaptive Data Rate (ADR) was enabled to improve energy efficiency based on link quality. All data was transmitted over the EU868 MHz frequency via multi-channel gateways, ensuring redundancy and reliable uplink performance. Our LoRaWAN network is deploying temperature and humidity sensors. The deployment protocol begins with strategic sensor placement to ensure optimal coverage and minimal interference, at consistent heights and away from sources that could skew readings.