2.5 KiB
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)
- small PCBs with AVR microcontrollers, for now:
-
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
- aqhome-data