INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Wetterstation mit bme280 bauen
05.08.2018, 15:48
Beitrag #1
Wetterstation mit bme280 bauen
Hi alle mit einander, jetzt denkt ihr euch oje schon wieder so einer der was bauen will. Ja so ist es Smile

Da mich diese Standard Funk Wetterstationen in den Wahnsinn treiben weil sie nicht länger als 12 Monate halten, dann gibt das Display oder Sensor auf habe ich mir zu Aufgabe gemacht eine eigene Wetterstation zu bauen.

Die Handwerklichen Fähigkeiten sind vorhanden, ich habe bereits alle Komponenten verlötet und über den Beispiel Sketch Bme Test aus aus der Adafruit Library zum laufen bekommen, der Sensor gibt mir die Werte aus. "bin ein bisserl stolz, weil ich mit codes nicht so viel bzw. nichts am Hut habe es aber bis hierhin geschafft habe"

Ich versuche alles so gut wie möglich nieder zu schreiben das es verständlich wird was ich vor habe.

Als Board benutze ich den ESP8266 mit dem bme280 als Sensor.
Gespeist wird der ESP8266 mit 4xAA Batterien, ich weiß das man ihn schlafen schicken sollte weil sonst die Batterie zu schnell leer ist, dazu aber später.

Was habe ich vor?

Ich habe 3 Thermometer, Nr. 1 soll in den Garten für die Außentemperatur,
Nr 2. soll in das Wohnzimmer für die Zimmertemperatur, Nr. soll in das Schlafzimmer.
Im Wohnzimmer möchte ich mir ein Tablet an die Wand hängen auf dem die Werte und ggf unser Kalender angezeigt werden.
Am einfachsten hatte ich mir gedacht dies über eine Webseite zu machen die ich
auf meinem Windows Server hosten würde, also intern im Netzwerk.

Jetzt kommt der Moment wo sich einige die Hände über dem Kopf zusammenschlagen und sich denken ach ne schon wieder so einer der keinen Plan hat und nicht versteht über was wir hier reden!

Wenn sich jemand von euch oder ihr die Mühe machen möchtet mir bei meinem Projekt zu helfen wäre ich sehr dankbar!

Jetzt wird es schwierig euch zu erklären wo ich hänge, ich versuche es Smile

Also Die Thermometer funktionieren, die Werte werden mir im seriell Monitor angezeigt,
nun möchte ich das sich dass Thermometer in mein Wlan einloggt, dazu habe ich mir den Beispielsketch Wifi Client angeschaut und
ihn zum testen auf den ESP geschrieben, hat funktioniert.
Nur leider bekomme ich beide Sketche nicht zusammen, so das er sich einloggt und gleichzeitig Daten anzeigt.
Nun ist die Frage wie ich vorgehen muss, zum Schluss soll ja alles auf einer Webseite angezeigt werden,
und ich weiß gerade nicht wie ich vorgehen muss bzw. was ich dafür brauche.
Ein guter Bekannter macht webdesign somit kann er mir die Seite programmieren.

Wie bekomme ich den Wert per Wlan an meinen Server geschickt oder wie kann sich die Seite die Daten ziehen?

Viele Grüße

Markus
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
05.08.2018, 15:58
Beitrag #2
RE: Wetterstation mit bme280 bauen
Am einfachsten ist, du siehst dir diesen Beitrag an, da geht es genau um dieses Thema und du kannst dir einiges daraus entnehmen.

Gruß Dieter

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. Cool
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
05.08.2018, 16:05 (Dieser Beitrag wurde zuletzt bearbeitet: 05.08.2018 16:06 von Tommy56.)
Beitrag #3
RE: Wetterstation mit bme280 bauen
Ich habe das so verstanden, dass Du für jeden BME280 einen ESP8266 hast. Welchen?

Es gibt grundlegend 2 Möglichkeiten:

1. Jeder ESP8266 stellt eine kleine Website mit den Werten bereit, die der Webserver abfragt.
2. Jeder ESP8266 greift über einen Http-Client auf den Webserver zu und meldet seine Werte (idealerweise per POST).

Beide Varianten sind annähernd gleichwertig. Welche man nimmt, ist Ansichtssache und etwas von den Kenntnissen und der Umgebung des Webservers abhängig.

Wenn es allerdings bereist bei der Vereinigung von 2 Sketchen klemmt, ist es evtl. besser, erst mal einen Gang zurück zu schalten und ein paar Grundlagen zu lernen.

Ein Sketch hat in der Regel folgenden Aufbau:

#include -- Die benutzten Libs
-- globale Variablen

void setup() {
Alles was am Anfang genau 1 Mal gemacht werden muss
}

void loop() {
Alles was immer wieder gemacht werden muss
}

Diese Struktur hast Du bei jedem Sketch und wenn Du 2 veknüpfen willst, dann musst Du das, was zusammen gehört zusammen packen. Aufpassen, dass keine Bezeichnungen doppelt sind.

Bei beiden Varianten muss Dein Arduino weitgehend zeitlich unabhängig reagieren können, es darf also kein delay(...) drin sein, Du darfst aber auch nicht laufend das WLAN zumüllen. Du brauchst also eine Zeitsteuerung ohne delay().

Schau Dir dazu BlinkWithoutDelay an und verstehe es. Evtl. hilft Dir dabei die Nachtwächtererklärung und das Unterforum Zutorials und Literatur.

Wichtig, mache nicht zu viel auf einmal, löse Teilaufgaben und verknüpfe diese am Ende.

Deine erste Entscheidung sollte sein, ob Du 1 oder 2 realisieren willst.

Hilfe bei der Lösung bekommst Du hier aber lösen musst Du selbst.

Gruß Tommy

