Innehållsförteckning:

Außentemperatursensoren: 4 steg
Außentemperatursensoren: 4 steg

Video: Außentemperatursensoren: 4 steg

Video: Außentemperatursensoren: 4 steg
Video: Arduino und LM75AD (I2C-Temperatursensor) 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 eine Datenbank zu speichern.

Steg 1: Benötigte Teile

Benötigte Hauptkomponenten:

  • Arduino Nano
  • ESP 8266 ESP-01
  • Spannungswandler
  • DHT22 Temperatur/Feuchtigkeit Sensor
  • 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.

Steg 2: Zusammenbau

Zusammenbau
Zusammenbau

Nach dem folgenden Schaltplan zusammenlöten.

Am besten as erstes alles auf einem Steckboard ausprobieren.

Steg 3: KOD

Om den kan du programmera RX och TX Leitung för ESP-moduler som inte kan skickas!

Om det här ESP-modulen kan programmeras för att återställa KNAPPEN kan du använda GPIO 0-KNAPPEN, sedan kan du återställa KNAPPEN och sedan skapa en GPIO 0-knapp.

Om das ESP-modul för programmering av funktioner för FTDI-moduler.

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äser och en PhpMyAdmin Datenbank.

Auf dem Server måste ha PHP Skript abgelegt werden.

Danach muss eine Datenbank erstellt werden with folgenden Tabellen:

  1. aussentemp
  2. feuchtigkeitaussen
  3. aussentempluftdruck
  4. absoluterluftdruck
  5. relativerluftdruck

Jede Tabelle måste följa Spalten enthalten:

  1. id
  2. temperatur / feuchtigkeit / temp / absolutluftdruck / relativluftdruck
  3. uhrzeit
  4. utgångspunkt

Je nach Tabelle bei zweitens, dass richtige eintragen.

Die id wird als Primärerschlüssel festgelegt und das Tabellenformat sollte MyISAM sein.

När en LINUX -server kan användas för Crontab jede Stunde (eller som ofta kan stoppas) kan temperaturaktualiseringen bli.

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

0 */1 * * * root wget https:// IP-adress för ESP-moduler/get

Um die Daten manuell in die Datenbank einzutragen folgene Internetadresse aufrufen:

IPAdresse des ESP-Moduls/get

Dies kann ned im gleichen Netzwerk functionieren!

Da sich der PHP code nicht hochladenmöchte hier zum kopieren (Bitte Datei esp8266daten.php nennen)!

connect_error) {

eko "Fehler bei der Verbindung:". mysqli_connect_error (); utgång(); } $ data = htmlspecialchars ($ _ GET ["temp"]); $ feuchtigkeit = htmlspecialchars ($ _ GET ["feucht"]); $ tempdruck = htmlspecialchars ($ _ GET ["tempressure"]); $ absolutdruck = htmlspecialchars ($ _ GET ["absolut"]); $ relativdruck = htmlspecialchars ($ _ GET ["relativ"]); $ uhrzeit = date ("(H, i)", $ tidsstämpel); $ datum = datum ("(Y, d, m)", $ tidsstämpel); eko $ data; echo $ feuchtigkeit; echo $ tempdruck; echo $ absolutdruck; echo $ relativdruck; echo $ uhrzeit; eko $ datum; $ sqltemp = "INSERT INTO aussentemp (temperatur, uhrzeit, datum) VÄRDEN ('$ data', '$ uhrzeit', '$ datum')"; $ mysqli -> fråga ($ sqltemp); $ sqlfeucht = "INSERT INTO feuchtigkeitaussen (feuchtigkeit, uhrzeit, datum) VALUES ('$ feuchtigkeit', '$ uhrzeit', '$ datum')"; $ mysqli -> fråga ($ sqlfeucht); $ sqltempdruck = "INSERT IN aussentempluftdruck (temp, uhrzeit, datum) VALUES ('$ tempdruck', '$ uhrzeit', '$ datum')"; $ mysqli -> fråga ($ sqltempdruck); $ sqlabsolut = "INSERT INTO absoluterluftdruck (absolutluftdruck, uhrzeit, datum) VALUES ('$ absolutdruck', '$ uhrzeit', '$ datum')"; $ mysqli -> fråga ($ sqlabsolut); $ sqlrelativ = "INSERT INTO relativeluftdruck (relativluftdruck, uhrzeit, datum) VALUES ('$ relativdruck', '$ uhrzeit', '$ datum')"; $ mysqli -> fråga ($ sqlrelativ); eko "ner"; $ mysqli -> close (); ?>

Steg 4: Information

Da der BMP180 auch Lufttemperatur von 0 - 60 ° C messen can gibt es die auusentemluftdruck Tabelle. Mit den Werten aus der Datenbank kön beliebige Sachen gemacht werden, wie im Browser as Diagramm ausgeben or who ich es getan have aine App schreiben um die Daten, als Diagramm auswerten zu können. Bei irgendwelchen Problemen bitte bescheid geben. Viel Spaß beim Nachbauen.

Rekommenderad: