Isi kandungan:

Außentemperatursensoren: 4 Langkah
Außentemperatursensoren: 4 Langkah

Video: Außentemperatursensoren: 4 Langkah

Video: Außentemperatursensoren: 4 Langkah
Video: VW Golf Mk4, Jetta, Bora G17 Ambient or Outside Temperature Sensor Location & Replacement in 3 steps 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.

Langkah 1: Benötigte Teile

Benötigte Hauptkomponenten:

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

Langkah 2: Zusammenbau

Zusammenbau
Zusammenbau

Nach dem folgenden Schaltplan zusammenlöten.

Saya menganugerahkan semua aspek auf einem Steckboard ausprobieren.

Langkah 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 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 pelik 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 di 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:

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

Jede Tabelle muss folgende Spalten entalten:

  1. ID
  2. temperatur / feuchtigkeit / temp / absolutluftdruck / relativluftdruck
  3. uhrzeit
  4. datum

Je nach Tabelle bei zweitens, dass richtige eintragen.

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

Bei einem Server LINUX kann zusätzlich durch Crontab jede Stunde (oder wie oftt man es halt möchte) die Temperatur aktuallisiert werden.

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

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

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

IPAdresse des ESP-Moduls / dapatkan

Dies kann jedoch nur im gleichen Netzwerk funktionieren!

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

sambung_ralat) {

gema "Fehler bei der Verbindung:". mysqli_connect_error (); jalan keluar (); } $ data = htmlspecialchars ($ _ DAPATKAN ["temp"]); $ feuchtigkeit = htmlspecialchars ($ _ DAPATKAN ["feucht"]); $ tempdruck = htmlspecialchars ($ _ DAPATKAN ["temppressure"]); $ absolutdruck = htmlspecialchars ($ _ DAPATKAN ["absolut"]); $ relativdruck = htmlspecialchars ($ _ DAPATKAN ["relativ"]); $ uhrzeit = tarikh ("(H, i)", cap waktu $); $ datum = tarikh ("(Y, d, m)", cap waktu $); echo $ data; gema $ feuchtigkeit; gema $ tempdruck; echo $ absolutdruck; gema $ relativdruck; gema $ uhrzeit; gema $ datum; $ sqltemp = "INSERT INTO aussentemp (temperatur, uhrzeit, datum) NILAI ('$ data', '$ uhrzeit', '$ datum')"; $ mysqli -> pertanyaan ($ sqltemp); $ sqlfeucht = "MASUKKAN KE DALAM feuchtigkeitaussen (feuchtigkeit, uhrzeit, datum) NILAI ('$ feuchtigkeit', '$ uhrzeit', '$ datum')"; $ mysqli -> pertanyaan ($ sqlfeucht); $ sqltempdruck = "MASUKKAN KE DALAM aussentempluftdruck (temp, uhrzeit, datum) NILAI ('$ tempdruck', '$ uhrzeit', '$ datum')"; $ mysqli -> pertanyaan ($ sqltempdruck); $ sqlabsolut = "INSERT INTO absoluterluftdruck (absolutluftdruck, uhrzeit, datum) NILAI ('$ absolutdruck', '$ uhrzeit', '$ datum')"; $ mysqli -> pertanyaan ($ sqlabsolut); $ sqlrelativ = "INSERT INTO relativerluftdruck (relativluftdruck, uhrzeit, datum) NILAI ('$ relativdruck', '$ uhrzeit', '$ datum')"; $ mysqli -> pertanyaan ($ sqlrelativ); bergema "turun"; $ mysqli -> tutup (); ?>

Langkah 4: Maklumat

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 getan habe eine als Diagramm auswerten zu können. Bei irgendwelchen Problemen bitte bescheid geben. Viel Spaß beim Nachbauen.

Disyorkan: