Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

https://github.com/autogrow/openminder

Open Source Rootzone Monitoring
https://github.com/autogrow/openminder

agriculture horticulture irrigation nutrient-monitoring ph-monitoring rootzone runoff

Last synced: about 2 months ago
JSON representation

Open Source Rootzone Monitoring

Lists

README

        

# OpenMinder™

[![](https://godoc.org/autogrow/openminder?status.svg)](http://godoc.org/github.com/autogrow/openminder) [![License: CC BY-NC-SA 4.0](https://img.shields.io/badge/License-CC%20BY--NC--SA%204.0-lightgrey.svg)](https://creativecommons.org/licenses/by-nc-sa/4.0/)

Part of Autogrows open initiative, this project is an open source API to be used in conjuction with
the open source OpenMinder hat for the RaspberryPi. When coupled with the hardware this server will read
and report via a REST API the readings for:

* 2 Autogrow Intelligent EC probes
* 2 pH probes
* 2 tipping buckets

This allows anyone to build a device that can monitor the rootzone of their plants to make the most optimum
use of water and fertigation ingredients to ensure a happy plant. This is done by measuring the water going
into the plants on the irrigation side, as well as coming out on the runoff side, thus allowing comparisons.

You can also use the [Sample OpenMinder Dashboard](https://github.com/autogrow/openminder-sample-dashboard) to add a web interface that shows the readings from the REST API.

## Getting Started

The following is a quick getting started overview:

1. Connect the OpenMinder hat to your Raspberry Pi
1. Install the latest version of Raspbian (other OS may work but have not been tested)
1. Build or download the binary, or install the Debian package
1. Run the binary or [service](https://github.com/autogrow/openminder/tree/master/dpkg/lib/systemd/system/openminder.service)
1. Calibrate your probes and tipping buckets
1. Call the readings endpoint for the API `curl http://:3232/v1/readings`

See the [Getting Started](https://lab.autogrow.com/docs/en/om-getting-started.html) page for more detail.

## Installing

You can install the package from the [Autogrow Debian Repository](https://packagecloud.io/autogrow/public):

curl -s https://packagecloud.io/install/repositories/autogrow/public/script.deb.sh | sudo bash
sudo apt-get install openminder

## Building

You can download pre-built binaries from the [releases page](https://github.com/autogrow/openminder/releases)

You can build the binaries using go:

go get github.com/autogrow/openminder
GOARCH=arm go build github.com/autogrow/openminder/cmd/openminder # API and hat interface
GOARCH=arm go build github.com/autogrow/openminder/cmd/omcli # command line client

You can build the package using the [ian](https://github.com/penguinpowernz/go-ian) utility:

cd dpkg
ian build
ian pkg

## Usage

You can simply run the API without any arguments to use the defaults for the hat.

openminder

You can change the API port like so:

openminder -p 3131

You can also change the tipping bucket GPIO ports (usually only needed for testing) like so:

openminder -tb1 GPIO17

See `openminder -h` for more information.

### API Endpoints

The main interaction with the binary is via the API. See the [API](https://lab.autogrow.com/docs/en/om-api.html) page for more detail.

## Calibration

Some readings need to be calibrated to make any sense. For instance to turn the tip count into
a volume reading, the minder needs to know how many millilitres each tip of the tipping bucket
represents. To set the runoff tipping bucket to 5 mls per tip you could do:

curl -XPUT http://:3232/v1/calibrations/irrig_tb/5.0/0

### Probes

Calibrating the EC and pH probes required the use of the companion CLI tool `omcli`. This provides
a series of prompts to help calibrate the probe in place.

## Contributing

We accept pull requests. If you need any help, please don't hesitate to open an issue.