Spisu treści:

Außentemperatursensoren: 4 kroki
Außentemperatursensoren: 4 kroki

Wideo: Außentemperatursensoren: 4 kroki

Wideo: Außentemperatursensoren: 4 kroki
Wideo: GCSE Chemistry Revision "Required Practical 4: Temperature Changes" 2024, Listopad
Anonim
Czujnik temperatury zewnętrznej
Czujnik temperatury zewnętrznej
Czujnik temperatury zewnętrznej
Czujnik temperatury zewnętrznej

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

Krok 1: Benötigte Teile

Benötigte Hauptkomponenten:

  • Arduino Nano
  • ESP 8266 ESP-01
  • Spannungswandler
  • Czujnik temperatury/feuchtigkeit DHT22
  • 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, Widerstände und Schalter benötigt die einzelnen Werte sind aus dem Schaltplan abzulesen.

Krok 2: Zusammenbau

Zusammenbau
Zusammenbau

Nach dem folgenden Schaltplan zusammenlöten.

Am besten als erstes alles auf einem Steckboard ausprobieren.

Krok 3: KOD

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 PRZYCISK RESET gedrückthalten, dann zusätzlich den GPIO 0 PRZYCISK drücken, erst dann vom PRZYCISK RESET gehen und dannach auch den GPIO 0 PRZYCISK 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 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:

  1. Aussentemp
  2. feuchtigkeitaussen
  3. aussentempluftdruck
  4. absolutorluftdruck
  5. Relatywnie

Jede Tabelle muss folgende Spalten enthalten:

  1. NS
  2. temperatura / feuchtigkeit / temp / absolutluftdruck / relativluftdruck
  3. uhrzeit
  4. fakt

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 Temperatur aktuallisiert werden.

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

0 */1 * * * root wget https://adres IP modułów ESP/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!

Jeśli chcesz, aby kod PHP nie został skopiowany, możesz skopiować plik (nie dotyczy plików bitowych w pliku esp8266daten.php)!

connect_error) {

echo "Fehler bei der Verbindung: ". mysqli_connect_error(); Wyjście(); } $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 = data("(R, d, m)", $znacznik czasu); echo $dane; echo $feuchtigkeit; echo $tempdruck; echo $absolutdruck; echo $relativdruck; echo $uhrzeit; echo $dane; $sqltemp = "WSTAW DO aussentemp (temperatura, temperatura, punkt odniesienia) WARTOŚCI ('$dane', '$uhrzeit', '$dane')"; $mysqli -> zapytanie($sqltemp); $sqlfeucht = "WSTAW W WARTOŚCI feuchtigkeitaussen (feuchtigkeit, uhrzeit, datum) ('$feuchtigkeit', '$uhrzeit', '$datum')"; $mysqli -> zapytanie($sqlfeucht); $sqltempdruck = "WSTAW DO aussentempluftdruck (temp, uhrzeit, data) WARTOŚCI ('$tempdruck', '$uhrzeit', '$datum')"; $mysqli -> zapytanie($sqltempdruck); $sqlabsolut = "WSTAW DO absoluterluftdruck (absolutluftdruck, uhrzeit, datum) WARTOŚCI ('$absolutdruck', '$uhrzeit', '$datum')"; $mysqli -> zapytanie($sqlabsolut); $sqlrelativ = "WSTAW DO relativerluftdruck (relativluftdruck, uhrzeit, datum) WARTOŚCI ('$relativdruck', '$uhrzeit', '$datum')"; $mysqli -> zapytanie($sqlrelativ); echo „w dół”; $mysqli -> zamknij(); ?>

Krok 4: Informacje

Da der BMP180 auch Lufttemperatur od 0 - 60°C messen cann gibt es die auusentemluftdruck Tabelle. Mit den Werten aus der Datenbank beliebige Sachen Gemacht, w przeglądarce als Diagramm ausgeben lub eicheine schede up Date Habe. als Diagramm auswerten zu können. Bei irgendwelchen Problemen bitte bescheid geben. Viel Spaß beim Nachbauen.

Zalecana: