Skip to content

BViganotti/diviga_atmos-public

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Atmos: Atmospheric Control System

Atmos Logo

Table of Contents

Overview

Atmos is a sophisticated atmospheric control system designed to monitor and manage environmental conditions. Built with Rust, it leverages various sensors and relays to control temperature, humidity, and ventilation in a controlled environment. This project is ideal for applications such as home-made charcuterie, wine cellars, or any environment requiring precise atmospheric control.

Features

  • Real-time monitoring of temperature and humidity
  • Automated control of cooling, heating, humidification, and dehumidification
  • Web-based API for remote monitoring and control
  • Integration with InfluxDB for data storage and analysis
  • Configurable settings for different environmental requirements
  • Robust error handling and logging

Project Structure

The project is organized into several modules, each responsible for specific functionalities:

Installation

  1. Ensure you have Rust and Cargo installed. If not, install them from rustup.rs.

  2. Clone the repository:

    git clone https://github.com/yourusername/atmos.git
    cd atmos
    
  3. Install dependencies:

    cargo build
    
  4. Set up the necessary hardware (Raspberry Pi, sensors, relays) according to the hardware setup guide.

Configuration

  1. Copy the example configuration file:

    cp config.example.toml config.toml
    
  2. Edit config.toml to match your environment and hardware setup.

  3. Set up environment variables or use a .env file for sensitive information like database credentials.

Usage

To compile the Atmos system:

CROSS_CONTAINER_OPTS="--platform linux/amd64" cross build --release --target arm-unknown-linux-gnueabihf

The system will start monitoring and controlling the atmosphere based on your configuration settings.

API Endpoints

Atmos exposes several API endpoints for monitoring and control:

  • GET /api/atmosphere/full: Retrieves full atmospheric data.
  • POST /change_fridge_status: Changes the fridge relay status.
  • POST /change_humidifier_status: Changes the humidifier relay status.
  • POST /change_dehumidifier_status: Changes the dehumidifier relay status.
  • POST /change_ventilator_status: Changes the ventilator relay status.

For detailed API documentation, refer to the API Documentation.

Development

To set up the development environment:

  1. Install development dependencies:

    cargo install --path .
    
  2. Run the project in development mode:

    cargo run
    
  3. For hot-reloading during development, you can use cargo-watch:

    cargo install cargo-watch
    cargo watch -x run
    

Testing

Run the test suite with:

cargo test

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published