No description
Find a file
2026-07-20 21:31:46 +02:00
.agent_states fix: resolve resource leaks causing host freeze, add production test suite 2026-07-20 21:28:30 +02:00
.opencode Merge branch 'dev' into develop 2026-07-20 21:30:54 +02:00
agents refactor: rewrite AGENTS.md as project soul, fix motor star-delta bug 2026-04-06 14:52:55 +02:00
configs agent(pm): Deploy & validate 5 instances on RPi5 — fixes for InfluxDB init, config, historical data, state machine 2026-05-31 18:18:13 +02:00
data phase(4): check valve and PRV models - backflow prevention, pressure relief at 11 bar 2026-04-25 18:35:52 +02:00
docker fix: update ports for RPi5 deployment (8300/8301) and fix Dockerfile 2026-03-22 11:09:48 +01:00
docs Merge branch 'dev' into develop 2026-07-20 21:30:54 +02:00
scripts Merge branch 'dev' into develop 2026-07-20 21:30:54 +02:00
src chore: remove __pycache__ pulled in from develop merge 2026-07-20 21:31:46 +02:00
tasks tasks: add delegation tasks for all milestones 2026-03-21 11:05:49 +01:00
tests chore: remove __pycache__ pulled in from develop merge 2026-07-20 21:31:46 +02:00
.coverage fix: Correct state machine, demand_flow, and motor speed issues 2026-05-03 19:20:20 +02:00
.env.example feat(data): Add InfluxDB time-series storage with 1sec sampling 2026-05-03 15:48:12 +02:00
.gitignore security: remove exposed token, fix lockfile drift, add root .gitignore 2026-06-01 15:33:47 +02:00
.issue_num phase(4): check valve and PRV models - backflow prevention, pressure relief at 11 bar 2026-04-25 18:35:52 +02:00
AGENTS.md refactor: AGENTS.md v2 based on Opus4.6 feedback 2026-04-06 16:20:37 +02:00
check_syntax.py fix: critical stability and performance fixes for RPi5 deployment 2026-05-25 09:25:58 +02:00
docker-compose.influxdb.yml fix: resolve resource leaks causing host freeze, add production test suite 2026-07-20 21:28:30 +02:00
docker-compose.yml fix: resolve resource leaks causing host freeze, add production test suite 2026-07-20 21:28:30 +02:00
Dockerfile fix: HEALTHCHECK port parameterized, add build: sections, fix InfluxDB URL 8086→8087 2026-06-01 18:44:28 +02:00
FIELD_TEST_REPORT.md fix: Correct state machine, demand_flow, and motor speed issues 2026-05-03 19:20:20 +02:00
forgejo_tools.py chore: add comprehensive .gitignore, add forgejo_tools for issue/PR creation 2026-03-22 09:37:42 +01:00
GIT_WORKFLOW.md docs: update GIT_WORKFLOW.md with mandatory branch deletion rule 2026-04-06 16:04:17 +02:00
GOAL.md fix: correct failing tests in M2 and M3 2026-03-21 11:10:44 +01:00
gotchas.md docs: log security investigation, update session state 2026-06-01 15:59:31 +02:00
pyproject.toml feat(data): Add InfluxDB time-series storage with 1sec sampling 2026-05-03 15:48:12 +02:00
qa_physics_test.sh fix: Correct state machine, demand_flow, and motor speed issues 2026-05-03 19:20:20 +02:00
qa_physics_tolerance.py fix: Correct state machine, demand_flow, and motor speed issues 2026-05-03 19:20:20 +02:00
qa_results.csv agent(pm): Deploy & validate 5 instances on RPi5 — fixes for InfluxDB init, config, historical data, state machine 2026-05-31 18:18:13 +02:00
qa_validate.sh agent(pm): Deploy & validate 5 instances on RPi5 — fixes for InfluxDB init, config, historical data, state machine 2026-05-31 18:18:13 +02:00
qa_validation.sh agent(pm): Deploy & validate 5 instances on RPi5 — fixes for InfluxDB init, config, historical data, state machine 2026-05-31 18:18:13 +02:00
README.md docs: rewrite README.md for stakeholders 2026-04-06 15:33:34 +02:00
requirements.txt docs: add gotchas entry, update session state, preserve LLM pipeline (not in prod) 2026-06-01 15:13:31 +02:00
SESSION_STATE.md fix: resolve resource leaks causing host freeze, add production test suite 2026-07-20 21:28:30 +02:00
STATE.md docs: update STATE.md - session wrap up 2026-04-07 2026-04-07 13:28:44 +02:00
test_oil_fix.py fix: critical stability and performance fixes for RPi5 deployment 2026-05-25 09:25:58 +02:00

CCS3200 Compressor Emulator

A software emulator that simulates real industrial air compressors


What Is This?

Industrial factories use large air compressors to power their equipment. These compressors are expensive, loud, and use a lot of energy.

Our software emulator mimics how a real compressor works - same physics, same controls, same responses - but runs on a small computer (Raspberry Pi 5).

Why does this matter?

  • Engineers can test control software without expensive hardware
  • Factory automation can be developed and validated before deployment
  • Training environments can simulate real-world scenarios safely
  • Debugging can happen without risking real equipment

What We Built

A complete compressor emulator that includes:

  • Physics simulation - Models how air pressure, temperature, and flow behave
  • Motor control - Simulates star-delta and variable frequency drives
  • State machine - Follows real compressor startup/shutdown sequences
  • Industrial protocols - Modbus TCP/RTU for PLC integration
  • Web dashboard - Real-time monitoring and control
  • Data recording - Historical trends and event logging

Progress

Milestone Status
Foundation (structure, config, logging) Complete
Physics Core (tank, motor, compressor models) Complete
Controller Logic (state machine, alarm handling) Complete
Industrial Protocols (Modbus TCP/RTU) Complete
Web API (sensors, control, configuration) Complete
Data Recording (time-series, events) Complete
Profile Management (preset configurations) Complete
Raspberry Pi 5 Deployment Deployed

All 217+ automated tests passing


What's Working Now

  • Start/stop compressor with realistic startup sequence
  • Monitor tank pressure, oil temperature, motor current, power usage
  • Adjust demand (how much air is being used)
  • Automatic load/unload based on pressure settings
  • Record sensor data over time
  • Connect via Modbus from any PLC software

What's Next

Near Term

  • Multi-compressor support - Simulate entire factory air networks
  • Fault injection - Test how systems handle sensor failures, leaks, overheating
  • Weather effects - Temperature and humidity impact on compressor behavior
  • Improved dashboard - Better visualizations and controls

Future Ideas

  • Energy consumption analysis and optimization
  • Predictive maintenance simulation
  • Integration with real factory SCADA systems

How To Use

Local Development

docker-compose up

Access at: http://localhost:8302

Production (Raspberry Pi 5)

Running at: http://nazimyildiz.com:8300

API Documentation

http://nazimyildiz.com:8300/docs


Project Team

This project follows the engineering philosophy defined in AGENTS.md.

Core principles:

  • Physics accuracy before speed
  • Verify everything with tests
  • No shortcuts on quality
  • Zero tolerance for unknowns

Documentation

  • AGENTS.md - Project philosophy and standards
  • docs/ARCHITECTURE.md - Technical architecture
  • docs/COMPRESSOR_STATE.md - How the state machine works
  • docs/PHYSICS_VALIDATION_TEST_PLAN.md - Physics model verification

License

Internal project - contact authors for details