Inhaltsverzeichnis:

Außentemperatursensoren - Gunook
Außentemperatursensoren - Gunook

Video: Außentemperatursensoren - Gunook

Video: Außentemperatursensoren - Gunook
Video: Wie funktionieren Temperatursensoren? | Thermoelemente, Pt100, PTC und NTC 2024, November
Anonim
Außentemperatursensoren
Außentemperatursensoren
Außentemperatursensoren
Außentemperatursensoren

Dies ist eine Anleitung um durch einen Arduion Nano + ESP Modul Temperatur/Luftdruck/Luftfeuchtigkeitswerte in einer Datenbank zu speichern.

Schritt 1: Benötigte Teile

Erforderliche Hauptkomponenten:

  • Arduino Nano
  • ESP 8266 ESP-01
  • Spannungswandler
  • DHT22 Temperatur-/Feuchtigkeitssensor
  • BMP-180 Luftdrucksensor

Dies sind die wesentlichen Komponenten, welche benötigt werden.

Zusätzlich WIRD natürlich ein Lötkolben, Lötzinn, Zangen, Draht, Kondensatoren, Buchse und Schalter benötigt sterben Werte Sind Aus Dem Schaltplan Ablesen.

Schritt 2: Zusammenbau

Zusammenbau
Zusammenbau

Nach dem folgenden Schaltplan zusammenlöten.

Am besten als erstes auf einem Steckboard ausprobieren.

Schritt 3: CODE

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 drücken, 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 Daten in einer Datenbank schreibt. for Ich benutze einen Raspberry Pi 2, auf welchem 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:

  1. aussentemp
  2. feuchtigkeitsaussen
  3. aussentempluftdruck
  4. absoluter luftdruck
  5. relativer Luftdruck

Jede Tabelle muss folgende Spalten enthalten:

  1. Ich würde
  2. temperatur / feuchtigkeit / temp / absolutluftdruck / relativluftdruck
  3. uhrzeit
  4. Datum

Je nach Tabelle bei zweitens, dass richtige eintragen.

Die ID WIRD als Primärschlü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) sterben Temperatur aktuallisiert werden.

Dazu im Ordner etc, die Datei crontab am Ende folgender Eintrag einfügen:

0 */1 * * * root wget https://IP-Adresse des ESP-Moduls/get

Um die Daten manuell in die einzutragen folgene Internetadresse Datenbank 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)!

Verbindungsfehler) {

echo "Fehler bei der Verbindung: ". mysqli_connect_error(); Ausfahrt(); } $data = htmlspecialchars($_GET["temp"]); $feuchtigkeit = htmlspecialchars($_GET["feucht"]); $tempdruck = htmlspecialchars($_GET["temppressure"]); $absolutdruck = htmlspecialchars($_GET["absolut"]); $relativdruck = htmlspecialchars($_GET["relativ"]); $uhrzeit = date("(H, i)", $timestamp); $datum = date("(Y, d, m)", $timestamp); echo $daten; echo $feuchtigkeit; echo $tempdruck; echo $absolutdruck; echo $relativdruck; echo $uhrzeit; echo $datum; $sqltemp = "INSERT INTO aussentemp (temperatur, uhrzeit, datum) VALUES ('$data', '$uhrzeit', '$datum')"; $mysqli -> Abfrage($sqltemp); $sqlfeucht = "INSERT INTO feuchtigkeitsaussen (feuchtigkeit, uhrzeit, datum) VALUES ('$feuchtigkeit', '$uhrzeit', '$datum')"; $mysqli -> Abfrage($sqlfeucht); $sqltempdruck = "INSERT INTO aussentempluftdruck (temp, uhrzeit, datum) VALUES ('$tempdruck', '$uhrzeit', '$datum')"; $mysqli -> query($sqltempdruck); $sqlabsolut = "INSERT INTO absoluterluftdruck (absolutluftdruck, uhrzeit, datum) VALUES ('$absolutdruck', '$uhrzeit', '$datum')"; $mysqli -> Abfrage($sqlabsolut); $sqlrelativ = "INSERT INTO relativerluftdruck (relativluftdruck, uhrzeit, datum) VALUES ('$relativdruck', '$uhrzeit', '$datum')"; $mysqli -> Abfrage($sqlrelativ); Echo "unten"; $mysqli -> close(); ?>

Schritt 4: Infos

Da der BMP180 auch Lufttemperatur von 0 - 60°C messen can is also die auusentemluftdruck Tabelle. Als Diagramm auswerten zu can. Bei einigen Problemen bitte bescheid geben. Viel Spaß beim Nachbauen.