Arduino UNO R4 - MySQL
Dieses Tutorial zeigt dir, wie du den Arduino UNO R4 verwendest, um Daten von Sensoren zu erfassen und sie in einer MySQL-Datenbank zu speichern. Im Detail werden wir lernen:
- Wie programmiert man den Arduino UNO R4, um eine Verbindung zu einer MySQL-Datenbank herzustellen
- Wie programmiert man den Arduino UNO R4, um Daten in eine MySQL-Datenbank einzufügen
- Wie programmiert man den Arduino UNO R4, um Daten in einer MySQL-Datenbank zu aktualisieren
- Wie programmiert man den Arduino UNO R4, um Daten aus einer MySQL-Datenbank abzurufen

Erforderliche Hardware
Oder Sie können die folgenden Kits kaufen:
1 | × | DIYables STEM V4 IoT Starter-Kit (Arduino enthalten) | |
1 | × | DIYables Sensor-Kit (30 Sensoren/Displays) | |
1 | × | DIYables Sensor-Kit (18 Sensoren/Displays) |
Arduino UNO R4 - MySQL
Der Arduino UNO R4 kann sich auf zwei verschiedene Arten mit der MySQL-Datenbank verbinden:
- Arduino UNO R4 verbindet sich direkt mit dem MySQL-Server unter Verwendung des MySQL-Protokolls (dies ist die direkte Methode).
- Arduino UNO R4 verbindet sich mit dem MySQL-Server über ein HTTP-Protokoll (dies ist die indirekte Methode).
Mal sehen, welcher besser ist.
Arduino UNO R4 interagiert direkt mit dem MySQL-Server

Das mag einfach erscheinen, aber es gibt mehrere Nachteile:
- Der Fernzugriff eines MySQL-Benutzers auf die Datenbank kann sicherheitsrelevant sein, auch bei eingeschränkten Benutzerrechten.
- Die Verarbeitung von Daten auf dem Arduino UNO R4 oder auf einem MySQL-Server macht den Arduino-Code und das MySQL-Skript komplexer und beansprucht den Speicher und die CPU des Arduino stark.
- Der MySQL-Server könnte eine große Datenmenge an den Arduino UNO R4 senden, wodurch der Speicher des Arduino möglicherweise erschöpft wird.
- Viele MySQL-Bibliotheken unterstützen kein SSL/TLS, was bedeutet, dass Benutzernamen und Passwörter unverschlüsselt übertragen werden, was ein weiteres Sicherheitsrisiko darstellt.
Arduino UNO R4 interagiert indirekt mit dem MySQL-Server über HTTP/HTTPS
Diese indirekte Methode löst alle Probleme, die die direkte Methode hat. Schauen wir uns zuerst an, wie diese indirekte Methode funktioniert, bevor wir untersuchen, wie sie die Probleme der direkten Methode vermeidet.
Wie es funktioniert
- Schritt 1: Arduino UNO R4 sendet eine HTTP-Anfrage an den Webserver
- Schritt 2: Der Webserver führt ein PHP-Skript aus
- Schritt 3: Das PHP-Skript erhält Daten aus der HTTP-Anfrage, verarbeitet sie und interagiert mit der MySQL-Datenbank.
- Schritt 4: Das PHP-Skript verarbeitet die Ergebnisse und sendet sie zurück an Arduino UNO R4 über die HTTP-Antwort

