https://github.com/p4p-83/controller
The command & control that conducts the entire orchestra.
https://github.com/p4p-83/controller
julia webrtc websocket
Last synced: 4 months ago
JSON representation
The command & control that conducts the entire orchestra.
- Host: GitHub
- URL: https://github.com/p4p-83/controller
- Owner: p4p-83
- Created: 2024-07-10T04:54:13.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2024-10-15T04:05:40.000Z (9 months ago)
- Last Synced: 2025-01-22T02:36:49.688Z (6 months ago)
- Topics: julia, webrtc, websocket
- Language: Julia
- Homepage: https://p4p.jamesnzl.xyz
- Size: 145 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# `controller`
> [!NOTE]
> Refer to [`p4p.jamesnzl.xyz/learn`](https://p4p.jamesnzl.xyz/learn) for full details.This repository contains the command and control for our pick-and-place machine, and acts as the conduit between the [`p4p-83/gantry`](https://github.com/p4p-83/gantry), [`p4p-83/vision`](https://github.com/p4p-83/vision), and the [`p4p-83/interface`](https://github.com/p4p-83/interface).
## Usage
Firstly, clone this repository. Set up [SSH Agent Forwarding](https://docs.github.com/en/authentication/connecting-to-github-with-ssh/using-ssh-agent-forwarding) on the Raspberry Pi if needed.
```sh
git submodule update --init
julia src/controller.jl
```## Interfaces
### WebRTC
- WebRTC is used for the real-time low-latency video streaming from MediaMTX on the Raspberry Pi to the web interface.
### WebSocket
- A WebSocket is used for the real-time low-latency full-duplex data channel between the Raspberry Pi and the web interface.
#### Protocol Buffers
- [Protocol buffers](https://protobuf.dev/overview/) are used for data exchange.
- See [`p4p-83/protobufs`](https://github.com/p4p-83/protobufs) for the `.proto` definition(s).