Update README and enhance serial number display in OpenIris setup CLI

This commit is contained in:
PhosphorosVR
2025-08-24 22:50:35 +02:00
parent 6e2a591348
commit 937234af6d
2 changed files with 12 additions and 58 deletions

View File

@@ -3,34 +3,15 @@
## OpenIris-ESPIDF
Firmware and tools for OpenIris — WiFi, UVC streaming, and a handy Python setup CLI.
Firmware and tools for OpenIris — WiFi, UVC streaming, and a Python setup CLI.
---
## Whats inside
- ESPIDF firmware (C/C++) with modules for Camera, WiFi, UVC, REST/Serial commands, and more
- Python tools to make setup easy over USB serial:
- `tools/switchBoardType.py` — choose a board profile (loads the right sdkconfig)
- Python tools for setup over USB serial:
- `tools/switchBoardType.py` — choose a board profile (builds the right sdkconfig)
- `tools/openiris_setup.py` — interactive CLI for WiFi, MDNS/Name, Mode, LED PWM, Logs, and a Settings Summary
- `tools/wifi_scanner.py` — optional WiFi scanner
---
## Prerequisites
- ESPIDF installed and available in your terminal (`idf.py` works)
- Python 3.10+ with `pip` (on Windows this is installed automatically when you set up the ESPIDF VS Code extension; see “First-time setup on Windows” below)
- USB cable to your board
- Optional: install Python dependencies for the tools
Windows (cmd):
```cmd
python -m pip install -r tools\requirements.txt
```
macOS/Linux (bash):
```bash
python3 -m pip install -r tools/requirements.txt
```
Note for Windows: If emojis dont render nicely, its only cosmetic — everything still works.
---
@@ -62,14 +43,6 @@ code .
- If you see the extensions home page instead, click “Configure extension”, pick “EXPRESS”, choose “GitHub” as the server and version “v5.3.3”.
- Then open the ESPIDF Explorer tab and click “Open ESPIDF Terminal”. Well use that for builds.
6) Default board profile and switching
- The project ships with multiple board profiles; one default may target internal “Project Babble” boards.
- If you have a Seeed XIAO ESP32S3 (or another board), switch the profile with the helper script:
```cmd
python .\tools\switchBoardType.py --board xiao-esp32s3 --diff
```
- You can rerun this anytime to switch boards; `--diff` shows the changes.
After this, youre ready for the Quick start below.
---
@@ -89,23 +62,15 @@ python3 ./tools/switchBoardType.py --board xiao-esp32s3 --diff
- `--diff` shows what changed in the config
### 2) Build & flash
- Set the target (e.g., ESP32S3):
```cmd
idf.py set-target esp32s3
```
- Build, flash, and open the serial monitor:
```cmd
idf.py -p COM15 flash monitor
```
Replace `COM15` with your port (Windows: `COM…`, Linux: `/dev/ttyUSB…`, macOS: `/dev/cu.usbmodem…`).
Exit the monitor with `Ctrl+]`.
- Set the target (e.g., ESP32S3).
- Build, flash, and open the serial monitor.
### 3) Use the Python setup CLI (recommended)
Configure the device conveniently over USB serial.
Windows (cmd):
```cmd
python .\tools\openiris_setup.py --port COM15
python .\tools\openiris_setup.py --port COMxx
```
macOS/Linux (bash):
```bash
@@ -119,8 +84,6 @@ What the CLI can do:
- Show a Settings Summary (MAC, WiFi status, mode, PWM, …)
- View logs
Tip: On start, the CLI keeps the device in a setup state so replies are stable.
---
## Serial number & MAC
@@ -134,7 +97,6 @@ Tip: On start, the CLI keeps the device in a setup state so replies are stable.
- Fast WiFi setup: in the CLI, go to “WiFi settings” → “Automatic setup”, then check “status”.
- Change name/MDNS: set the device name in the CLI, then replug USB — UVC will show the new name.
- Adjust brightness/LED: set LED PWM in the CLI.
- Quick health check: run “Get settings summary” after flashing to verify the device state.
---
@@ -148,18 +110,9 @@ If you want to dig deeper: commands are mapped via the `CommandManager` under `c
---
## Troubleshooting
- No device/port found?
- Pass `--port` explicitly (e.g., `--port COM15`).
- Right after reset, the device emits heartbeats for a short time; the CLI finds it fastest during that window.
- UVC doesnt appear on the host?
- Switch mode to UVC and replug USB. On Windows the first driver init can take a moment.
- WiFi wont connect?
- Check password/channel. Use the automatic setup in the CLI and then inspect the status.
- ESPIDF not detected?
- Ensure the ESPIDF environment is active in the terminal (IDF Command Prompt or the extensions ESPIDF Terminal; alternatively source `export.ps1`/`export.sh`).
- Missing Python modules?
- Run `pip install -r tools/requirements.txt`.
- Switch mode to UVC via CLI tool, replug USB and wait 20s.
---
Have fun with OpenIris! Feedback, issues, and PRs are welcome.
Feedback, issues, and PRs are welcome.

View File

@@ -996,9 +996,10 @@ def get_settings(device: OpenIrisDevice, args=None):
ident = summary.get("Identity", {})
serial = ident.get("serial")
mac = ident.get("mac")
# print(f"🔑 Serial: {serial}") # Serial display intentionally disabled; MAC is sufficient
if mac:
print(f"🔗 MAC: {mac}")
if serial:
print(f"🔑 Serial: {serial}")
# if mac:
# print(f"🔗 MAC: {mac}")
if not serial and not mac:
print("🔑 Serial/MAC: unavailable")