Home Data Collection Tools
A mono repository containing all the homebrew collectors and REST APIs running on the local server. See it in action here.
Contents
This repository houses various projects. All are listed below.
- The Zeverlution S3000 logger, documentation
- The Landis Gyr E350 logger, documentation
- Two pistache REST HTTP APIs, documentation
- A solar panel log server, documentation
- An electricity log server, documentation
Project Directory
|- .vscode => A folder with Visual Studio Code IDE specific files, for developing this project
|- docs => A folder housing all the documentation files (*.md)
|- include => A folder housing all the header files used by the source files in src/
|- script => A folder with handy bash scripts to create and migrate databases
|- src => A folder with all the source files of the different projects that require compilation
|....|- electricity-logger => The Landis Gyr E350 logger source files
|....|- electricity-server => The pistache REST API sources for serving the electricity logs
|....|- solar-logger => The Zeverlution S3000 logger source files
|....|- solar-server => The pistache REST API sources for serving the solar panel logs
|- systemd => A folder with example systemd service files for the servers
Miscellaneous
A few benchmarks have been done for the solar-server project, which can be found here.
Dependencies
Runtime (server)
- Curl: the multiprotocol file tranfser library, website
- cxxopts, website
- Docker CE, website
- GNU Make, website
- Pistache: an elegant C++ REST framework, website
- Spdlog, website
- Sqlite3: a small SQL database engine, website
Development
In addition to all the runtime dependencies the following dependencies are required for development:
- A C++20 compatible compiler