Tabla de contenido:
2025 Autor: John Day | [email protected]. Última modificación: 2025-01-13 06:57
Dies ist eine Anleitung um durch einen Arduion Nano + Esp Modul Temperature / Luftdruck / Luftfeuchtigkeitswerte in eine Datenbank zu speichern.
Paso 1: Benötigte Teile
Benötigte Hauptkomponenten:
- Arduino Nano
- ESP 8266 ESP-01
- Spannungswandler
- Sensor de temperatura / temperatura DHT22
- Sensor de camión BMP-180 Luftdruck
Dies sind die wesentlichen Komponenten, welche benötigt werden.
Zusätzlich wird natürlich ein Lötkolben, Lötzinn, Zangen, Draht, Kondensatoren, Widerstände und Schalter benötigt die einzelnen Werte sind aus dem Schaltplan abzulesen.
Paso 2: Zusammenbau
Nach dem folgenden Schaltplan zusammenlöten.
Am besten als erstes alles auf einem Steckboard ausprobieren.
Paso 3: CÓDIGO
Um den Arduino zu programmieren dürfen die RX und TX Leitung zum ESP-Modul nicht verbunden sein!
Um das ESP-Modul zu programmieren zuerst denn RESET BUTTON gedrückthalten, dann zusätzlich den GPIO 0 BUTTON drücken, erst dann vom RESET BUTTON gehen und dannach auch den GPIO 0 BUTTON loslassen.
Um das ESP-Modul zu programmieren wird zusätzlich ein FTDI-Modul benötigt.
Bibliotheken für die Arduino IDE:
- https://github.com/esp8266/Arduino
- https://github.com/adafruit/DHT-sensor-library
- https://github.com/sparkfun/BMP180_Breakout
Jetzt wird noch ein Server benötigt welche die Daten in eine Datenbank schreibt. Hierfür benutze ich einen Raspberry Pi 2, auf welchem ein Apache Server läuft und eine PhpMyAdmin Datenbank.
Auf dem Server muss das PHP Skript abgelegt werden.
Danach muss eine Datenbank erstellt werden mit folgenden Tabellen:
- aussentemp
- feuchtigkeitaussen
- aussentempluftdruck
- Absoluterluftdruck
- relativerluftdruck
Jede Tabelle muss folgende Spalten enthalten:
- identificación
- temperature / feuchtigkeit / temp / absolutluftdruck / relativluftdruck
- uhrzeit
- dato
Je nach Tabelle bei zweitens, dass richtige eintragen.
Die id wird als Primärerschlüssel festgelegt und das Tabellenformat sollte MyISAM sein.
Bei einem LINUX Server kann zusätzlich durch Crontab jede Stunde (oder wie oft man es halt möchte) die Temperature aktuallisiert werden.
Dazu im Ordner, etc., die Datei crontab am Ende folgender Eintrag einfügen:
0 * / 1 * * * root wget https:// dirección IP des ESP-Moduls / get
Um die Daten manuell in die Datenbank einzutragen folgene Internetadresse aufrufen:
IPAdresse des ESP-Moduls / get
Dies kann jedoch nur im gleichen Netzwerk funktionieren!
Da sich der PHP code nicht hochladenmöchte hier zum kopieren (Bitte Datei esp8266daten.php nennen)!
connect_error) {
echo "Fehler bei der Verbindung:". mysqli_connect_error (); Salida(); } $ datos = htmlspecialchars ($ _ GET ["temp"]); $ feuchtigkeit = htmlspecialchars ($ _ GET ["feucht"]); $ tempdruck = htmlspecialchars ($ _ GET ["temppressure"]); $ absolutdruck = htmlspecialchars ($ _ GET ["absolut"]); $ relativdruck = htmlspecialchars ($ _ GET ["relativ"]); $ uhrzeit = fecha ("(H, i)", $ marca de tiempo); $ datum = date ("(Y, d, m)", $ marca de tiempo); echo $ datos; echo $ feuchtigkeit; echo $ tempdruck; echo $ absolutdruck; echo $ relativdruck; echo $ uhrzeit; echo $ datum; $ sqltemp = "INSERT INTO aussentemp (temperatura, uhrzeit, datum) VALUES ('$ data', '$ uhrzeit', '$ datum')"; $ mysqli -> consulta ($ sqltemp); $ sqlfeucht = "INSERT INTO feuchtigkeitaussen (feuchtigkeit, uhrzeit, datum) VALUES ('$ feuchtigkeit', '$ uhrzeit', '$ datum')"; $ mysqli -> consulta ($ sqlfeucht); $ sqltempdruck = "INSERT INTO aussentempluftdruck (temp, uhrzeit, datum) VALUES ('$ tempdruck', '$ uhrzeit', '$ datum')"; $ mysqli -> consulta ($ sqltempdruck); $ sqlabsolut = "INSERT INTO absoluterluftdruck (absolutluftdruck, uhrzeit, datum) VALUES ('$ absolutdruck', '$ uhrzeit', '$ datum')"; $ mysqli -> consulta ($ sqlabsolut); $ sqlrelativ = "INSERT INTO relativerluftdruck (relativluftdruck, uhrzeit, datum) VALUES ('$ relativdruck', '$ uhrzeit', '$ datum')"; $ mysqli -> consulta ($ sqlrelativ); echo "abajo"; $ mysqli -> cerrar (); ?>
Paso 4: Infos
Da der BMP180 auch Lufttemperatur von 0 - 60 ° C messen kann gibt es die auusentemluftdruck Tabelle. Mit den Werten aus der Datenbank können beliebige Sachen gemacht werden, wie im Browser als Diagramm ausgeben oder wie ich es ge dieretenibbe eine App als Diagramm auswerten zu können. Bei irgendwelchen Problemas bitte bescheid geben. Viel Spaß beim Nachbauen.