Activity monitoring for seniors living alone


The Seheiah system (see the box "Why the Name?") presented here was developed as part of a research project, against the background of increasing poverty in old age and the projected shortage of nurses [11]-[13]. The aim of the study was to develop a system capable of monitoring the activity of people living alone in a discrete, low-maintenance, and privacy-respecting way and of alerting relatives and friends in an assumed emergency on the basis of daily water consumption – all for less than EUR 100.

Why the Name?

The ancient Hebrew tradition known as Shemhamphorasch derives the 72 names for God, which are sometimes interpreted as the 72 angels or intelligences. The 28th angel, Seheiah, is the angel of longevity and protection against falls, accidents, and diseases. Besides the ability to predict events, Seheiah's capabilities also include rehabilitation, health, and great wisdom and inner peace from experience.

How It Works

Seheiah is based on a Raspberry Pi (Rasp Pi) Model B, an Arduino Uno, a flow sensor, and a USB webcam with a microphone (Figure 1). The flow sensor is installed downstream of the main water valve, so that all points of consumption can be monitored with a single device. When water is drawn, a small rotor inside the sensor rotates. An integrated Hall effect sensor registers the rotations and returns values between 0 and about 20,000, which are read by the Arduino and transmitted to the Rasp Pi. However, the recorded values are not authoritative. The flow sensor simply acts as a state sensor, which has the states "water flow" or "no water flow."

Figure 1: Seheiah hardware: Rasp Pi, Arduino Uno, flow sensor, and webcam.

Besides the Arduino, a USB webcam with an integrated microphone is connected to the Rasp Pi. In case of an alert, the webcam takes a snapshot of the person's living space, which is sent along with the alarm message. All hardware is available for significantly less than EUR 100, and, if you are creative and attach an optical mouse to the water meter instead of using a flow sensor, you can reduce the price even more.

Seheiah mainly targets seniors living alone. The system is based on several assumptions:

  • The person to be monitored lives in a studio apartment.
  • The person to be monitored has a regular routine.
  • The person to be monitored has friends and family.
  • The person to be monitored has a reliable Internet connection.

The underlying idea is that people in industrialized societies consume a fair amount of water throughout the day (e.g., visits to the bathroom, personal hygiene, food preparation, washing up, watering the flowers, etc.) and that activities related to this water consumption can help determine whether a person is actively going about their daily life or is injured or worse.

To detect an emergency, Seheiah stores a tuple of events, comprising the start time and the duration of the water withdrawals, in a SQLite database for a defined number of days (observePeriod=D) and thus learns the daily rhythm of the senior. Some tolerances are allowed; the "reliable senior" does not need to shower every day at exactly 7:00am, but between, say, 6:45 and 7:15am. The evaluation makes a distinction between weekdays and weekends. A recording time of 10 days would include 10 weekdays and 5 weekends to cover 20 days in total. The number of days recorded allows Seheiah to learn new behaviors quickly, such as sleeping half an hour longer during the winter.

On the basis of stored values, the system checks the probability of water consumption within the stated and freely selectable interval. The level of probability is also arbitrary so that infrequently occurring events are not considered.

In this evaluation, intervals, l, of a length of one second are formed. If an event occurs once within an interval, S=1, this value applies to the entire interval. This approach helps aggregate a large number of short events in quick succession. Several successive intervals form a behavior vector v, which must consist of at least three intervals. Behavior vector v considers the past n×l seconds. The number of intervals (interval quantum=n) is basically freely selectable, but the period should not be too large. The factor n×l also determines the previously mentioned tolerance. This tolerance is taken into account when comparing past with present behavior.

In addition to the behavior for the past n×l seconds queried in the database, the system also examines whether water is currently flowing. The data is only written to the database after the water flow stops. This is why a check is needed to discover whether the sensor has detected an activity, and if so, how long it has been going on.

For example, if the interval is set to 300 seconds and the behavior vector consists of three intervals, the records are checked – in case of possible deviant behavior at time t  – based on the probability that the behavior can occur. However, the data query also checks for sensor activities in the period t±(n×l) seconds (a quarter of an hour before and after the current time).

Buy this article as PDF

Express-Checkout as PDF

Pages: 8

Price $2.95
(incl. VAT)

Buy Raspberry Pi Geek

Get it on Google Play

US / Canada

Get it on Google Play

UK / Australia

Related content