webrtc_example / README.md
cduss's picture
update
bcd5ee8
|
Raw
History Blame Contribute Delete
2.15 kB
---
title: Reachy Mini WebRTC Demo
emoji: 🤖
colorFrom: blue
colorTo: indigo
sdk: static
pinned: false
hf_oauth: true
hf_oauth_expiration_minutes: 480
short_description: Single-file WebRTC demo sign in with HF, drive the robot.
tags:
- reachy_mini
- reachy_mini_js_app
---
# Reachy Mini WebRTC Demo
Single-file (`index.html` + `style.css`) WebRTC demo for Reachy Mini.
No build step, no bundler — drop it on a Hugging Face Space with
`sdk: static` and you're done.
Boots on the modern **host-shell** pattern documented in
[`ts/APP_CREATION_GUIDE.md`](https://github.com/pollen-robotics/reachy_mini/blob/main/ts/APP_CREATION_GUIDE.md):
- The host shell (loaded from jsDelivr on a standalone visit) owns
HF OAuth + robot picker + the connect / leave button. No more
hand-rolled login screen here.
- The post-connect UI (sliders, audio, sound, animations, torque,
volume, daemon logs) lives in this page's markup and runs inside
the host's iframe via `connectToHost()`. Same features as before.
## Features
- Video streaming from the robot's camera
- Head RPY sliders, body yaw (tank-coupled), antennas
- Wake up / go to sleep / torque toggle
- Sound playback (free-text + presets)
- Speaker volume sync
- Mic + speaker mute toggles
- Live latency badge (RTT / buffer / jitter, colour-coded)
- Daemon `journalctl` stream over the WebRTC data channel
## How it works
1. Visit the Space — the host shell renders sign-in.
2. Sign in with Hugging Face (OAuth).
3. The shell lists your reachable robots; pick one.
4. The shell wakes the robot and iframes this page at
`?embedded=1`.
5. All the controls below light up.
## Requirements
- Robot online on the central signaling server.
- Robot daemon recent enough to expose `subscribeLogs`, `getVolume`,
`wakeUp`, `gotoSleep`, `setMotorMode` over the data channel
(anything ≥ 1.8 should be fine).
## SDK pin
`@pollen-robotics/reachy-mini-sdk@1.8.0-rc1-main.fd4354c`, loaded
from `cdn.jsdelivr.net`. Same exact pin as the three Pollen
reference apps — mixing versions across the SDK, host shell, and
daemon causes silent protocol drift (see APP_CREATION_GUIDE §10).