Files
aqhomecontrol/README.md
2026-03-16 18:03:13 +01:00

2.5 KiB

Aquamaniac Home Control System (AqHCS)

Quickstart

Prerequisites

To compile the project the following software needs to be installed:

  • gwenhywfar (general purpose library, also containing some development tools)
  • avrasm (Opensource avr assembler)
  • gcc (GNU C compiler)

Building

  • download and unpack this project
  • cd into the main folder
  • create a build folder (e.g. "mkdir build")
  • cd into that "build" folder
  • configure package for building ("gwbuild -s ../")
  • build autogenerated files ("gwbuild -p" and "gwbuild -Btm2builder")
  • build project ("gwbuild -j NUM_OF_CPUS")
  • install project ("sudo gwbuild -i")

Overview

See https://gitea.aqbanking.de/martin/aqhome/wiki for more information (in German).

The Aquamaniac Home automation/control system consists of multiple parts:

  • nodes

    • small PCBs with AVR microcontrollers, for now:
      • AtTiny84
      • AtTiny85
      • AtTiny841
      • AtMega644
    • decentralized, nodes just broadcast measured data over a two-wire communication network (clock/data), addresses are auto-assigned, no prior setup necessary, no central bottleneck or single point of failure
    • node types
      • environmental measuring (temperature, humidty, CO2 and others)
      • motion detection, door/window sensors
      • LED strip controllers
    • modular operating system written in AVR assembler
    • event-driven GUI
    • driver modules for busses:
      • one-wire bus
      • two-wire-bus
      • SPI bus
      • UART
    • driver modules for devices/sensors (incomplete list):
      • DS18b20 sensors for temperature measurement
      • SI7021 sensors for temperature and humidity measurement
      • SGP_30 sensors for air quality measurement
      • ccs811 sensors for air quality measurement
      • SK6812 LED driver
      • ds3231 realtime clock module
      • I2C displays (work-in-progress)
      • SPI displays (work-in-progress)
  • applications

    • aqhome-data
      • TCP data service receiving sensor data
    • aqhome-nodes
      • service receiving sensor data via inter-node bus from nodes and forwarding that data to aqhome-data
    • aqhome-mqttlog
      • service exchanging data between aqhome-data service and a mqtt server
    • aqhome-react
      • service reacting to data received by aqhome-data (home automation service)
    • aqhome-tool
      • tool to manipulate aqhome-data (e.g. edit devices and values, add data points, create graphs from aqhome-data)
      • tool to flash firmware for nodes, list nodes
    • aqhome-cgi
      • HTTP service for user interaction with aqhome-data