@@ -4,8 +4,8 @@ Check [here](https://gitlab.com/Magnum_Energy/distribution/releases) for the lat
### There are two components to this software:
- A REST API (http) server that returns a JSON record of name/value pairs for all devices(s) data points. For Magnum Energy networked devices this reads the packets of information from the Magnum Network. There is support for adding other devices to this server. Refer to the **DATASERVER.md** document.
- A data logger that queries the server periodically, the default is 60 seconds, and generates various log records (CSV, JSON or MySQL) and/or can directly update a MySQL database. The types of output as well as the contents of individual log type can be configured.
- A REST API (http) server that returns a JSON object string of name/value pairs for all device(s) data points. For Magnum Energy networked devices this reads the packets of information from the Magnum Network. There is support for adding other devices to this server. Refer to the **DATASERVER.md** document.
- A data logger that queries the server periodically, the default is 60 seconds, and generates various log records (CSV, JSON or MySQL) and/or can directly update a MySQL database. The types of output as well as the contents for each individual log type can be configured.
A script to install runtime code is provided so no technical expertise is required to install or use it.
...
...
@@ -16,13 +16,14 @@ I used a Magnum Energy (**ME**) authored document to understand the messages (pa
- The reader is implemented as a REST API web server. No special programming skill is needed to access data.
- Platform agnostic -- the serial reader software\[1\] supports several platforms including Raspberry Pi, Intel Linux and Windows. This project is Raspberry Pi centered but that is not a limitation.
- Output is a consolidate JSON record of all data generated by each attached device.
- The server is implemented in Java and uses some third party proprietary run time code.
- The server is implemented in Java and uses some third party run time code.
- The server is designed to be a long-running program. It can be started as a regular program in user space but can also run as a service using systemd.
- Test programs are included to ensure the server is operating correctly.
- The server is extensible using plug-ins or just command line scripts so users can add functionality for extra data generation such as third party charge controllers or weather data.
- Tools and documentation are provided to allow programmers to develop these plugins and scripts.
- The serial software used is jSerialComm at <https://github.com/Fazecast/jSerialComm/>
- Server JSON support is provided by https://github.com/google/gson
- __PT-100 charge controller__ There are data collection issues with the PT-100. Please contact the author if you are uing a PT-100 so we can work together to improve the reader.
#### The data logger has these features:
...
...
@@ -30,7 +31,7 @@ I used a Magnum Energy (**ME**) authored document to understand the messages (pa
- Can post directly to a MySQL database and/or log SQL INSERT statements.
- Will, if necessary, automatically create any required MySQL tables or you can generate the CREATE TABLE statements.
- Can filter out data fields as there are a lot of useless ones that can be ignored. The user defined filters can also specify the order of the fields (useful for meaningful spreadsheets or defining a database table).
- The data logger can, optionally, generate events records, such as generator start and stop times or sunrise and sunset.
- The data logger can, optionally, generate events records, such as generator start and stop times or sunrise and sunset.
- Event records can be generated as CSV, JSON, MySQL insert or posted directly to a MySQL database
- A utility program can generate draft filter files to allow customizing of the logged output.
- The logging program and utilities are written in PHP so non-technical users can use, extend or modify the supplied code with a short learning curve.