Local API Access

We didn't build a beautiful piece of robotic hardware just to lock it down in a walled garden. If you know how to send a cURL request or write a simple Python script, OneMira is completely open for you to play with.

The Local Server

When OneMira connects to your Wi-Fi, it spins up a local Express server. There is no cloud telemetry involved when using the API.

Simply find OneMira's local IP address (e.g., 192.168.1.100) via your router or the companion app.

All requests are POST to port 8080.

Example: Motor Control

Want to write a script that makes OneMira physically turn and look at the door when your smart doorbell rings?

You can pass absolute XYZ coordinates or relative degrees to the motor controller.

curl -X POST http://192.168.1.100:8080/api/motors \
-H "Content-Type: application/json" \
-d '{
  "pan": 45,
  "tilt": -10,
  "speed": 0.8,
  "easing": "ease-in-out"
}'

Example: Eye Matrix Override

The LED "eye" on the front is a fully addressable NeoPixel array. You can override the default AI blinking behavior and push raw arrays of Hex colors.

I use this to flash the eye distinct colors based on my CI/CD pipeline states (Green for passing, Red for failed builds).

curl -X POST http://192.168.1.100:8080/api/eye \
-H "Content-Type: application/json" \
-d '{
  "mode": "solid",
  "color": "#FF0000",
  "duration_ms": 5000
}'

Because it's totally local, the latency is practically zero. Build a pomodoro timer, a physical notification light, or sync it to your Spotify now-playing. The hardware is yours.