An Edge Computing and Ambient Data Capture System in Clinical and Home Environments.
This repository contains scripts to simultaneously collect the following signals using off-body sensors.
- Human movement signal using a passive infrared sensor.
- Global and local difference signals (as a proxy for human movement) using a Raspberry Pi camera.
- Mel spectorgram and MFCC features from audio recordings recorded using a Fifine USB microphone.
- Geolocation of Bluetooth devices.
- Ambient light logging using the TCS34725 color sensor.
- Ambient temperature and humidity logging using the DHT22 sensor.
- Raspberry Pi 3B or Raspberry Pi 4 (2G).
- PIR sensor.
- NoIR Rapsberry Pi Camera V2 with IR emitters.
- TCS34725 Color sensor.
- DHT22 sensor.
- Fifine USB microphone.
- A Bluetooth Beacon.
Please run INSTALL.sh
script in a command line on a Raspberry Pi to install all the necessary software before using the scripts in this repository. The gui.py
contains the wrapper codes needed to record human movement and ambient environement data (including illuminance, temperature and humidity). The binarizeData.py
script can be used to convert data stored in text files to a binary format (specifically .mat). The mseComputation.py
utilizes the compiled mse
script to perform multi-scale entropy computations on various 1-D signals including the global difference signal. The uploadToCloud.sh
is an example script that can be used to upload recorded data to a cloud database.The scripts binarizeData.py
, mseComputation.py
and uploadToCloud.py
are all called from gui.py
as subprocesses.
The folder humanMovementDetectionToolbox
contains the python class and functions needed to capture human movement using the infrared Rapsberry Pi camera. The folder ambientLightSensingToolbox
contains the python class and functions needed to capture light illuminance. The folder temperatureAndHumiditySensingToolbox
contains the core script to capture ambient temperature and humidity values on a Raspberry Pi using the DHT22 sensor.
The folders ambientSoundRecordingToolbox
and ambientSoundAnalysisToolbox
contain the scripts needed to capture ambient audio, compute audio features and perform alarm note classification.
The folder geolocationToolbox
contains all the code needed to capture and process Bluetooth signal strength data to determine the location of a Bluetooth beacon.
- PIR sensor: One 32-bit floating point number per second
- RPI camera: 42 32-bit floating point numbers per second
- TCS34725: One 32-bit floating point number per second
- DHT22 sensor: Two 32-bit floating point numbers per second
- Microphone: 60 32-bit floating point numbers per second
- Beacon: Two 32-bit floating point numbers per second per Beacon per Raspberry Pi
- Raspberry Pi : $35.00 [57mm X 87mm]
- PIR sensor : $2.00 [24mm X 32mm X 25mm]
- RPi camera : $22.99 [25mm x 23mm x 9mm]
- TCS34725 : $9.35 [27mm X 20mm]
- DHT22 sensor : $9.99 [15.3mm X 7.8mm X 25.3mm]
- Microphone : $35.99 [124mm X 66mm X 185mm]
- Beacon : $24.00 [56mm X 55mm X 15mm]
- Coral USB Accelerator: $59.99 [65mm x 30mm]
Total = $199.31 [50cm X 35cm]
Please cite the following work when using this codebase.
To be updated