- Hermes agent configuration, skills and MCP client wrappers - Hardware Lab Node SSE server with ESP32, PPK2, Xgecu adapters - Olhos-de-Orpheu launcher and sci-bot wrapper scripts - Demo scenario, integration test and orchestrator task definitions - Add local .gitignore for venvs, build outputs and runtime logs
5.1 KiB
5.1 KiB
Olhos-de-Orpheu Hardware Lab Node Mesh — Integration Test Report
- Generated: 2026-06-21T19:04:26.937178+00:00
- Gateway:
http://192.168.0.16:8001/sse - Bench lab node:
http://192.168.0.88:8002/sse - ASUS/Proxmox lab node:
http://192.168.0.38:8002/sse
Summary
| Metric | Value |
|---|---|
| Total tests | 7 |
| Passed | 6 |
| Failed | 1 |
| Pass rate | 85.7% |
Test Results
Step 1: List tools on Olhos and confirm aurelio_* tools are present
Status: ✅ PASS
Duration: 109 ms
Output:
Total tools: 71
aurelio_* tools found: 23
Required tools present: all
- aurelio_manifesto: Return the Portugal Futurista Aurelio philosophy and mission.
- aurelio_list_devices: List all hardware devices attached to the lab node mesh.
- aurelio_list_serial_ports: List USB/serial ports where embedded devices are connected.
- aurelio_detect_espressif_port: Detect the TTY port of a connected Espressif USB-JTAG/serial device.
- aurelio_build_firmware: Build ESP-IDF firmware for a target board.
- aurelio_flash_firmware: Flash firmware to an ESP32 device over USB/UART.
- aurelio_monitor_device: Monitor serial output from an ESP32 device.
- aurelio_erase_flash: Erase ESP32 flash over USB/UART.
- aurelio_firmware_size: Show ESP-IDF firmware size information.
- aurelio_read_efuse_summary: Show ESP32 eFuse summary.
- aurelio_start_ppk2: Start Nordic PPK2 power profiling service.
- aurelio_serial_monitor_device: Monitor a generic serial device (nRF52, STM32, etc.).
- aurelio_xgecu_program_device: Program a device using the Xgecu T76 / minipro toolchain.
- aurelio_edge_board_status: Get status of an attached edge board (Icicle Kit, STM32MP257F-DK, etc.
- aurelio_list_usb_hid_devices: List USB HID devices (barcode readers, POS keyboards, etc.).
- aurelio_barcode_reader_status: Get status of attached USB barcode readers.
- aurelio_oscilloscope_status: Get status of connected oscilloscopes.
- aurelio_sdr_status: Get status of connected software-defined radios.
- aurelio_hil_status: Get status of hardware-in-the-loop (HIL) lab materials.
- aurelio_capture_logic_analyzer: Capture a logic-analyzer sample (Sigrok/PulseView compatible).
- aurelio_authorize_budget: Authorise a spend budget via Stripe (test mode by default).
- aurelio_record_spend: Record a planned spend against an authorised budget.
- aurelio_capture_authorized_payment: Capture an authorised Stripe PaymentIntent.
Step 2: aurelio_list_devices() routes to bench-lab and detects ESP32-S3
Status: ✅ PASS
Duration: 121 ms
Output:
[
{
"device_id": "esp32-003-018",
"family": "esp32",
"model": "ESP32-S3 USB JTAG/serial",
"vendor_id": "303a",
"product_id": "1001",
"serial_port": "/dev/ttyACM1",
"jtag_port": null,
"description": "ESP32-S3 USB JTAG/serial on bus 003 device 018",
"online": true
}
]
Step 3: aurelio_list_serial_ports() returns /dev/ttyACM1
Status: ✅ PASS
Duration: 112 ms
Output:
[
{
"port": "/dev/ttyACM0",
"vendor_id": "3343",
"product_id": "803a",
"vendor": "Unknown",
"model": "LattePanda_Leonardo"
},
{
"port": "/dev/ttyACM1",
"vendor_id": "303a",
"product_id": "1001",
"vendor": "Espressif",
"model": "USB_JTAG_serial_debug_unit"
}
]
Step 4: aurelio_detect_espressif_port() returns /dev/ttyACM1
Status: ✅ PASS
Duration: 117 ms
Output:
/dev/ttyACM1
Step 5: aurelio_list_devices(node_id=asus-server) detects PPK2 and logic analyzer
Status: ✅ PASS
Duration: 104 ms
Notes:
- PPK2 hint: True, logic analyzer hint: True
Output:
[
{
"device_id": "ppk2-001-038",
"family": "ppk2",
"model": "Nordic PPK2",
"vendor_id": "1915",
"product_id": "c00a",
"serial_port": "/dev/ttyACM0",
"jtag_port": null,
"description": "Nordic PPK2 on bus 001 device 038",
"online": true
},
{
"device_id": "logic_analyzer-001-039",
"family": "logic_analyzer",
"model": "Saleae Logic (FX2LAFW-compatible)",
"vendor_id": "0925",
"product_id": "3881",
"serial_port": null,
"jtag_port": null,
"description": "Saleae Logic (FX2LAFW-compatible) on bus 001 device 039",
"online": false
}
]
Step 6: aurelio_start_ppk2(node_id=asus-server, port=/dev/ttyACM1, voltage_mv=3700)
Status: ❌ FAIL
Duration: 77 ms
Notes:
- PPK2 service script is missing on the ASUS/Proxmox node; routing worked but the service cannot actually start.
Output:
PPK2 service script not found at /home/fcunha/savearth/aws-iot-core-poc/tools/scripts/ppk2_service.py
Step 7: aurelio_capture_logic_analyzer(node_id=asus-server)
Status: ✅ PASS
Duration: 83 ms
Notes:
- Optional test.
Output:
Logic analyzer capture requested: 0.1s @ 24.0MHz. Connect a Sigrok-compatible device and run: sigrok-cli --driver fx2lafw --frames 2400000
Conclusion
1 test(s) failed. Review the detailed outputs above and verify lab node connectivity and hardware attachment.