Indholdsfortegnelse:

Außentemperatursensoren: 4 trin
Außentemperatursensoren: 4 trin

Video: Außentemperatursensoren: 4 trin

Video: Außentemperatursensoren: 4 trin
Video: VW Golf 5 how to replace for a few cents external temperature sensor 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.

Trin 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.

Trin 2: Zusammenbau

Zusammenbau
Zusammenbau

Nach dem folgenden Schaltplan zusammenlöten.

Am besten as erstes alles auf einem Steckboard ausprobieren.

Trin 3: KODE

Om den Arduino til programmering af RX og TX Leitung til ESP-moduler, der ikke kan bruges!

Um das ESP-Modul zu programmerieren zuerst denn RESET BUTTON gedrückthalten, dann zusätzlich den GPIO 0 BUTTON drücken, former dann vom RESET BUTTON gehen and dannach auch the GPIO 0 BUTTON loslassen.

Om ESP-modulet kan programmeres til en FTDI-modul.

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 vil gerne modtage data i en database. Hierfür benutze ich einen Raspberry Pi 2, auf welchem ein Apache Server læser og sender PhpMyAdmin Datenbank.

Auf dem Server skal have 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 muss folgende Spalten enthalten:

  1. id
  2. temperatur / feuchtigkeit / temp / absolutluftdruck / relativluftdruck
  3. uhrzeit
  4. dato

Je nach Tabelle bei zweitens, dass richtige eintragen.

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

Ved en LINUX -server kan der ikke foretages ændringer i Crontab jede Stunde (eller som oftest det er muligt at stoppe temperaturen).

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 Datenbank einzutragen folgene Internetadresse aufrufen:

IPAdresse des ESP-Moduls/get

Dies kann jedoch nur im gleichen Netzwerk functionieren!

Da sich der PHP -kode ikke kan hochladenmöchte hier zum kopieren (Bitte Datei esp8266daten.php nennen)!

connect_error) {

ekko "Fehler bei der Verbindung:". mysqli_connect_error (); Afslut(); } $ data = htmlspecialchars ($ _ GET ["temp"]); $ feuchtigkeit = htmlspecialchars ($ _ GET ["feucht"]); $ tempdruck = htmlspecialchars ($ _ GET ["temppressure"]); $ absolutdruck = htmlspecialchars ($ _ GET ["absolut"]); $ relativdruck = htmlspecialchars ($ _ GET ["relativ"]); $ uhrzeit = date ("(H, i)", $ tidsstempel); $ datum = dato ("(Y, d, m)", $ tidsstempel); ekko $ data; ekko $ feuchtigkeit; ekko $ tempdruck; ekko $ absolutdruck; ekko $ relativdruck; ekko $ uhrzeit; ekko $ datum; $ sqltemp = "INSERT IN aussentemp (temperatur, uhrzeit, datum) VALUES ('$ data', '$ uhrzeit', '$ datum')"; $ mysqli -> forespørgsel ($ sqltemp); $ sqlfeucht = "INDSÆT I FEuchtigkeitaussen (feuchtigkeit, uhrzeit, datum) VÆRDIER ('$ feuchtigkeit', '$ uhrzeit', '$ datum')"; $ mysqli -> forespørgsel ($ sqlfeucht); $ sqltempdruck = "INSERT TO aussentempluftdruck (temp, uhrzeit, datum) VALUES ('$ tempdruck', '$ uhrzeit', '$ datum')"; $ mysqli -> forespørgsel ($ sqltempdruck); $ sqlabsolut = "INSERT INTO absoluterluftdruck (absolutluftdruck, uhrzeit, datum) VALUES ('$ absolutdruck', '$ uhrzeit', '$ datum')"; $ mysqli -> forespørgsel ($ sqlabsolut); $ sqlrelativ = "INSERT INTO relativerluftdruck (relativluftdruck, uhrzeit, datum) VALUES ('$ relativdruck', '$ uhrzeit', '$ datum')"; $ mysqli -> forespørgsel ($ sqlrelativ); ekko "ned"; $ mysqli -> luk (); ?>

Trin 4: Oplysninger

Da der BMP180 auf Lufttemperatur fra 0 - 60 ° C kan der ikke sendes en tabell. Mit den kan ikke udelukkes i databasen, da vi kan se en browser som et diagram, der kan bruges til at få en app -app til at skifte data, als Diagramm auswerten zu können. Bei irgendwelchen Problemen bitte bescheid geben. Viel Spaß beim Nachbauen.

Anbefalede: