Skip to content

A modular, discrete-time control daemon for a hydroponic garden, written in Lua.

License

Notifications You must be signed in to change notification settings

vsergeev/gardend-lua

Folders and files

NameName
Last commit message
Last commit date

Latest commit

e6fb683 · May 11, 2015
May 11, 2015
May 10, 2015
Apr 10, 2015
Apr 10, 2015
Mar 5, 2015
Jan 21, 2015
Jan 5, 2015
Jan 7, 2015
Mar 17, 2015
Mar 17, 2015
Mar 1, 2015
Jan 17, 2015

Repository files navigation

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.

About

A modular, discrete-time control daemon for a hydroponic garden, written in Lua.

Resources

License

Stars

Watchers

Forks

Packages

No packages published