Files

1.2 KiB

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