"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
05.08.2018, 16:21
Beitrag #4
RE: Wetterstation mit bme280 bauen
Vielen Dank für die nette Unterstützung,

hotsystems den Thread werde ich mir durchlesen, vielen Dank für den Link! Smile

Tommy56 auch dir erstmal vielen Dank für die Unterstützung!
Genau, ich habe für jeden Sensor einen ESP8266 und zwar diesen:

D1 Mini ESP8266 ESP12 NodeMcu


Ich denke Variante 1 wäre angenehmer weil wenn mein Server einmal down sein sollte kann ich immer noch z.B. per Handy auf die einzelnen ESP´s zugreifen.

Vielen Dank für die Erklärung des Sketch Aufbau, habe es verstanden und werde es sofort umsetzten und testen Smile
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
05.08.2018, 16:31
Beitrag #5
RE: Wetterstation mit bme280 bauen
Es gäbe auch noch eine 3. Variante:

Jeder ESP schreibt seine Daten aktiv direkt in eine MySQL-Datenbank und der Webserver zieht von dort die Daten. Der Vorteil wäre, dass Du zeitliche Verläufe darstellen kannst.
Die habe ich mal 1 Jahr im Probebetrieb mit 1 ESP gefahren.

Gruß Tommy

"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
05.08.2018, 17:28
Beitrag #6
RE: Wetterstation mit bme280 bauen
Ich würde den ESP8266WebServer anstatt des Wifi Client nehmen.
Ist in meinen Augen etwas kompfortabler.

Gruß Fips

Meine Esp8266 & ESP32 Projekte
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
05.08.2018, 17:31 (Dieser Beitrag wurde zuletzt bearbeitet: 05.08.2018 17:32 von Tommy56.)
Beitrag #7
RE: Wetterstation mit bme280 bauen
(05.08.2018 17:28)Fips schrieb:  Ich würde den ESP8266WebServer anstatt des Wifi Client nehmen.
Ist in meinen Augen etwas kompfortabler.
Bei der Wahl zwischen 1 und 2 ich auch. Das erfordert allerdings cronjobs auf dem "großen Webserver".
Da bei mir immer eine DB nicht weit ist Wink ist meine Variante natürlich 3.

Gruß Tommy

"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
05.08.2018, 17:39
Beitrag #8
RE: Wetterstation mit bme280 bauen
Einen ersten Erfolg kann ich vermelden, hab den Sketch hinbekommen.
diese Zeitlichen Verläufe habe ich bei meinem Heizungsthermostaten auch und
finde die optisch sehr schick.

Für jemanden der das ganze erst lernen bzw. verstehen muss, welche Variante wäre am einfachsten? Wenn ich von einfach sprechen kann "lach"


Code:
#include <Wire.h>
#include <SPI.h>
#include <Adafruit_Sensor.h>
#include <Adafruit_BME280.h>
#include <ESP8266WiFi.h>



#define BME_SCK 13
#define BME_MISO 12
#define BME_MOSI 11
#define BME_CS 10

#define SEALEVELPRESSURE_HPA (1013.25)

Adafruit_BME280 bme; // I2C
//Adafruit_BME280 bme(BME_CS); // hardware SPI
//Adafruit_BME280 bme(BME_CS, BME_MOSI, BME_MISO, BME_SCK); // software SPI

unsigned long delayTime;

const char* ssid     = "WIFI2.4";
const char* password = "XXXXXXXXXXX";

void setup() {
    Serial.begin(9600);
    Serial.println(F("BME280 test"));

    bool status;
    
    // default settings
    // (you can also pass in a Wire library object like &Wire2)
    status = bme.begin();
      
    if (!bme.begin(0x76)) {
        Serial.println("Could not find a valid BME280 sensor, check wiring!");
        while (1);
    }
    
    Serial.println("-- Default Test --");
    delayTime = 1000;

    Serial.println();

Serial.begin(9600);
  delay(10);

  // We start by connecting to a WiFi network

  Serial.println();
  Serial.println();
  Serial.print("Connecting to ");
  Serial.println(ssid);
  
  /* Explicitly set the ESP8266 to be a WiFi-client, otherwise, it by default,
     would try to act as both a client and an access-point and could cause
     network-issues with your other WiFi-devices on your WiFi-network. */
  WiFi.mode(WIFI_STA);
  WiFi.begin(ssid, password);
  
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }

  Serial.println("");
  Serial.println("WiFi connected");  
  Serial.println("IP address: ");
  Serial.println(WiFi.localIP());


}



void loop() {
    printValues();
    delay(delayTime);
}


void printValues() {
    Serial.print("Temperatur = ");
    Serial.print(bme.readTemperature());
    Serial.println(" °C");

    Serial.print("Luftdruck = ");

    Serial.print(bme.readPressure() / 100.0F);
    Serial.println(" hPa");

    Serial.print("Hoehe = ");
    Serial.print(bme.readAltitude(SEALEVELPRESSURE_HPA));
    Serial.println(" m");

    Serial.print("Luftfeuchtigkeit = ");
    Serial.print(bme.readHumidity());
    Serial.println(" %");

    Serial.println();
}
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  Wetterstation die xte muhmuh 72 7.038 10.11.2018 18:48
Letzter Beitrag: katodev
  Wetterstation mit Wemos d1 mini Beavis1703 2 774 13.09.2018 10:43
Letzter Beitrag: Bitklopfer
  ESP32 Wetterstation MeisterQ 16 2.497 31.08.2018 17:34
Letzter Beitrag: MeisterQ
  ESP8266 esp-12e development board & BME280 falsche Werte Lurchi 8 3.777 25.03.2018 07:34
Letzter Beitrag: Fips
Lightbulb ESP8266 ESP-12E & BME280 Lurchi 9 4.973 04.05.2017 11:59
Letzter Beitrag: Tommy56

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste