PV284 Colloquium Project Alice Bob Eva November 2023 1 Project brief description The project is an example of meteorological station data collection system. The system consist of three nodes: Node A - the meteorology station itself collects data, Node B is a data broker connected to meteorology station by Modbus and offering data to upper-layer applications via MQTT protocol, and node C presents the long-term data to end users via Grafana. The overall structure of the project can be seen from picture 1. Node A Node B Node C MODBUS Meteorology station Broker Data processing TCP/IP Figure 1: The overall project structure. 2 Project solution The project solution was straightforward, no meaningful obstacles faced. Node A runs on IoT Lab equipment consisting of STM32 MCU module, RS-485 communication module and application board containing all necessary sensors. Node B runs on IoT Lab equipment consisting of RockPi S CPU module, RS-485 communication module, and application module containing LCD display. The display was used for debugging purposes. Node C runs on a virtual machine on Stratus.FI, using Debian 12 image offered by CVTFI as a template. Modbus protocol is based on the library [1]. Modbus address of the Node A was 35, the input registers are assigned as follow: 300100 Temperature 300200 Relative humidity 300300 Barometric pressure Alice contributed the software for STM32 MCU on Node A. Bob was responsible for the Node B. Eva contributed the configuration of Grafana data collector and web interface. 1 3 Conclusion This simple example can be easily extended to more complex project containing mode sensing units on the Modbus and/or more brokers offering data to the cloud application represented by the Grafana in our case. References [1] https://www.arduino.cc/reference/en/libraries/arduinomodbus/ 4 Appendixes 4.1 Software of node A The software for STM32 was prepared on Arduino IDE. The source code is here: The source code goes here. 4.2 Software of node B The software for Node B - the RockPi S - was prepared in Python/C/Bash/... : The source code goes here. In case of more files, please put a 1-2 lines comment on each. 4.3 Software of node C Node C runs on a virtual machine on Stratus. A standard grafana package was used, the configuration file is here: The config file(s) goes here. 2