Skip to content

Latest commit

 

History

52 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SensorCare Local Hub

This repository contains the in-home backend element of the wider project "Supporting Independent Living", as part of a 4th year university team project. The goal of the wider project was to create a system to support people before they formerly entered the UK social care system with a form of at-home activity monitoring. As such, after reviewing existing solutions on the market we designed the project to be:

  • Low Cost: Minimising the upfront & monthly costs, a major factor in pickup.
  • Privacy Focused: As little invasiveness as possible as you can be for monitoring.
  • Modular: Tailorable to a variety of different conditions.

With these, we created a multi-sensor activity monitoring system, with a portion of the processing done locally within the home to transmit only the necessary summarised stats to a remote web server for monitoring by a carer. The responsibility of this repository is to handle the ingesting, processing, & syncing on the local side.

Project diagram with a potion of the relevant backend highlighted.

To achieve this, the "local hub", had internal aims set to handle high velocity data, as investigated in it's accompanying write-up and testing under "Examining High-Velocity Data in Communication & Storage to Support an Accessible Solution to Independent Living". To achieve this, an SCTP-like protocol was developed to streamline the ingest to sync pipleline, as well as considerable tweaking to reduce overall overhead throughout the processing.

Protocol flow diagram showing sensor setup with a context message, followed by a stream of sensor data logs.

With the state as of the end of the write-up (May 2026), the largest bottleneck lays with the maximum amount of concurrent writes supported by an SQLite DB. Future work to address this would involve replacing this component with a more robust locally hosted database service, with more control over the writes.

For more details or an extract of the write-up, reach out to me on LinkedIn and I can share more details:

LinkedIn: /in/will-scully

Running the Project:

  • To test the system as a whole, look at the Assembly Line project.
  • To test just this component, see the documentation below, as written during development:

Setting Up Developer Environment

Make sure you install the project with the following command:

pip install -e .

After that, you can run the project's main components via:

  • Test Client: python -m sensorhub.testclient
  • Local-Hub Server: python -m sensorhub.localserver
  • Test Remote Environment Setup: python -m sensorhub.testremoteserver

Data produced by the client & local-hub server like logs and the sqlite database are then dumped into a data folder.

Resources

For summaries of what each submodule does, check their __main__ and __init__ files to get a short description.

Libraries

  • sensorhub.core
  • sensorhub.testremoteserver

Entrypoints

  • sensorhub.testclient
  • sensorhub.localserver

Otherwise, docs/ includes larger guides on how this project works. (i.e, the sensor <---> local hub protocol)

About

Collection of sub-projects used to run & test the localhub (in-home hub) component

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Contributors

Languages