The Backyard Meteorological Instrumentation project is based on software developed using the Qt Development Environment on Linux systems using Raspberry Pi and X86 64-bit hardware (Linux and Windows 11). Support modules may also use Raspberry Pi 32-bit hardware and/or Arduino Uno-compatible systems. One of the aims of this project is to explore the Qt Development as a means to create code that can be used independent of the operating system. However, It will not be possible to use the Qt Development Environment with the Arduino, and nor is it practical to use many of the sensors with the X86 hardware where the features required by the sensor are not exposed to the user (I2C interfaces, etc.).
One of the features of the Raspberry Pi 4 that will be utilised is the multi-tasking operating system using the multiple CPU cores to attempt to provide sensors types with their own independent programs with reading being aggregated from these programs and stored in a database as well as being displayed on the Internet. For this project inter-process communications will use QtRemoteObjects to keep the interdependencies as low as practical.
Given that the Raspberry Pi 4 has 8GB internal memory and a 128GB micro-SD card, as well as a Gig-E Ethernet connection of an x86-64 server with over 10TB of storage, the code for this project does not concentrate on minimising bandwidth or conserving resources outside of what is required properly run the project.