Skip to content
Johannes Ernstsen edited this page Mar 17, 2021 · 2 revisions

Raspberry Pi Application Server

The server handles communication between the Raspberry Pi application and the desktop application.

The server is configured by a CommandHandler and a Streamer passed in the constructor.

CommandHandler

A CommandHandler is a simple interface which on a command: str produces a bool, where True means handling was a success, and False signifies it was not.

The standard implementation is the DictCommandHandler which contains a dictionary between commands and Callable[[List[str]], None] which is the commands. The handler then splits the input on ;, where the first is the command identifier, and the rest of the split result is passed to the command, as arguments.

Streamer

The streamer is an object handling streaming from the RPI to the desktop application.

The default implementation is empty, and does not handle stream. This enables running the application on a non-RPI.

The implementation used in the vehicle_application.py is the CamStreamer which serves camera stream to the desktop application.