Eine SQLite Datenbank ist auf einem Raspberry Pi eine alternative zur gebräuchlichen MySQL Datenbank.

Vorteile

  • Die Daten werden in einfachen Textdateien gespeichert
  • Verbraucht weniger Speicher
  • Keine ständig laufenden Serverprozesse, die konfiguriert, gestartet oder gestoppt werden müssen
  • Replkation durch Kopieren der Datenbank Dateien
  • Unterstützt große Teile des SQL Standards

Installation

Die Installation der SQLite Datenbank gestaltet sich auf einem Raspberry Pi sehr einfach. Einfach folgenden Befehl ausführen:

Nach der Installation kann man Datenbanken mit dem Befehl sqlite3 verwalten. Der Befehl sqlite3 test.db erstellt eine neue Datenbank test.db, wenn diese noch nicht vorhanden ist, und öffnet die Verwaltungskonsole von sqlite3. Innerhalb dieser Konsole können Sie SQL-Befehl an die Datenbank senden.Wenn kein Pfad zur Datenbank angegeben wird, wird diese in dem Verzeichnis erstellt, in dem Sie sich gerade befinden.

Zum Testen kann man SQlite3 auch auf Windows installieren. Hierfür das sqlite-tools-win32-x86-… von der SQLite Download Seite herunterladen und in ein beliebiges Verzeichnis entpacken. In der Eingabeaufforderung in das Verzeichnis wechseln und den Befehl sqlite3 test.db aufrufen. Wenn man mit .quit das Programm wieder verlässt, sollte in dem Verzeichnis eine Datei test.db mit 0 Byte existieren.

SQLite SQL

Tabelle erstellen

SQLIte3 hat keinen DATE Datentyp. Datumsangaben werden je nach Format in den Datentypen TEXT, REAL und INTEGER gespeichert. Da ich das Datum hier in der Form „YYYY-MM-DD H:i:s“ speichere, habe ich den Datentyp TEXT ausgewählt.

Daten einfügen

Daten auslesen

Die Ausgabe sollte in folgender Form erscheinen. 2|2018-11-13 10:10:34|22.4|48

SQlite und PHP

Um die Daten nun auf einem Webserver zu veröffentlichen, muß das PHP-Modul für SQLite installiert werden. Das geschieht mit folgendem Befehl:

Voraussetzung ist natürlich, dass PHP schon auf dem Raspberry Pi installiert ist. Hiermit werden die Module sqlite3 und pdo_sqlite3 für PHP installiert. Ich bevorzuge das PDO Modul, da ich dieses auch für MySQL nutze.

Achten Sie drauf, dass die Datenbank im gleichen Verzeichnis wie das PHP-Script liegt. Ansonsten müssen Sie beim öffnen der Datenbank den Pfad mit angeben. Der Benutzer www-data, unter dem der Apache läuft, muss sowohl für die Datenbankdatei als auch für den Ordner, in dem die Datehnbank liegt, Schreib- und Leserechte  besitzen.

So ist es zum Beispiel möglich die Temperaturdaten eines Sensors mit einem Raspberry Pi zu empfangen und in eine SQLite Datenbank zu schreiben. Diese Datenbank können Sie dann täglich oder stündlich per FTP auf einen Webserver übertragen, um die Daten im Internet anzuzeigen.