~martijnbraam/pts-hub

905e08a99a4f4eed11c6b21d58494b8b5d6e2350 — Martijn Braam 2 months ago
Create readme
2 files changed, 29 insertions(+), 0 deletions(-)

A README.md
A architecture.png
A  => README.md +29 -0
@@ 1,29 @@
# Phone Testing Setup

This is the hub for the components of the Phone Testing Setup.

PTS is split up in multiple reusable components.

![Architecture](https://brixitcdn.net/metainfo/architecture.png) 

The central controller maintains the overall job queue and scheduling. It is also the webinterface the developers log in to to submit new testing jobs.

The controller is a daemon running on a computer in a test rack. The controller to central webinterface communication is designed so the controller
can run behind NAT without any portforwarding. The only part that's accessible from the internet is the central webinterface.

The test devices hook up to the controller computer through USB and have a controller board based on the Raspberry Pi Pico that deals with power control.
There can be as many devices hooked up to a controller as USB ports are available. The test racks with the controllers can be distributed around the
internet instead of having a single location with all the test devices.

## Components

[pts-centralcontroller](https://git.sr.ht/~martijnbraam/pts-centralcontroller)  
The web interface. Designed to run on a VPS as the public connection point and scheduler.

[pts-pico-firmware](https://git.sr.ht/~martijnbraam/pts-pico-firmware)  
The firmware for the Pico boards between the test device and the controller.

[pts-devctl](https://git.sr.ht/~martijnbraam/pts-devctl)  
Command line utility to run test jobs on a device hooked up to a pico without running the controller daemon
or the central webinterface. With this local automated testing for development can be done, like automated
kernel bisection.

A  => architecture.png +0 -0