Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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: 5 days 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 (3 months ago)
- Default Branch: main
- Last Pushed: 2024-09-24T07:36:16.000Z (10 days ago)
- Last Synced: 2024-09-25T22:02:56.119Z (8 days ago)
- Topics: julia, webrtc, websocket
- Language: Julia
- Homepage: https://p4p.jamesnzl.xyz
- Size: 78.1 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).