Embedded prototype of fall detection system based on incremental development model and motion data analysis app.
The project constitutes the appendix to my Engineering Thesis written for AGH University of Science and Technology in academic year 2017/18.
Abstract
- whole project based on incremental development model with one-week sprints
- several releases from which any could play a role of MVP
- provided hardware and software prototype
Development steps
- Build distributed measurement system for collecting data from the sensor and process it using PC.
- Perform ADL (activity daily living) scenario and simulate accidents.
- Implement fall detection algorithm.
- Add emergency system.
- ARM mbed SDK (release 150) and online IDE
- LabVIEW 2016
- NUCLEO-L476RG, ST Microelectronics
- 10 DoF IMU Sensor, Waveshare
- USB-UART converter
- microSD card slot
- buzzer, LED, button
- passive elements
- 4x AA batteries or other supply
- Prepare a prototype, based on schematic.
- Import project to online compiler. You have to do it manually - sorry!
- Import SDFileSystem as well as mbed (watch out - some newer versions could be incompatible).
- Make sure the pinout meet your expectations.
- Program the device.
The device works in two modes:
- fall detection
- data acquisition
To make use of its features go through the User Manual, section: A.2. How to use.
There are couple of commands for serial communication available:
Two links can be distinguished.
MCU-SENSOR
SENSOR-DATA ANALYSIS APP, SENSOR-STORAGE
Device has an ability to be configured with parameters shown below.
{
"SensorConfiguration": {
"AccelDLPFFrequency": "5HZ",
"AccelFSRange": "8G",
"Frequency": "100HZ",
"GyroDLPFFrequency": "5HZ",
"GyroFSRange": "1000DPS",
"InterruptMode": "DATA_RDY",
"InterruptPinMode": "OPEN_DRAIN_FALLING_EDGE",
"Resolution": 16
}
}
The configuration file is stored in the external memory. Can be changed via:
- serial port (as described earlier)
- data analysis app
Are stored as raw packets in external memory and sent via serial port on demand. For acquisition, circular buffer has been implemented. 10-second buffer for data is applied.
Always 5 s before and 5 s after event are available thanks to double-buffering.
Up to 150 000 can theoretically be saved in 4 GB external flash. Note that a data transfer between device and PC isn't efficient enough for sensible transfer of such a big amount of data.
Responsibilities | File extension: *.fsdat
Can be made with the app mentioned earlier. User interface is simple but readable. Features:
- browse and comment readouts
- configure device
- export data to CSV/JSON
- change graph display mode
Registered fall (in data acquisition mode)