Documentation
  • Welcome
  • 🚀Getting Started
    • Introduction to AstroPlant
  • 🌱AstroPlant Kit Setup
    • Welcome to the setup guide
    • Designing your project
    • Operation & safety
    • Building the Maker Kit
      • Electronics assembly [Maker Edition]
      • Electronics assembly from scratch
      • Casing assembly v5.2
      • Extension shield connection mapping
    • AstroPlant software
      • Kit software setup
      • Building your kit software from scratch
      • Updating your kit software
      • Changelog
    • Registering and configuring a kit
    • AstroPlant Growth Protocol
    • Resources
    • Setup FAQ
  • ⌨️ Developers
    • Become a space dev!
      • AstroPlant Ecosystem
      • Data Concepts and Terminology
      • Software Architecture
      • GitHub Repositories
    • Core API
      • Getting Started
      • API Models
      • Live Feeds (WebSockets)
    • Community Platform
      • Architectural Decisions
      • Documentation
        • Project Structure
        • Front-End
        • Back-End
      • Development Setup
      • Roadmap
    • Software Customization
      • Use cases
    • Developers FAQ
  • 📚Resources
    • Contributing
Powered by GitBook
On this page
  • Kit Architecture
  • Back-end Architecture

Was this helpful?

  1. ⌨️ Developers
  2. Become a space dev!

Software Architecture

PreviousData Concepts and TerminologyNextGitHub Repositories

Last updated 4 years ago

Was this helpful?

The AstroPlant kit is an Internet of Things framework for monitoring and control systems, especially the namesake . Kits are controlled from a central back-end, and kit data is collected there.

An overview of the official kit, back-end and web user interface implementations can be found at the . The modules are designed to work together, but any module implementing the relevant APIs, such as a replacement of the core kit software, is supported.

Kit Architecture

The kit software is split into two parts.

  1. The manages the lifetime of and communication between peripheral devices, implements the kit Remote Procedure Call system for remote control, and communicates with the back-end using the Kit API. The core software provides a fuzzy-logic and schedule-based controller to command actuators based on time-of-day and sensor input.

  2. Implementations of peripheral devices (such as sensors and actuators) know the details of communicating with specific hardware or systems. These implementations are loaded dynamically by the core software, based on the module names as given in the kit configuration retrieved from the back-end. The peripheral devices used in the AstroPlant growth system project are implemented in the .

Back-end Architecture

TO DO

AstroPlant plant growth system
GitHub Repositories section
core kit software
AstroPlant Peripheral Device Library