Brain: Service #
The Zakhar service provides access to the robot status and the CAN bus network.
The service prints information onto an ssd1306-based 128x32 OLED display connected to
The service publishes status information and incoming CAN messages to ZeroMQ subscribers. It also provides a ZeroMQ service to send CAN messages to the CAN bus.
The service allows all TCP connections including connections from external machines. See brain_pycore for compatible subscriber and client implementation classes.
OS and Hardware #
The service is supposed to be run on Raspberry Pi 4 with a Debian-like Linux (e.g. Raspberry OS). The OS should be initialized with the init script:
The script will create a zakhar directory in the system root and prepare the robot environment.
The service expects to see an I2C 128x32 display with the ssd1306 controller. E.g. this one. The display should be connected to
The service is written in python 3, so it requires Python > 3.5
The service requires several python packages:
You can install the last four packages using pip and pypi.
brain_core should be installed from the repository:
To install the service run the installation script as root:
|Robot status publisher||5557|
|CAN received msgs publisher||5556|
|CAN send message server||5566||n/a|