Arduino zu MySQL via Wifi

In diesem Beispiel zeige ich, wie sich Daten vom Arduino per Wifi (Wlan) in einer MySQL Datenbank speichern lassen und per Browser anzeigen lassen.

Download: Dateien auf GitHub

Ich verwende ich einen DTH22 Temperatur- und Luftfeuchtigkeitssensor. Dessen Daten werden von einem Arduino / Genuino MKR1000 ausgelesen und per Wifi und HTTP GET an eine bestimmte Internetadresse geschickt. (GET hat natürlich Vor- und Nachteile. Es ist einfach zu benutzen, aber über die Browserzeile auch leicht zu manipulieren.) Ein PHP-Script nimmt diese Daten und speichert sie in eine MySQL-Datenbank.

Arduino MKR1000 mit DHT22

Ich gehe davon aus, dass es bereits eine existierende MySQL-Datenbank gibt. Diese kann auf dem eigenen Computer (localhost) oder im Internet sein. In dieser Datenbank muss man nun eine Tabelle mit dem Namen dht001 anlegen.

Jetzt benötigt man die Login-Daten für die MySQL-Datenbank und muss diese in den beiden Dateien writeData.php und showData.php anpassen: Servername, Benutzername, Benutzerpasswort, Datenbankname. Ich bin Kunde von 1und1 und bei mir haben diese Daten folgendes Format:

Nun kann man beide Dateien auf den Webserver laden. Den Pfad sollte man sich merken, z.B. www.meineURL.de/dht001

Jetzt kann man die Arduino-Datei WifiWebClientDHT22.ino öffnen. Hier muss als erstes der WLan-Name und das WLan-Passwort gesetzt werden:

Danach muss die Ziel-URL angegeben werden. Hier nur die Adresse ohne Pfad, also nicht www.meineURL.de/dht001 sondern nur www.meineURL.de:

In der Methode void sendData() muss jetzt noch die Serveranfrage an zwei Stellen geändert werden. Im GET Aufruf muss nun der Pfad zur Datei angegeben werden:

Und die Host-Adresse muss noch einmal angegeben werden:

Nun kann die Datei auf das Board übertragen werden. Im Seriellen Monitor kann man überwachen, ob es funktioniert.

Ist alles richtig gelaufen, kann nun per Browser die Datei www.meineURL.de/dht22/showData.php aufgerufen werden und sollte ein Diagramm von Temperatur und Luftfeuchtigkeit anzeigen.

Arduino MKR1000 Diagramm

Alle Dateien stehen natürlich auf GitHub zum Download bereit. Im Ordner Server-Files finden sich die drei Dateien, die auf den Webserver kopiert werden müssen, im Ordner Arduino-Files befindet sich der Arduino-Code. Download: Dateien auf GitHub

Nachwort:
Bei diesem Beispiel geht es mir darum, zu zeigen, wie Daten per Wifi gesendet werden können und wir man eine MySQL-Datenbank verwendet, um diese zu speichern. Da Cloud-Services ziemlich viel Geld kosten können, ist das doch eine recht preiswerte Alternative dafür. Und nun viel Spaß damit.

Benötigte Bauteile:
Genuino MKR 1000
DHT22

Comments are closed, but trackbacks and pingbacks are open.