Skip to content

About

Linux 工业设备发现与协议检测 | Configuration-driven serial, network and PCI inspection with Modbus checks and Web reports.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

31 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

QLDeviceCheck · Field Acceptance Workbench

简体中文 · Demo · Architecture · API · Validation · MIT

A local acceptance station for industrial device vendors and system integrators. Turn an expected equipment list into a traceable inspection: record what was tested, preserve protocol evidence, and compare results after repairs.

Synthetic demo of the acceptance workbench

A workflow for delivery and repair

Field problem Workbench behavior
A disconnected device disappears from a discovery list Every selected configured device gets a result; missing devices remain failures.
A report cannot be tied to the configuration used Each task keeps the full configuration snapshot, SHA-256, station/unit ID, batch, operator and timestamps.
Rechecking a repair loses the original evidence Failed-only retests retain their parent task and original snapshot. Comparison shows recovery, regression and scope limits.
A demonstration needs field hardware --demo uses an independent synthetic catalog, visibly stamps reports SIMULATED, and separates demo/live statistics.

The intended position is a lightweight Linux field acceptance workflow with local evidence ownership. The project owner has confirmed the project was tested and is usable. See the design and positioning rationale and verification records.

Try the demo

For a ready-to-install bundle, download the Windows x64 or Linux x86_64 package from Releases. Bundles include offline runtime dependencies. Install CPython 3.10+ first; then double-click Start-Demo.cmd on Windows or run bash run_demo.sh on Linux. Release guide.

The workbench and compatibility scan page support English / 简体中文. Use the language selector to switch; your preference is remembered on this browser. On first visit, Chinese browser locales select Chinese and other locales select English. HTML reports use the selected interface language. Configured device names, entered metadata and original protocol evidence retain their source text.

Python 3.10+. The demo and offline checks also run on Windows.

python -m venv .venv
source .venv/bin/activate
python -m pip install --require-hashes -r requirements-runtime.lock
python web_app.py --demo --data-dir data/demo

On PowerShell, activate with .\.venv\Scripts\Activate.ps1. Open localhost:8080, create a mixed faults task, inspect its evidence, then retest with healthy. Demo walkthrough.

Field mode

bash setup_linux.sh
bash run_web.sh --config config/device_list.json --data-dir data/live

Review the target equipment and custom request bytes before executing a live task. Built-in acceptance rejects write-labelled operations and Modbus functions outside 01–04. PCI checks are passive. Communication checks do not establish electrical performance or complete business functionality.

Interface Existing inspection capabilities
Serial Modbus RTU reads 01–04; configured custom request/response matching
Network Modbus TCP, TCP connectivity, custom TCP/UDP checks
PCI Link/driver/interface inspection, including configured child devices

The original scan UI remains at /legacy in live mode, sharing the station execution lock. Its reports remain separate from acceptance history. See configuration and deployment for operational boundaries.

Engineering

The new inspection/ domain, service, store, adapters, HTTP and report modules isolate the browser workflow from the existing protocol core. SQLite persists task state and evidence; restart marks unfinished work interrupted without replaying hardware operations. A single process owns each station database.

The browser uses local assets without a CDN or frontend framework. Default binding is 127.0.0.1; network binding requires QLDC_ACCESS_TOKEN. The service includes bounded inputs, Host/Origin checks and escaped exports. It does not include multi-user roles or a TLS terminator.

python -m pip install --require-hashes -r requirements.lock
python validate_config.py
python self_test.py
python -m pytest -q

Validation records tested paths and remaining hardware risks. Dependencies records pinned releases, source commits, licenses and artifact hashes. CI covers offline checks on Windows/Linux with Python 3.10/3.13.

About

Linux 工业设备发现与协议检测 | Configuration-driven serial, network and PCI inspection with Modbus checks and Web reports.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages