gardend is a modular, discrete-time control daemon for a hydroponic garden.
See the design document.
inputs/
: Input blockscontrollers/
: Controller blocksoutputs/
: Output blockspostprocessors/
: Post-processing blockstests/
: Unit testsconfigs/
: Daemon configurationsstate.lua
: state managementgardend.lua
: garden daemondesign.md
: design documentLICENSE
: MIT licenseREADME.md
: this README
Lua 5.2 or greater
LuaRocks: lua-periphery
(for I/O and sleep), lua-cjson
(for state serialization), lsqlite3
(for state storage), lua-resty-template
(for webstats), lua-discount
(for microblog in webstats), busted
(for unit tests)
$ sudo luarocks install lua-periphery
$ sudo luarocks install lua-cjson
$ sudo luarocks install lsqlite3
$ sudo luarocks install lua-resty-template
$ sudo luarocks install lua-discount
$ sudo luarocks install busted
$ lua gardend.lua <configuration file>
Germination configuration:
$ lua gardend.lua configs/germination_config.lua
Feel free to report any issues, bug reports, or suggestions at github or by email at vsergeev at gmail.
gardend is MIT licensed. See the include LICENSE file.