Available for pre-order
View Purchasing OptionsProject update 5 of 5
Dear Backers,
Thank you for your support. We believe we can build a thriving community around our Polverine project. This week, we modified the source code directory tree layout to simplify the integration of the BOSCH SDK libraries into Polverine DEMO projects.
A Python script now checks for the presence of the BOSCH SDK libraries and guides you to download them from the internet. Once downloaded to a local directory, you simply need to copy them to the correct path and all projects will be ready to compile without issues.
For detailed instructions, please refer to the README file located within the project directory.
Last week, we introduced the three demo applications we shared on GitHub. This week, we will delve deeper into the data flow of the POLVERINE_FULL_MQTT_DEMO.
The POLVERINE_FULL_MQTT_DEMO is a comprehensive data acquisition system that can be tailored to a wide range of scenarios, from a single Polverine sensor in a local setup to a geographically distributed network of thousands of Polverine sensors.
The firmware for the POLVERINE_FULL_MQTT_DEMO gathers data from its onboard sensors and transmits it using the MQTT protocol. The integrated WiFi module enables connectivity to a local WAN and subsequently to the internet.
Data is published to topics that include the device’s unique SENSORID (specifically, the last six characters of its MAC address).
The message contains the data in JSON format:
{
"ID": "54ADD8",
"R": 9131.2,
"PM10": 32,
"PM25": 24,
"PM1": 11,
"obst": "no",
"omr": "no",
"T": 11.1
}
{
"ID": "54ADD8",
"R": 8556.6,
"T": 6.25,
"P": 98956.57,
"H": 98.75,
"IAQ": 73.9,
"ACC": 3,
"CO2": 1026.85,
"VOC": 1.76
}
{
"ID": "54ADD8",
"T": 6.25,
"S": 1,
}
The data flow is divided into three main blocks:
Data Acquisition and Transmission: Data is collected from the Polverine Sensor Device and transmitted to an MQTT Broker using the TCP protocol.
Data Processing and Storage: A NodeRed Flow running on a server subscribes to the following MQTT topics:
polverine/+/bmv080
polverine/+/bme690
polverine/+/sys
(planned for implementation)The data received from these topics is then stored in a MongoDB time-series collection.
Additionally, the server flow connects to the OpenWeatherMap API to download and store time-series meteorological data in a database. This information can be useful for understanding and correlating the Polverine sensor’s readings of outdoor weather conditions.
NodeRed Flows are quite straightforward, as can be seen in the following images:
The MongoDB non-relational database stores the sensors data and makes it accessible for display and analysis, with each data record being time-stamped. A list of all Polverine devices is stored alongside the recorded data.
All you need to set up a fully-featured environmental sensing data acquisition system at the edge is a few Polverine devices and a Raspberry Pi or even an old computer. Alternatively, you can use an MQTT broker in the cloud to gather data from Polverine devices distributed across a geographical area.
With the provided firmware, setup is simple and intuitive. Plus, everything is open source—allowing you to start with the supplied firmware, software, and hardware, and customize it to create your own solutions!
If you have any questions or want to share your ideas, feel free to reach out via the Ask a Question link on our campaign page, or connect with us on social media.
Thanks again for being part of this journey. More updates coming soon!
Best,
The Polverine Team