Dieser Leitfaden wird Ihnen auch zeigen, wie Sie einen Webserver und einen MySQL-Server auf Ihrem PC installieren. Es scheint kompliziert zu sein, aber das ist nicht der Fall.
Nun, lassen Sie uns untersuchen, wie die indirekte Methode dabei hilft, die Nachteile der direkten Methode zu vermeiden.
- Indem Sie den MySQL-Server und den HTTP-Server auf derselben Maschine betreiben, können Sie das MySQL-Benutzerkonto so einstellen, dass es nur von dieser Maschine aus zugänglich ist. Der Benutzername und das Passwort für dieses Konto werden auf dem Server gespeichert (in Schritt 3 erwähnt), was die Sicherheit erhöht.
- Ein PHP-Skript (Schritte 3 und 4) übernimmt die Datenverarbeitung. Das vereinfacht die Abläufe und reduziert die Komplexität sowohl für den Arduino UNO R4 als auch für die MySQL-Server. Die Verwendung von PHP zur Datenverarbeitung ist einfacher als die Verwendung von Arduino UNO R4-Code oder MySQL-Skripten.
- Das PHP-Skript verarbeitet die Daten und sendet dann nur das Notwendige an den Arduino UNO R4 (Schritt 4). Dies trägt dazu bei, dass dem Arduino UNO R4 nicht der Speicher ausgeht.
- Die meisten Ethernet-/WiFi-Bibliotheken unterstützen TLS/SSL und ermöglichen HTTPS-Anfragen. Mit HTTPS werden Daten verschlüsselt und sicher über das Internet übertragen.
Schritt 1: Sie können einen anderen Benutzernamen und ein anderes Passwort verwenden, um den Arduino UNO R4 mit dem Webserver zu verbinden. Es ist wichtig, dass der HTTP-Benutzername und das HTTP-Passwort nicht mit dem MySQL-Benutzernamen und dem MySQL-Passwort identisch sind, um die Sicherheit zu gewährleisten.
Dieser Leitfaden zeigt, wie man den Arduino UNO R4 indirekt mit MySQL verbindet.
Arduino UNO R4 - MySQL über HTTP/HTTPS
Wir müssen den folgenden Schritt gehen:
- Installieren Sie MySQL-Server, Webserver und PHP auf Ihrem Computer.
- Aktivieren Sie MySQL und den Webserver.
- Erstellen Sie ein MySQL-Benutzerkonto.
- Erstellen Sie eine MySQL-Datenbank.
- Erstellen Sie eine MySQL-Tabelle.
- Schreiben Sie PHP-Skripte.
- Programmieren Sie Arduino UNO R4.
Lass uns das Schritt für Schritt angehen.
Installieren Sie den MySQL-Server, den Webserver und PHP auf Ihrem PC
Das XAMPP-Paket enthält alles, was man braucht. Wir müssen es nur einmal installieren.
- Lade XAMPP von diesem Link herunter.
- Installiere es.
Nach der Installation erscheint der Ordner namens C:\xampp\htdocs auf Ihrem PC. Dieser Ordner enthält den PHP-Code (später erläutert).
MySQL und Webserver aktivieren
- Öffnen Sie das XAMPL-Steuerpanel
- Klicken Sie auf die Start-Schaltfläche, um MySQL und den Webserver einzuschalten (Siehe untenstehendes Bild)

Erstellen eines MySQL-Benutzerkontos
Wir richten ein MySQL-Benutzerkonto ein, das nur vom lokalen Computer aus auf die MySQL-Datenbank zugreifen kann.
- Selbst wenn jemand Ihren Benutzernamen und Ihr Passwort kennt, kann er nicht aus der Ferne auf Ihre MySQL-Datenbank zugreifen.
- Da PHP und MySQL sich auf dem gleichen PC befinden, kann PHP den Benutzernamen und das Passwort verwenden, um eine Verbindung zur MySQL-Datenbank herzustellen.
Lass uns ein MySQL-Benutzerkonto mit dem Benutzernamen ArduinoUnoR4 und dem Passwort newbiely.com erstellen.
- Öffnen Sie die Eingabeaufforderung auf Ihrem Computer. Halten Sie sie offen, bis Sie das Tutorial beendet haben.
- Geben Sie diesen Befehl in die Eingabeaufforderung ein:
- Die Standardeinstellung von MySQL enthält ein Root-Konto, dem kein Passwort zugewiesen ist. Es wird empfohlen, für dieses Konto ein Passwort zu erstellen.
Geben Sie den folgenden Befehl in der Eingabeaufforderung ein, um das Passwort des Root-Kontos festzulegen: (z. B. YOUR-ROOT-PASSWORD)
- Geben Sie diesen Befehl in der Eingabeaufforderung ein:
- Gib dein Root-Passwort ein und drücke Enter.
- Erstellen Sie ein MySQL-Benutzerkonto mit dem Benutzernamen 'ArduinoUnoR4' und dem Passwort 'newbiely.com'. Kopieren Sie die folgenden Befehle und fügen Sie sie in die Eingabeaufforderung ein:
Sie haben nun erfolgreich ein MySQL-Benutzerkonto erstellt. Merken Sie sich den Benutzernamen und das Passwort, da Sie sie für das PHP-Skript benötigen.
Eine MySQL-Datenbank erstellen
Erstellen Sie eine Datenbank mit dem Namen db_arduino, indem Sie diesen Befehl in der Eingabeaufforderung eingeben:
Eine MySQL-Tabelle erstellen
Erstellen wir eine Tabelle namens tbl_temperature. Kopieren Sie die folgenden Befehle und fügen Sie sie in die Eingabeaufforderung ein:
Schreibe eine oder mehrere PHP-Dateien
Erstelle eine PHP-Datei mit dem Namen insert_temp.php unter C:\xampp\htdocs
Dieser PHP-Code nimmt die Temperatur aus der HTTP-Anfrage und fügt sie in die Datenbank ein.
- Finden Sie die IP-Adresse Ihres Computers heraus. Wenn Sie sich nicht sicher sind, wie Sie sie finden, suchen Sie bei Google danach.
- Um zu überprüfen, ob der PHP-Code funktioniert, öffnen Sie einen Webbrowser (wie Chrome) und rufen Sie diesen Link auf: http://192.168.0.4/insert_temp.php?temperature=25.3. Denken Sie daran, Ihre eigene IP-Adresse statt "192.168.0.4" zu verwenden.
- Sie werden die Ergebnisse in Ihrem Webbrowser angezeigt bekommen.

