Skip to content

mcdev7777/chamber-guard-touch-panel

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ChamberGuard Touch Panel

ChamberGuard Touch Panel is a lightweight operator console for a small environmental test chamber running on a 7-inch 1024×600 touch display. It provides live temperature and humidity monitoring, recipe control, alarm acknowledgement, and local history logging from a Python service connected to a Modbus RTU chamber controller.

What it handles

  • Touch-first 1024×600 operator interface
  • Live chamber state through Server-Sent Events
  • Temperature and humidity setpoint changes
  • Run, hold, stop, fan, light, and alarm acknowledgement actions
  • Modbus RTU register access through a Python hardware adapter
  • SQLite logging for readings and operator actions
  • Safe offline state when the chamber controller is not reachable
  • Chromium kiosk launch script
  • systemd service file for boot startup

Hardware target

  • Raspberry Pi or equivalent Linux SBC
  • 7-inch 1024×600 capacitive touchscreen
  • USB-RS485 adapter
  • Environmental chamber controller with Modbus RTU support

The register map is isolated in backend/hardware/register_map.py, so it can be adjusted for the exact controller without changing the web interface.

Run locally

cd chamber-guard-touch-panel
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
python backend/app.py

Open:

http://localhost:8080

Configure controller access

Environment variables:

export CHAMBER_SERIAL_PORT=/dev/ttyUSB0
export CHAMBER_BAUDRATE=9600
export CHAMBER_MODBUS_SLAVE_ID=1
export CHAMBER_DB_PATH=./data/chamberguard.sqlite3

Install as a kiosk service

sudo cp systemd/chamberguard.service /etc/systemd/system/chamberguard.service
sudo systemctl daemon-reload
sudo systemctl enable chamberguard
sudo systemctl start chamberguard

Start the touchscreen browser shell:

./scripts/launch-kiosk.sh

Project structure

backend/
  app.py                     Flask application and API routes
  config.py                  Runtime configuration
  hardware/
    chamber_modbus.py         Modbus RTU chamber adapter
    register_map.py           Controller register definitions
  services/
    data_store.py             SQLite reading/action log
    chamber_service.py        Polling, state cache, and command handling
frontend/
  templates/index.html        Touch panel layout
  static/app.js               UI logic and live stream handling
  static/styles.css           1024×600 touchscreen styling
scripts/launch-kiosk.sh       Chromium touchscreen launcher
systemd/chamberguard.service  Boot service example
docs/CONTROLLER_PROTOCOL.md   Register map and integration notes

About

ChamberGuard Touch Panel is a 7-inch 1024×600 touchscreen console for controlling an environmental test chamber, with Python-based Modbus RTU communication, live temperature/humidity monitoring, setpoint control, alarm handling, and local SQLite logging.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors