openag-device-software
openag-device-software copied to clipboard
Software for running controlled grow environments on Linux / OSX machines and embedded linux devices such as Beaglebones and Raspberry Pis.
OpenAg Device Software
Software for running controlled grow environments on embedded linux devices such Raspberry Pi and Beaglebone.
Overview
This software is designed to be used on any embedded linux devices. It currently supports the Beaglebone, Raspberry Pi, and Standalone Linux-machines with a usb-to-i2c dongle. It can easily be adaped to a new platform such as a Dragonboard 410C or an Orange Pi. 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 interactions with the on-device database and hosts a local device UI and API. There is also an MQTT-based IoT manager for communication with the OpenAg cloud service.
Introductory Videos
- Introduction
- Getting Started
- Architecture Overview
- Device Overview
- App Overview
- Data Overview
- Scripts Overview
- Tests, Type Checks, Coding Conventions
Installation Instructions
- Raspberry Pi 3 Production
- Raspberry Pi 3 Development
- Raspberry Pi 3 Source
- Beaglebone Black Wireless Production
- Beaglebone Black Wireless Development
- Beaglebone Black Wireless Source
- Linux Machine (e.g. Ubuntu Laptop or Fanless PC)
Image Creation Instructions
- Create Image for Raspberry Pi 3
- Create Image for Beaglebone Black Wireless
Contributing Instructions
See Contributing for links to our forum and wiki.
Design Documents
- Code Structure Diagram
- System Architecture Diagram
- Light Control
- Aeration
Development
See USB to I2C communication cable for I2C development notes.