You have some sensors and you would like to monitor their values. This backend system can save data and create some interesting graphs.
This is an API which can save measurements from sensors placed at your home or any place. Something like home assistant but written by me for practice.
Some basic Features:
- A user can have one or more houses.
- A house can have one or more spaces
- A space can have one or more sensors
- Every external device is authenticated with a token or for special calls with username/password
- There are expiring tokens every day or persistent for special users.
- Limits for devices a user can connect with tokens
At this state, there is no front end management system or a user friendly UI, will fix it someday. If anyone is interested we can work together this piece of code. Always for fun
Any suggestions on security or code techniques are appreciated. Code is free for modifications.
You can clone and use this as a normal Django app. This is not a tutorial on installing Django, sorry...
Install project requirements with:
pip install -r requirements.txt
For using the api endpoints with your clients like custom weather stations or arduino/raspberry see the API.md file for instructions
- Django - The web framework for perfectionists with deadlines.
- DRF - Django REST framework is a powerful and flexible toolkit for building Web APIs.
Fell free to give advice, code reviews or any other ideas
- Stefanos I. Taklidis - Initial work - tsaklidis.gr
Project has built in panel in order to monitor your sensors. This panel is behing a login page.
If you need more complex fron-end panel, Grafana has everything you need!
This project is licensed under the MIT License - see the LICENSE.md file for details
- System can be unstable. Use with your own risk