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.