From 72a0fadef8273dba41c15c1d93590f0f3d0f7729 Mon Sep 17 00:00:00 2001 From: "ishak jmilou.ishak" Date: Thu, 9 Jan 2025 11:45:19 +0100 Subject: [PATCH] add UML diagram for system architecture and clean up MQTT client initialization --- docs/Infrastructure/uml.md | 51 +++++++++++++++++++++++++++++++++++++ src/C++/Driver/src/main.cpp | 3 +-- 2 files changed, 52 insertions(+), 2 deletions(-) create mode 100644 docs/Infrastructure/uml.md diff --git a/docs/Infrastructure/uml.md b/docs/Infrastructure/uml.md new file mode 100644 index 0000000..1d82f2a --- /dev/null +++ b/docs/Infrastructure/uml.md @@ -0,0 +1,51 @@ +```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 \ No newline at end of file diff --git a/src/C++/Driver/src/main.cpp b/src/C++/Driver/src/main.cpp index fdf3f94..6a888b7 100644 --- a/src/C++/Driver/src/main.cpp +++ b/src/C++/Driver/src/main.cpp @@ -16,8 +16,7 @@ std::string readMQTT(); void parseMQTT(std::string message); void CapnSend(); // ip, clientID, username, password -MqttClient client("ws://145.92.224.21/ws/", "KobukiRPI", "rpi", - "rpiwachtwoordofzo"); // create a client object +MqttClient client("ws://145.92.224.21/ws/", "KobukiRPI", "rpi","rpiwachtwoordofzo"); // create a client object std::string message = "stop"; std::string serializeKobukiData(const TKobukiData &data); void sendKobukiData(TKobukiData &data);