This commit is contained in:
Arvuno 2026-06-04 05:15:28 +08:00 committed by GitHub
commit 8f033344c1
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 65 additions and 5 deletions

View File

@ -75,10 +75,62 @@ jobs:
bandit-report.json
safety-report.json
# Build Verification — ensure the Rust workspace compiles cleanly before running tests.
# Catches type errors, missing imports, and dependency resolution issues early.
rust-build:
name: Rust Build Check
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Install Tauri / GTK / serial system dev libraries
run: |
sudo apt-get update
sudo apt-get install -y --no-install-recommends \
libglib2.0-dev \
libgtk-3-dev \
libsoup-3.0-dev \
libjavascriptcoregtk-4.1-dev \
libwebkit2gtk-4.1-dev \
libayatana-appindicator3-dev \
librsvg2-dev \
libxdo-dev \
libudev-dev \
libdbus-1-dev \
libssl-dev \
pkg-config
- name: Install Rust toolchain
uses: dtolnay/rust-toolchain@stable
- name: Cache cargo
uses: actions/cache@v4
with:
path: |
~/.cargo/registry
~/.cargo/git
v2/target
key: ${{ runner.os }}-cargo-build-${{ hashFiles('v2/Cargo.lock') }}
restore-keys: |
${{ runner.os }}-cargo-build-
- name: Build Rust workspace
working-directory: v2
run: cargo build --workspace --no-default-features
- name: TypeScript type-check (dashboard)
if: success()
run: |
cd ${{ github.workspace }}/dashboard
npm ci
npx tsc --noEmit
# Rust Workspace Tests
rust-tests:
name: Rust Workspace Tests
runs-on: ubuntu-latest
needs: [rust-build]
steps:
- name: Checkout code
uses: actions/checkout@v4

View File

@ -76,16 +76,16 @@ RuView turns ordinary WiFi into a contactless sensor. A $9 ESP32 board reads the
```bash
# Option 1: Docker (simulated data, no hardware needed)
docker pull ruvnet/wifi-densepose:latest
docker run -p 3000:3000 ruvnet/wifi-densepose:latest
docker pull ruvnet/wifi-densepose:latest # may take a minute
docker run -p 3000:3000 ruvnet/wifi-densepose:latest # use -it for interactive; if port 3000 is taken, try -p 3001:3000
# Open http://localhost:3000
# Option 2a: Live sensing with ESP32-S3 hardware ($9)
# Flash firmware, provision WiFi, and start sensing:
python -m esptool --chip esp32s3 --port COM9 --baud 460800 \
python -m esptool --chip esp32s3 --port /dev/ttyUSB0 --baud 460800 \
write_flash 0x0 bootloader.bin 0x8000 partition-table.bin \
0xf000 ota_data_initial.bin 0x20000 esp32-csi-node.bin
python firmware/esp32-csi-node/provision.py --port COM9 \
python firmware/esp32-csi-node/provision.py --port /dev/ttyUSB0 \
--ssid "YourWiFi" --password "secret" --target-ip 192.168.1.20
# Option 2b: WiFi 6 + 802.15.4 research sensing with ESP32-C6 ($6-10, ADR-110)
@ -354,7 +354,7 @@ Each module is a small signed binary (~400 KB) that runs alongside the WiFi-Dens
| `sparse-recovery` | Recovers missing signal data from partial readings | 16 KB | Hard |
| `temporal-compress` | Shrinks old data to save memory without losing meaning | 14 KB | Med |
### 🌐 Network &mdash; <sub>1 modules</sub>
### 🌐 Network &mdash; <sub>1 module</sub>
| ID | What it does | Size | Difficulty |
|----|--------------|-----:|:----------:|
@ -650,3 +650,11 @@ MIT License — see [LICENSE](LICENSE) for details.
---
**WiFi DensePose** — Privacy-preserving human pose estimation through WiFi signals.
## Windows Note
If running on Windows with Docker Desktop, pass CLI arguments differently:
```
docker run -p 3000:3000 ruvnet/wifi-densepose:latest -- --help
```
On Windows, use `--` to pass arguments through the Docker container to the binary inside.