Sisukord:

Ajutine temperatuur: 4 sammu
Ajutine temperatuur: 4 sammu

Video: Ajutine temperatuur: 4 sammu

Video: Ajutine temperatuur: 4 sammu
Video: Памяти Андрея Зяблых. Холангиокарцинома 4 стадии 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.

1. samm: Benötigte Teile

Benötigte Hauptkomponenten:

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

2. samm: Zusammenbau

Zusammenbau
Zusammenbau

Nach dem folgenden Schaltplan zusammenlöten.

Am besten als erstes alles auf einem Steckboard ausprobieren.

3. samm: KOODI

Um den Arduino zu programmeren dürfen die RX und TX Leitung zum ESP-Modul nicht verbunden sein!

Um das ESP-moodul Programmeerimine 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 programmeren wird zusätzlich ein FTDI-Modul benötigt.

Arduino IDE raamatukogu:

  • 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äuft und eine PhpMyAdmin Datenbank.

Kui teil on PHP -skript, siis on see täielik.

Danach muss eine Datenbank erstellt werden mit folgenden Tabellen:

  1. aussentemp
  2. feuchtigkeaussen
  3. aussentempluftdruck
  4. absoluutne vastsündinud
  5. suhteline hukk

Jede Tabelle muss folgende Spalten enthalten:

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

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 ei saa Crontab jede Stunde (oder wie oft man es halt möchte) die Temperatur aktuallisiert werden.

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

0 */1 * * * root wget https:// IP-aadress 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 funktionieren!

Selle PHP -koodiga saate kohe ühendust võtta (Bitte Datei esp8266daten.php nennen)!

connect_error) {

kaja "Fehler bei der Verbindung:". mysqli_connect_error (); väljumine (); } $ data = htmlspecialchars ($ _ GET ["temp"]); $ feuchtigkeit = htmlspecialchars ($ _ GET ["feucht"]); $ tempdruck = htmlspecialchars ($ _ GET ["temppressure"]); $ absolutdruck = htmlspecialchars ($ _ GET ["absolut"]); $ relativdruck = htmlspecialchars ($ _ GET ["suhteline"]); $ uhrzeit = kuupäev ("(H, i)", $ ajatempel); $ kuupäev = kuupäev ("(Y, d, m)", $ ajatempel); echo $ andmed; echo $ feuchtigkeit; echo $ tempdruck; echo $ absolutdruck; echo $ relativdruck; kaja $ uhrzeit; echo $ datum; $ sqltemp = "INSERT INTO aussentemp (temperatuur, uhrzeit, datum) VÄÄRTUSED ('$ data', '$ uhrzeit', '$ datum')"; $ mysqli -> päring ($ sqltemp); $ sqlfeucht = "INSERT INTO feuchtigkeitaussen (feuchtigkeit, uhrzeit, datum) VÄÄRTUSED ('$ feuchtigkeit', '$ uhrzeit', '$ datum')"; $ mysqli -> päring ($ sqlfeucht); $ sqltempdruck = "INSERT INTO aussentempluftdruck (temp, uhrzeit, datum) VÄÄRTUSED ('$ tempdruck', '$ uhrzeit', '$ datum')"; $ mysqli -> päring ($ sqltempdruck); $ sqlabsolut = "INSERT INTO absoluterluftdruck (absolutluftdruck, uhrzeit, datum) VALUES ('$ absolutdruck', '$ uhrzeit', '$ datum')"; $ mysqli -> päring ($ sqlabsolut); $ sqlrelativ = "INSERT INTO relativerluftdruck (relativluftdruck, uhrzeit, datum) VALUES ('$ relativdruck', '$ uhrzeit', '$ datum')"; $ mysqli -> päring ($ sqlrelativ); kaja "alla"; $ mysqli -> sulge (); ?>

4. samm: teave

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

Soovitan: