5 Auswahl der Datenbank (Firebase) - sebfuh/EPWS2324Fuhrmann_Maurer GitHub Wiki

768px-Firebase_Logo svg

Um das Inventar der Benutzer speichern zu können, wurde eine Datenbank gesucht, welche direkt mit dem ESP32 verbunden werden kann. Hierbei standen MongoDB und Google Firebase zur Auswahl. Bei der Entscheidung zwischen Firebase und MongoDB für die Datenbankintegration mit einem ESP32 spielen mehrere Faktoren (Wie kann die Verbindung hergestellt werden? Welche Dateiformate werden unterstützt? Wie funktioniert die Kommunikation?) eine Rolle.

Firebase:

Der ESP32 kann direkt mit der Firebase verbunden werden, indem der gewünschte Pfad (Referenz-URL) der Datenbank im Code des Arduino ESP32 angegeben werden kann. Firebase erfordert eine Authentifizierung, die ebenfalls über die Firebase-Plattform durchgeführt werden kann. Für den Anwendungsfall, bei dem das Inventar der Nutzer zu jeder Zeit aktuell gehalten werden muss, bietet Firebase die Realtime Database an. Dies ermöglicht eine kontinuierliche Synchronisation der Daten in Echtzeit zwischen dem ESP32 und der Datenbank. Darüber hinaus bietet Firebase auch Funktionen für das Hosting, was zur Bereitstellung des Inventars in Form einer Webanwendung benötigt wird.

MongoDB:

Auch bei MongoDB ist eine direkte Verbindung mit dem ESP32 möglich. Es ist jedoch zu beachten, dass nur BSON-Dateien (Binary JSON) versendet werden können. Dies stellt im Prinzip kein Problem dar, erfordert jedoch eine zusätzliche Konvertierung der Daten in das BSON-Format. Ein wichtiger Aspekt bei der Verbindung mit MongoDB ist die Notwendigkeit, eine Portnummer anzugeben, über die die Kommunikation mit der Datenbank erfolgt. Standardmäßig wird MongoDB über den Port 27017 angesprochen. Dies könnte zu Problemen führen, da in manchen Netzwerken bestimmte Ports blockiert sein können. Das Hinzufügen von Portbeschränkungen könnte zusätzlichen Aufwand bei der Netzwerkkonfiguration bedeuten.

Entscheidung:

Für dieses Projekt wurde die Firebase verwendet. Die direkte Verbindung zwischen Datenbank und ESP bieten zwar beide Datenbanken an, jedoch überwiegen die Vorteile der Firebase hierbei. Darunter ist beispielsweise die nicht benötigte Konvertierung der Daten in BSON-Format. Des weiteren wird bei der Einbindung der Firebase keine Portnummer benötigt, welche den möglichen Aufwand einer Netzwerkkonfiguration ausschließt.