This is a system for measuring and monitoring civil infrastructure, private property, and other assets. It is designed to be low cost, low power, and easy to deploy. It is also designed to be modular and extensible, so that it can be adapted to a wide variety of use cases.
The hardware is based on the ESP32 and RP2040 microcontroller. It is a low cost, low power system that can be deployed in a wide variety of environments.
The software is written in C++ and Python. It is designed to be modular and extensible.
This repository contains the firmware for the xerxes sensors. It is written in C++ and runs on the RP2040 microcontroller. It is designed to be modular and extensible. Currently, it supports the following sensors:
- temperature using digital thermometer
- linear distance using LVDT sensors
- inclinations using accelerometers
- strain using strain gauges
- voltage using dedicated 16bit ADC
- acceleration using accelerometers
- pressure using medical pressure sensors
- air pollution:
- Particulate Matter (PM) 0.3um - 10um
- Gaseous pollutants (CO, NO2, O3, SO2)
- Temperature and humidity
- Light pollutants (lux)
- Sound pollutants (dB)
This repository contains a bridge between the xerxes-rp2040 sensors and the REST API. It is written in C++ and runs on the ESP32 microcontroller. It uses SIM cards to connect to the internet and send data to the REST API using LTE-M.
This repository contains the software to run on high power nodes. It is written in Python and runs on a Raspberry Pi or similar. It is designed to be fast acting and collect data from the sensors as quickly as possible.
This repository contains the protocol for communicating between the sensors and the nodes. It is written in Python and provides a high level interface for the data acquisition and control.
This is a port of the xerxes-protocol. It is written in C++ and provides a higher performance interface for the data acquisition and control with lower demand on the CPU/memory.
This repository contains the REST API and web interface for the system. It is running on AWS Elastic Beanstalk and is written in Python.