gardend
gardend is a modular, discrete-time control daemon for a hydroponic garden.
Design
See the design document.
File Structure
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
Dependencies
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
Running
$ lua gardend.lua <configuration file>
Germination configuration:
$ lua gardend.lua configs/germination_config.lua
Issues
Feel free to report any issues, bug reports, or suggestions at github or by email at vsergeev at gmail.
License
gardend is MIT licensed. See the include LICENSE file.