2025 Yazar: John Day | [email protected]. Son düzenleme: 2025-01-13 06:58
Arduion Nano + Esp Modul Temperatur/Luftdruck/Luftfeuchtigkeitswerte içinde Datenbank zu speichern'de çalışıyor.
Adım 1: Benötigte Teile
Benötigte Hauptkomponenten:
- Arduino Nano
- ESP 8266 ESP-01
- Spannungswandler
- DHT22 Sıcaklık/Feuchtigkeit Sensörü
- BMP-180 Luftdrucksensor
Wesentlichen Komponenten, welche benötigt werden'de kalıplar.
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. Adım: Zusammenbau
Nach dem folgenden Schaltplan zusammenlöten.
Her şeyden önce, her şeyden önce Steckboard ausprobieren.
3. Adım: KOD
Um den Arduino zu programları dürfen die RX ve TX Leitung zum ESP-Modul nicht verbunden sein!
Um das ESP-Modul zu programmieren zuerst denn RESET DÜĞMESİ gerückthalten, dann zusätzlich den GPIO 0 BUTON drücken, erst dann vom RESET DÜĞMESİ gehen ve dannach auch den GPIO 0 DÜĞME loslassen.
FTDI-Modul benötigt için ESP-Modul zu programmieren wird zusätzlich ein.
Arduino IDE için Bibliotheken:
- https://github.com/esp8266/Arduino
- https://github.com/adafruit/DHT-sensor-library
- https://github.com/sparkfun/BMP180_Breakout
Jetzt wird noch ein Sunucu iyi bir Datenbank planı içinde Daten. Raspberry Pi 2, Apache Server'da ve PhpMyAdmin Datenbank'ta kullanılabilir.
Auf dem Sunucusu, PHP Skript abgelegt werden.
Danach muss eine Datenbank erstellt werden mit folgenden Tablo:
- aussentemp
- feuchtigkeitaussen
- aussentempluftdruck
- mutlakrluftdruck
- göreceli
Jede Tabelle muss folgende Spalten enthalten:
- İD
- sıcaklık / feuchtigkeit / sıcaklık / absolutluftdruck / relativluftdruck
- uhrzeit
- veri
Je nach Tabelle bei zweitens, dass richtige eintragen.
MyISAM sein'de yer alan ilk ve tek dosya formatıdır.
Bei einem LINUX Sunucusu en son Crontab jede Stunde(oder wie sık man es stop möchte) die Temperatur aktuallisiert werden.
Dazu im Ordner vb, Datei crontab am Ende folgender Eintrag einfügen:
0 */1 * * * root wget https://IP adresi des ESP-Moduls/get
Um die Daten manuel in die Datenbank einzutragen folgene Internetaddresse aufrufen:
IPAdresse des ESP-Moduls/get
Öldü kann jedoch nur im gleichen Netzwerk funktionieren!
Da sich der PHP kodu nicht hochladenmöchte hier zum kopieren (Bitte Datei esp8266daten.php nennen)!
bağlantı_hatası) {
echo "Fehler bei der Verbindung:". mysqli_connect_error(); çıkış(); } $veri = htmlspecialchars($_GET["temp"]); $feuchtigkeit = htmlspecialchars($_GET["feucht"]); $tempdruck = htmlspecialchars($_GET["temppressure"]); $absolutdruck = htmlspecialchars($_GET["mutlak"]); $relativdruck = htmlspecialchars($_GET["relativ"]); $uhrzeit = tarih("(H, i)", $zaman damgası); $veri = tarih("(Y, d, m)", $zaman damgası); yankı $veri; echo $feuchtigkeit; echo $tempdruck; echo $absolutdruck; echo $relativdruck; echo $uhrzeit; echo $veri; $sqltemp = "Aussentemp'e EKLE (sıcaklık, uhrzeit, veri) DEĞERLER ('$veri', '$uhrzeit', '$veri')"; $mysqli -> sorgu($sqltemp); $sqlfeucht = "FEuchtigkeitaussen (feuchtigkeit, uhrzeit, veri) DEĞERLERİNE EKLE ('$feuchtigkeit', '$uhrzeit', '$veri')"; $mysqli -> sorgu($sqlfeucht); $sqltempdruck = "aussentempluftdruck'a EKLE (temp, uhrzeit, veri) DEĞERLER ('$tempdruck', '$uhrzeit', '$veri')"; $mysqli -> sorgu($sqltempdruck); $sqlabsolut = "Mutlakrluftdruck'a EKLE (absolutluftdruck, uhrzeit, veri) DEĞERLER ('$absolutdruck', '$uhrzeit', '$veri')"; $mysqli -> sorgu($sqlabsolut); $sqlrelativ = "Relativluftdruck'a (relativluftdruck, uhrzeit, veri) DEĞERLER ('$relativdruck', '$uhrzeit', '$veri')"; $mysqli -> sorgu($sqlrelativ); yankı "aşağı"; $mysqli -> kapat(); ?>
4. Adım: Bilgiler
0 - 60°C'de BMP180'e kadar Lufttemperatur (Ağırlık Sıcaklığı) verileri, şuradan alınmıştır. als Diyagram auswerten zu können. Bei irgendwelchen Problemen bitte bescheid geben. Viel Spaß beim Nachbauen.