Dauerhafter Speicher / Datenbank auf dem Raspi 3 - Angular 5

Sithys

Captain Pro
Registriert
Dez. 2010
Beiträge
3.484
Moin moin zusammen,
aktuell habe ich hier einen Raspberry Pi 3, ein Raspi TouchDisplay und eine Angular 5 Anwendung. Angeschlossen an der Kiste ist ein NFC-Leser, der nichts weiteres macht, als die Unikatsnummer von den Chips auszulesen.

Jetzt habe ich aber ein Problem: Ich möchte die Unikatsnummern gerne dauerhaft speichern auf dem Raspi. Hierbei hab ich zunächst an den LocalStorage gedacht (Anwendung läuft im Chromium Kiosk-Modus), der ist aber nicht persistent. Heißt: Ich ziehe den Strom raus oder reboote -> die Daten sind futsch.

Ich muss es also hinbekommen, die Daten aus meiner Angular Anwendung in eine Datenbank zu speichern, die natürlich möglichst leichtgewichtig für den Pi ist. Allerdings habe ich aktuell keine Idee, welchen Ansatz ich da weiter verfolgen sollte. Hat vielleicht von Euch jemand eine Idee, wie man sowas charmant und zuverlässig lösen könnte?

Schönes Wochenende!
 
Hast du eventuell localStorage und sessionStorage vertauscht? Denn ersteres sollte persistent sein. Alternativ wäre da noch bspw. IndexedDB.

Ansonsten schafft ein Raspi auch ganz locker ein Node-Server mit Redis oder MongoDB.
 
  • Gefällt mir
Reaktionen: Sithys
Hab ich eben auch drüber nachgedacht... könnte natürlich auch das volle Paket draufladen. Bin normalerweise sowieso viel im MEAN-Bereich unterwegs, das wäre also schnell gemacht. Der Tomcat8 knallt aber zusammen mit dem Chromium schon ganz gut rein, 50 - 60% RAM sind weg.

MongoDB hab ich vorhin schon versucht... gibt aber keine 32Bit Pakete, sondern nur 64Bit und das Raspbian Stretch Lite... das wird also leider nichts mit der MongoDB auf dem Raspi, wüsste zumindest nicht wie. Oder soll ich so ein "altes" Paket nehmen, dass noch 32Bit unterstützt? Glaube das war 2.X... @Bagbag

Ich hab LocalStorage und Indexeddb beides ausprobiert. Die Daten werden nicht gespeichert... eventuell liegt es auch am Kiosk-Mode von Chrome? Aber ich wüsste nicht, mit welchem Parameter ich für eine dauerhafte Speicherung der Daten sorgen könnte.

Danke auf jeden Fall für den Denkanstoß!
 
Das es Raspbian nur in 32bit gibt ist doof, da hatte ich auch schon ein Problem mit. Ich habe das mit Arch Linux ARM (aarch64) (+Docker, das würde dann aber auch ohne gehen) gelöst. MongoDB 2.4 würde ich nicht mehr nehmen, da das nicht mal mehr im Node-Package unterstützt wird.

Ansonsten nimm einfach Redis, das ist eine super performante und einfach zu nutzende Datenbank. Wenn man nicht auf komplexe Queries und Aggregationen angewiesen ist, ist Redis mittlerweile immer meine Wahl. Der RAM-Verbrauch liegt bei etwa 1MB + Daten (die sehr, sehr effizient gespeichert werden).
 
Bagbag schrieb:
Hast du eventuell localStorage und sessionStorage vertauscht? Denn ersteres sollte persistent sein.
Afaik hängt die Persistenz des localStorage von den Browsereinstellungen ab. Je nach Browser ist sie an Cache- oder Cookie-Einstellungen geknüpft und wird entsprechend deren Verhalten gelöscht.
Ergänzung ()

RedGunPanda schrieb:
Die Daten werden nicht gespeichert... eventuell liegt es auch am Kiosk-Mode von Chrome?
Soweit ich gelesen habe, speichert ein Webview Daten per default nur temporär.

RedGunPanda schrieb:
Aber ich wüsste nicht, mit welchem Parameter ich für eine dauerhafte Speicherung der Daten sorgen könnte.
Man kann bei einem Webview eine persistente Partition angeben, dann werden die Daten dauerhaft gespeichert.
 
Zuletzt bearbeitet:
Zurück
Oben