/openag-device-software

Device software for control environment agriculture embedded linux devices (e.g. Beaglebone, Raspberry Pi, etc.)

Primary LanguagePythonGNU General Public License v3.0GPL-3.0

OpenAg™ Device Software

Software for running controlled grow environments on embedded linux devices (e.g. Raspberry Pi, Beaglebone, etc.). The two main parts of the code base are the device threads and on-device app. The device threads coordinate recipes, control loops, and peripheral (sensor/actuator) interactions. The on-device django-based app coordinates the interations with the on-device database and hosts the local device UI (a.k.a. developer UI) + local device API. There is also an MQTT-based iot manager for communication with the OpenAg cloud.

Installation

While this software is designed to be used on any embedded linux microprocessor, the current harware this codebase is being developed for is the Beagle Bone Black Wireless. If you are familiar with a Raspberry Pi, it is effectively the same thing with a few minor differences.

The entire install process includes:

  1. Purchase a BeagleBone Black.
  2. Prepare SD Card Image.
  3. Flash Image onto BBB.
  4. Provision BBB.
  5. User Setup.

Proceed to Installation Part 1: Purchase BBB + SD Card

Contributing to the software projects

See Contributing for links to our forum and wiki.

This repo is distrubuted on production devices via debian packaging. For local development you have 3 choices:

  1. Start with one of the developer BBB images. Follow step 3: Flash Image onto BBB.
  2. Start with a brand new BBB. Follow step 2: Prepare SD Card Image.
  3. Use your OSX or Linux machine and use the Getting the code steps below.

Getting the code

Design