Flow: Web app → Jetson FastAPI → Raspberry Pi FastAPI → motors/display/audio/buttons.
1. Raspberry Pi (port 9000):
cd pi_device_service
pip install -r requirements.txt
uvicorn app.main:app --reload --host 0.0.0.0 --port 90002. Jetson Orin Nano (port 8000):
cd jetson_backend
pip install -r requirements.txt
uvicorn app.main:app --reload --host 0.0.0.0 --port 80003. Open the web UI at http://<jetson-ip>:8000 in a browser.
- Jetson:
GET /health - Pi:
GET /device/status
| Mode | Color | Features |
|---|---|---|
| Kids | Red | Trajectory mapping (mat), storytelling, snake game, memory game |
| Young Adult | Green | Puzzles, peer tutoring, trajectory mapping (desktop) |
| Adult | Yellow | Guided meditation, facial recognition |
- Arrow keys: drive forward/backward, turn left/right
- Spacebar: stop
jetson_backend/— FastAPI brain + web UI (static files)pi_device_service/— FastAPI hardware interface (motors, display, audio, buttons)jetson_backend/static/— Frontend (HTML/CSS/JS, served by Jetson)
Audio, display, and motor controllers use placeholder functions. Replace with actual GPIO/PWM/audio drivers when hardware is connected.