Here a small presentation of the "smart house project" I'm working on. 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 conducts to the following architecture:The heart of the network is the well known Mosquitto MQTT broker which is feed by several daemons:
- Marcel (the rabbit 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.
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.
- 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.
The technical layer is now finished (MQTT message consumption, low level display handling) and I'm starting to work on the dashboard itself.
Comments
Please log in or sign up to comment.