54 lines
1.8 KiB
Markdown
54 lines
1.8 KiB
Markdown
|
|
# Aquamaniac Home Control System (AqHCS)
|
|
|
|
## Overview
|
|
|
|
Home automation/control system consists of multiple parts:
|
|
- nodes
|
|
- 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
|
|
- small PCBs based on AVR microcontrollers
|
|
- AtTiny84
|
|
- AtTiny85
|
|
- AtTiny841
|
|
- AtMega644
|
|
- 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:
|
|
- 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
|
|
- 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
|
|
|