https://github.com/bchoubert/electric-dashboard
https://github.com/bchoubert/electric-dashboard
polytech-lyon
Last synced: 3 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/bchoubert/electric-dashboard
- Owner: bchoubert
- Created: 2016-12-11T14:00:53.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2016-12-16T11:20:15.000Z (over 8 years ago)
- Last Synced: 2025-03-11T13:53:00.712Z (3 months ago)
- Topics: polytech-lyon
- Language: Python
- Size: 1.95 KB
- Stars: 0
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# electric-dashboard
The electric dashboard is an IOT schol project.
We had to use some imposed techologies and to develop interface parts.# Hardware
The hardware consists of an electric meter with an impulsion counter X-Devices.
This counter has an HTTP interface to request counter numbers.
The final product is also composed of a web interface built with Grafana on an InfluxDB database.
The middlehardware is a Raspberry Pi B+, which requests the HTTP interface of the counter and push the data on the server with a MQTT Topic (driven by Mosquitto).# Technology choices
The mandatory parts of the project (Database, Customer views, transfer to server) are pretty adapted to the project :
* The database, InfluxDB, is perfect to store data that don't need to be change. For an electric consumption monitoring, that's perfectly that we needed to insert new reports from the electric meter.
* The customer interfaces were made with Grafana. It's a powerful tool to build graphs, derivated functions and monitor data.
* The middle communication, Mosquitto, is the perfect tool to push to a public server data from local network. It's also an efficient tool that don't store data (it transmits directly message from sender to subscribers).# Implementation
On InfluxDB, we opened an account with a database.
Next, we created an admin user and a dashboard on Grafana.
After the opening of a new Mosquitto topic, we developed a Python program which suscribes to our Mosquitto topic and insert new lines to the database.
Also, we developed a Python script that fetch the HTTP service from the electric counter and publish it in the Mosquitto topic. This script is launched every minute with Cron.