Rewrite electricity-logger to use an sqlite3 database
This commit is contained in:
51
README.md
51
README.md
@@ -1,3 +1,50 @@
|
||||
# home-data-collection-tools
|
||||
# Home Data Collection Tools
|
||||
|
||||
A collection of tools to log collected data from a Zeverlution smart inverter and DSMR protocol supporting meters.
|
||||
A mono repository containing all the homebrew collectors and REST APIs running on the local server. See it in action [here](https://valkendaal.duckdns.org).
|
||||
|
||||
## Contents
|
||||
|
||||
This repository houses various projects. All are listed below.
|
||||
|
||||
- The Zeverlution S3000 logger, [documentation](docs/SOLAR_LOGGER.md)
|
||||
- The Landis Gyr E350 logger, [documentation](docs/ELECTRICITY_LOGGER.md)
|
||||
- Two pistache REST HTTP APIs, [documentation](docs/SERVER.md)
|
||||
- A solar panel log server, [documentation](docs/SOLAR_API.md)
|
||||
- An electricity log server, [documentation](docs/ELECTRICITY_API.md)
|
||||
- A migrator to convert and build data structures yielded by the loggers, [documentation](docs/MIGRATOR.md)
|
||||
|
||||
## Project Directory
|
||||
|
||||
|- `.vscode` => A folder with Visual Studio Code IDE specific files, for developing this project </br>
|
||||
|- `docs` => A folder housing all the documentation files (`*.md`) </br>
|
||||
|- `include` => A folder housing all the header files used by the source files in `src/` </br>
|
||||
|- `script` => A folder with handy bash scripts to create and migrate databases </br>
|
||||
|- `src` => A folder with all the source files of the different projects that require compilation </br>
|
||||
|....|- `electricity-logger` => The Landis Gyr E350 logger source files </br>
|
||||
|....|- `electricity-server` => The pistache REST API sources for serving the electricity logs </br>
|
||||
|....|- `migrator ` => The migrator source files </br>
|
||||
|....|- `solar-logger` => The Zeverlution S3000 logger source files </br>
|
||||
|....|- `solar-server` => The pistache REST API sources for serving the solar panel logs </br>
|
||||
|- `systemd` => A folder with example systemd service files for the servers </br>
|
||||
|
||||
## Miscellaneous
|
||||
|
||||
A few benchmarks have been done for the solar-server project, which can be found [here](docs/BENCHMARK.md).
|
||||
|
||||
## Dependencies
|
||||
|
||||
### Runtime (server)
|
||||
|
||||
- Curl: the multiprotocol file tranfser library, [website](https://curl.haxx.se/libcurl/)
|
||||
- cxxopts, [website](https://github.com/jarro2783/cxxopts/tree/v3.0.0)
|
||||
- Docker CE, [website](https://www.docker.com/)
|
||||
- GNU Make, [website](https://www.gnu.org/software/make/)
|
||||
- Pistache: an elegant C++ REST framework, [website](http://pistache.io/)
|
||||
- Spdlog, [website](https://github.com/gabime/spdlog)
|
||||
- Sqlite3: a small SQL database engine, [website](https://www.sqlite.org/index.html)
|
||||
|
||||
### Development
|
||||
|
||||
In addition to all the runtime dependencies the following dependencies are required for development:
|
||||
|
||||
- A C++20 compatible compiler
|
||||
|
||||
Reference in New Issue
Block a user