- Um zu sehen, ob die Daten in der Datenbank gespeichert sind, geben Sie diesen Befehl in der Eingabeaufforderung ein:
Die Temperatur 25,3 ist in der Datenbank gespeichert. Als Nächstes müssen wir den Arduino UNO R4 so programmieren, dass er eine ähnliche HTTP-Anfrage an Ihren Computer sendet.
Schreibe Arduino UNO R4-Code
Dieser Arduino UNO R4-Code sendet eine HTTP-Anfrage an Ihren Computer, um eine Temperatur von 30,5 °C in die Datenbank einzufügen.
Arduino UNO R4 Programmcode für Arduino UNO R4 R4 WiFi
Schnelle Schritte
Folgen Sie diesen Anweisungen Schritt für Schritt:
- Wenn Sie den Arduino Uno R4 WiFi/Minima zum ersten Mal verwenden, lesen Sie das Tutorial zur Einrichtung der Umgebung für Arduino Uno R4 WiFi/Minima in der Arduino IDE.
- Schließen Sie das Arduino UNO R4-Board über ein USB-Kabel an Ihren Computer an.
- Starten Sie die Arduino IDE auf Ihrem Computer.
- Wählen Sie das geeignete Arduino UNO R4-Board (z. B. Arduino Uno R4 WiFi) und den COM-Port aus.
- Ersetzen Sie die IP-Adresse im Code durch die IP-Adresse Ihres Computers.
- Kompilieren Sie den Code und laden Sie ihn auf den Arduino UNO R4 hoch.
- Öffnen Sie den Serial Monitor.
- Zeigen Sie die Ausgabe im Serial Monitor an.
- Um zu sehen, ob die Informationen in der Datenbank gespeichert sind, geben Sie diesen Befehl in der Eingabeaufforderung ein:
Die Temperatur 30,5 ist in der Datenbank gespeichert.
Wie Arduino UNO R4 Daten in eine MySQL-Datenbank einfügt, aktualisiert oder daraus abruft
Im Beispiel haben wir gelernt, wie man Daten in die MySQL-Datenbank hinzufügt. Um Daten zu aktualisieren oder abzurufen, ist der Prozess ähnlich. Ändern Sie einfach die MySQL-Abfragen im PHP-Skript. Für weitere Informationen besuchen Sie W3Schools.
Fortgeschrittene Nutzung
Um die Sicherheit zu verbessern,
- Sie können den Code des Arduino UNO R4 so anpassen, dass HTTPS statt HTTP verwendet wird. Wie das geht, finden Sie unter Arduino UNO R4 - HTTPS.
- Sie können sich beim Verbinden des Arduino UNO R4 mit einem Webserver mit einem Benutzernamen und Passwort authentifizieren. Erfahren Sie mehr unter HTTP-Basis-Authentifizierung.
※ Notiz:
Um ein vollständiges System mit höchster Sicherheit zu erstellen, müssen wir weitere Funktionen hinzufügen (wie die Verhinderung von MySQL-Injektionen, die Umwandlung von HTTPS in eine REST-API und die Verwendung des JSON-Formats für Daten). Diese Anleitung richtet sich jedoch an Anfänger, die Arduino UNO R4 lernen. Wir haben es sehr einfach gehalten. Nachdem Sie diese Anleitung beendet haben, können Sie sich fortgeschrittenen Themen zuwenden.
Video Tutorial
Wir erwägen die Erstellung von Video-Tutorials. Wenn Sie Video-Tutorials für wichtig halten, abonnieren Sie bitte unseren YouTube-Kanal , um uns zu motivieren, die Videos zu erstellen.