A modular, discrete-time control daemon for a hydroponic garden, written in Lua.
Lua CSS HTML
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
configs
controllers
inputs add yyyy-mm-dd/ folders to high-res picture archiving in webcam input… Apr 10, 2015
outputs add gpiopulse output block Apr 10, 2015
postprocessors make blog entry title link to blog entry anchor in webstats postproce… Mar 5, 2015
tests
.gitignore add gitignore Jan 5, 2015
LICENSE
README.md add introduction to design document Mar 17, 2015
design.md
gardend.lua update version to 1.0.1 Mar 1, 2015
state.lua

README.md

gardend

gardend is a modular, discrete-time control daemon for a hydroponic garden.

Design

See the design document.

File Structure

  • inputs/: Input blocks
  • controllers/: Controller blocks
  • outputs/: Output blocks
  • postprocessors/: Post-processing blocks
  • tests/: Unit tests
  • configs/: Daemon configurations
  • state.lua: state management
  • gardend.lua: garden daemon
  • design.md: design document
  • LICENSE: MIT license
  • README.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.