```mermaid classDiagram class CKobuki { +enableCommands(bool commands) +loop(void *user_data, TKobukiData &Kobuki_data) +startCommunication(char *portname, bool CommandsEnabled, void *userDataL) +measure() +setLed(int led1, int led2) +setTranslationSpeed(int mmpersec) +setRotationSpeed(double radpersec) +setArcSpeed(int mmpersec, int radius) +setSound(int noteinHz, int duration) +setPower(int value) +goStraight(long double distance) +forward(int speedvalue) +doRotation(long double th) } class FlaskApp { +on_message(client, message) +get_db() +close_db(error) +index() +control() +move() } class MQTTClient { +connect() +subscribe(topic) +getLastMessage() +isConnected() } FlaskApp --> MQTTClient : uses FlaskApp --> CKobuki : controls class RPI { +KobukiCommunication() +ESP32Communication() +Camera() } class ESP32 { +TVOC() +DHT11() } RPI --> MQTTClient : communicates MQTTClient --> CKobuki : communicates RPI --> ESP32 : communicates