Cov txheej txheem:

Kev ntsuas cua sov: 4 Kauj Ruam
Kev ntsuas cua sov: 4 Kauj Ruam

Video: Kev ntsuas cua sov: 4 Kauj Ruam

Video: Kev ntsuas cua sov: 4 Kauj Ruam
Video: Yasmi - Txiv Nraug Ntsuag ft. JN Vang (Music Video) 2024, Hlis ntuj nqeg
Anonim
Kev ntsuas cua sov
Kev ntsuas cua sov
Kev ntsuas cua sov
Kev ntsuas cua sov

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

Kauj Ruam 1: Benötigte Teile

Benötigte Hauptkomponenten:

  • Arduino Nano Cov
  • ESP 8266 ESP-01
  • Spannungswandler
  • DHT22 Kub/Feuchtigkeit Sensor
  • BMP-180 Luftdrucksensor

Tuag sind tuag 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.

Kauj ruam 2: Zusammenbau

Zusammenbau
Zusammenbau

Nach dem folgenden Schaltplan zusammenlöten.

Kuv ua qhov zoo tshaj plaws txhua yam auf einem Steckboard ausprobieren.

Kauj ruam 3: CODE

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 wird zusätzlich ein FTDI-Modul benötigt.

Cov ntaub ntawv rau 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 hauv 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. tsis pub leej twg paub
  5. relativerluftdruck

Jede Tabelle muss folgende Spalten enthalten:

  1. id ua
  2. Temperature / feuchtigkeit / temp / absolutluftdruck / relativluftdruck
  3. ua uhrzeit
  4. daim ntawv

Je nach Tabelle bei zweitens, dass richtige eintragen.

Tuag 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 txiv neej es nres möchte) tuag Kub aktuallisiert werden.

Dazu im Ordner thiab lwm yam, tuag Datei crontab am Ende folgender Eintrag einfügen:

0 */1 * * * hauv paus wget https:// IP adresse des ESP-Moduls/tau

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

IPAdresse des ESP-Moduls/tau

Tuag rau thaum kuv tseem gleichen Netzwerk funktionieren!

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

txuas_error) {

ncha "Fehler bei der Verbindung:". mysqli_connect_error (); tawm (); } $ cov ntaub ntawv = htmlspecialchars ($ _ GET ["temp"]); $ feuchtigkeit = htmlspecialchars ($ _ Tau ["feucht"]); $ tempdruck = htmlspecialchars ($ _ Tau txais ["kev kub ntxhov"]); $ absolutdruck = htmlspecialchars ($ _ GET ["absolut"]); $ relativdruck = htmlspecialchars ($ _ GET ["sib txheeb"]); $ uhrzeit = date ("(H, i)", $ timestamp); $ datum = hnub tim ("(Y, d, m)", $ timestamp); ncha $ cov ntaub ntawv; ncha $ feuchtigkeit; ncha $ tempdruck; ncha $ absolutdruck; ncha $ relativdruck; ncha $ uhrzeit; ncha $ datum; $ sqltemp = "INSERT INTO aussentemp (temperatur, uhrzeit, datum) VALUES ('$ data', '$ uhrzeit', '$ datum')"; $ mysqli -> nug ($ sqltemp); $ sqlfeucht = "INSERT INTO feuchtigkeitaussen (feuchtigkeit, uhrzeit, datum) VALUES ('$ feuchtigkeit', '$ uhrzeit', '$ datum')"; $ mysqli -> nug ($ sqlfeucht); $ sqltempdruck = "INSERT INTO aussentempluftdruck (temp, uhrzeit, datum) VALUES ('$ tempdruck', '$ uhrzeit', '$ datum')"; $ mysqli -> nug ($ sqltempdruck); $ sqlabsolut = "INSERT INTO absoluterluftdruck (absolutluftdruck, uhrzeit, datum) VALUES ('$ absolutdruck', '$ uhrzeit', '$ datum')"; $ mysqli -> nug ($ sqlabsolut); $ sqlrelativ = "INSERT INTO relativerluftdruck (relativluftdruck, uhrzeit, datum) VALUES ('$ relativdruck', '$ uhrzeit', '$ datum')"; $ mysqli -> nug ($ sqlrelativ); ncha "down"; $ mysqli -> kaw (); ?>

Kauj ruam 4: Cov ntaub ntawv

Da der BMP180 auch Lufttemperatur von 0 - 60 ° C messen kann gibt es tuag 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 appen als Diagramm auswerten zu können. Bei irgendwelchen Problemen bitte bescheid geben. Viel Spaß beim Nachbauen.

Pom zoo: