Engineering · 2024

Live Monitoring App for Wireless Temperature Sensors

An always-on display of cloud-stored sensor readings, with alerts when a reading leaves the configured range

Sensor readings that previously required logging into a web dashboard are now shown continuously on a PC at the site, with an on-screen and audible alert the moment a reading leaves the configured range.

Client
Confidential client
Category
Engineering
Full-screen monitoring view with the temperature chart and current, highest and lowest readings

Overview

  • Desktop program showing readings that wireless temperature sensors upload to the cloud
  • Built for site staff who need to watch temperature continuously
  • Launch → cloud sign-in → set alarm limits → monitoring view
  • Target sensor, displayed time span and refresh interval set in a configuration file
Full-screen view for an always-on display
Full-screen monitoring

Challenge

  • Readings available only through the sensor vendor's web dashboard, requiring repeated sign-ins
  • No alert on an out-of-range reading, so it went unnoticed until the next check
  • No always-on display readable from a distance

Solution

  • Recent temperature history drawn as a single line chart
  • Current, highest and lowest temperature shown beside the upper and lower limits in large figures
  • Current, highest and lowest points plus both limit lines marked on the chart by color
  • Limits adjustable on the spot, applied to chart and panels immediately
  • Full-screen mode for a dedicated monitor
Monitoring view with current, highest and lowest temperature and the limit lines
Monitoring view
  • On-screen warning plus a repeating alert sound whenever the current reading leaves the range
  • Warning and sound cleared automatically once the reading returns to range
Warning shown after the current temperature passes the upper limit
Out-of-range warning

System architecture

Flow

  • Wireless sensor → vendor cloud → periodic lookup by the program → chart and figures → alert on range exit
  • Readings taken every 3 minutes, with a 150-minute span on screen by default
  • Sensor to watch and refresh interval changed in the configuration file
Cloud sign-in and alarm limit window
Sign-in and alarm limits

Implementation

  • Cloud timestamps offset from local time → lookup window corrected so the recent span lines up
  • Gaps from readings the sensor failed to upload → filled from surrounding values to keep the line unbroken
  • Last reading older than 30 minutes → prompt to check the sensor, so stale data is not read as current
  • Title and figure sizes scaled to the window → legible from a distance on a large monitor
  • Alert playback kept separate from screen updates → the chart keeps refreshing during an alert
  • Distributed as an executable, with no installation step

Result

  • Current temperature and recent trend visible without opening the web dashboard
  • Range violations noticed as they happen instead of after the fact
  • One always-on monitor giving several people the same view at once
  • Alarm limits changed on site as conditions require

Technology

  • Python
  • wxPython
  • matplotlib
  • REST API
  • PyInstaller

Screens

Have a problem that needs solving?

From software development to equipment integration and engineering, we can work out the approach that fits what your project needs.

Discuss a project