This project will address a Tinkerforge weather station. There are
- The
datacollector
for reading the data of the weather station. - The
remotedevice
for dealing with the data in form of saving them, historize them and compress them somehow. - The UI for displaying the data processed by the
remotedevice
.
Weatherstation is distributed under the terms of the GNU LESSER GENERAL PUBLIC LICENSE, version 3.0. The text of the license is included in the file LICENSE.TXT
in the project root.
As training for my developer skills, I'm using my Tinkerforge weather station for excercising.
You need to have some software installed to compile this project. There are
- The Tinkerforge Brick Daemon to run the software.
- The Tinkerforge Brick Viewer to update the firmwares.
- The MS .net Core 3.1 SDK for compiling/extend the software.
The software consists of several parts. To get a feeling about the parts, see the following scenarios:
- There is only a Raspberry Pi available
- You have to connect the weatherstation to the Raspberry Pi.
- You have to run the
datacollector
on the Raspberry Pi. - You have to select some of the Plugins to read and store the data.
- There is a Raspberry Pi and a server (either Windows x64 or Linux x64) available
- You have to connect the weatherstation to the Raspberry Pi.
- You have to run the
datacollector
on the Raspberry Pi. - You have to select some of the Plugins to read and store the data - at least the
MQTT
-plugin is required. - You have to run the
RemoteDevice
on the server. - You have to select some of the Data Sink Plugins to store the data on the server.
- There is only a server (either Windows x64 or Linux x64) available
- You have to connect the weatherstation to the server.
- You have to run the
datacollector
on the server. - You have to select some of the Plugins to read and store the data.
Basically you want to use all Data Source Plugins and usually not all of the Data Sink Plugins.
See the datacollector documentation for more details.
See the remotedevice documentation for more details.
See the plugin documentation for more details.
To build and run the software, see here for more details.
- Check installation guide for .net 3.1!
- Remember to remove M2MqttDotnetCore NuGet package at
datacollector
before publish - Setup UI: The combination of a time series database and an UI like Grafana looks very promising. Thanks to Joachim Hummel for inspiration.