| Edited by destroyedlolo at Tue Jul 7, 2015 10:38 |
Here a small presentation of the "smart house project" I'm working on. All is home made and all is open source : more information and links on my French web site
At the beginning, I created a monitoring tool ala "Nagios" but w/ the goal to be resource conservative. This tool, named Domestik, runs on my basement BananaPI and is wrote in PHP, Lua and is using a PosgreSQL database and uses intensively REST webservice for its communication.
The problem is such architecture is good for a central monitoring solution, data archiving or such, but not to spread data among several "monitors".
As I'm currently deploying a 1wire Network (the information on this page), I kept Domestik for computers monitoring and house data archiving, but I moved live data to an MQTT network.
It conduct to the following architecture :
The heart of the network is the well known Mosquitto MQTT broker which is feed by several daemons :
- Marcel (the rabit icon), which is a general purpose daemon that gatter 1wire data (temperature, humidity, ...), my ISP statistics, UPS figures and will be able to send me SMS alerts in case of it found something wrong.
- TeleInfod (the little daemon icon), is providing information about my electricity production and consumption.
- not on the schema, I'm thinking also to drive my rolling shutter
Marcel and TeleInfod are both writen in C, using Paho library to publish data.
On the uper left corner, Domestik as explained before.
All of above components are running on my basement BananaPI, under Gentoo/Linux which is acting as web server + network head (DHCP, NTP, name server, media server, file server, ...). As I already said several time on this forum (and on others ), I'm very happy with this little beast as it is serving well all those duties for almost 1 year, with an average of 1.5w consumption and with a CPU of about 0.1 to 0.2 !! Rooms for many other things
On the lower left corner, several monitoring clients :
with some explanation here.
- some Conky scripts to display information on PC desktop like in this very simple example (I did more complex one afterward) :
The technical layer is now finished (MQTT message consuption, low level display handling, ...) and I'm starting to work on the dashboard itself.
- Currently, I'm working on a "home dashboard", which will run on a BananaPro with an LCD screen which will display home figures in my living room, like temperatures, electricity consumption (my wife will be happy ), weather forcast, ski alerts ... all from the MQTT network.
If someone is interrested, I'm show how this project is going as reply on this message.