Events

:

:

Elektronik | Funk | Software

Der Technik-Blog

  • Social Media

    Werbung:


    Neue Artikel


    Events

    • Keine zukünftigen Events vorhanden

    Der Technik-Blog

    NodeMCU ESP8266 WiFi WLAN Weatherstation

    NodeMCU Wetterstation

    Alex @ AEQ-WEB

    Für dieses Projekt gibt es auch ein Video auf Youtube: NodeMCU ESP8266 WiFi Wetterstation

    Was ist NodeMCU

    NodeMCU ist ein freies Betriebssystem für Mikrocontroller. Meistens wird der NodeMCU als ein eigener Mikrocontroller gesehen. Beim den meisten bekannten NodeMCU Boards ist auf dem Entwicklungsbrett ein ESP8266 integriert. Für das in diesem Artikel gezeigte Projekt würde auch ein ESP8266 ausreichen. Da es aber mit dem NodeMCU sowohl hardwareseitig als auch softwareseitig einfacher und komfortabler ist, haben wir uns für dieses Board entschieden. Programmiert wird der NodeMCU über den Arduino IDE.

    WiFi Wetterstation mit ESP8266

    Die WiFi Wetterstation hat nahezu denselben Aufbau, wie unsere Arduino Wetterstation. Diese Wetterstation wird jedoch über ein Ethernet Shield betrieben und benötigt deshalb neben der Stromversorgung auch ein LAN-Kabel. Für viele stellt dieses Projekt ein Hindernis da, fast niemand im Garten oder am Balkon ein Netzwerkkabel hat. Die WiFi Wetterstation arbeitet mit WLAN und würde mit einer kleinen Photovoltaik-Zelle sogar vollkommen kabellos funktionieren. Als Hardware kommt der BME280 Multisensor in Verwendung. Der BME280 arbeitet über die I2C-Schnittstelle und kann Temperatur, Luftdruck und die Feuchtigkeit messen. Für die Windgeschwindigkeit wird ein herkömmliches Anemometer mit einem Reed-Kontakt verwendet. Bei jeder Umdrehung gibt das Anemometer einen Impuls, der beim Mikrocontroller als Interrupt erfasst wird. Zwischen den Eingang und der Masse befindet sich ein 10K Widerstand, der ein prellen am Eingang verhindert. Der ESP8266 erfasst diese Daten und sendet alles an einem Webserver über HTTP. Am Server läuft ein PHP-Script, der die empfangenen Daten verarbeitet. Da die Wetterstation im Außenbereich zum Einsatz kommt, wird ein entsprechendes wetterfestes Gehäuse benötigt. Das Gehäuse besteht großteils aus Metall. Eine Bauanleitung gibt es hier.

    Werbung:

    Software für den ESP8266

    Damit der NodeMCU und der BME280 funktionieren, muss das Board und die Library im Arduino IDE zuerst installiert werden. Dazu wird in den Einstellungen vom Arduino IDE selbst die URL für den Boardmanager eingeben. Diese URL lautet:

    http://arduino.esp8266.com/stable/package_esp8266com_index.json
    Danach wird der Boardmanager geöffnet und mittels suche muss der ESP8266 gesucht und installiert werden. Wenn der ESP8266 installiert wurde, können noch die Librarys, welche für den ESP8266 notwendig sind, hinzugefügt werden.

    Um neue Librarys zu installieren, klickt man auf Sketch -> Include Librarys -> Magange Librarys. Über den Library Manager wird die Adafruit BME280 Library und die Adafruit Unified Sensor Library installiert. Beide Librarys befinden sich dann unter den Librarys im Arduino Ordner.

    Werbung:

    BME280 I2C Adresse Scannen

    Bei der Adafruit BME280 Library wird die Adresse vom Sensor 0x77 verwendet. Wenn nicht der originale I2C Sensor von Adafruit verwendet wird, kann es passieren, dass die Adresse abweicht. Um hier Klarheit zu schaffen, gibt es einen I2C-BUS Scanner. Der Scanner testet alle Adressen durch und gibt das Ergebnis über den Serial Monitor aus. Der Scanner kann hier herunter geladen werden. Beim Aufbau von unserem Projekt haben wir festgestellt, dass die Adresse vom BME280 0x76 lautet. Daher war es notwendig, die Library anzupassen. Unter Windows findet man in dem Arduino Librarys Ordner die BME280 Library [Adafruit_BME280.h]. Der Parameter BME280_ADRRESS muss entsprechend dem Ergebnis vom Scanner angepasst werden.

    Wetterstation Code

    Der Code ist so aufgebaut, dass jede Minute ein HTTP Request an einem Webserver gesendet wird. Über HTTP Post werden Temperatur, Luftdruck, Feuchtigkeit, Windgeschwindigkeit und die Laufzeit des Boards in Sekunden. Nach den Librarys sind im Code die Parameter definiert, die für den Betrieb der Wetterstation angepasst werden müssen. Zuerst muss der Name und der Schlüssel vom W-LAN Netzwerk eingeben werden und die Serverurl zur PHP Datei muss angepasst werden. Für den ersten Test kann auch die originale URL verwendet werden. Die Wetterdaten werden dann auf unseren Testserver gesendet.

    PHP Server

    Der PHP-Script für den Server ist auf zwei Dateien aufgeteilt. Die uplink.php-Datei empfängt die Daten und erstellt damit ein Textfile. Über die index.php-Datei wird das Textfile ausgelesen und im Browser angezeigt.

    Hinweis

    Der PHP-Script benötigt am Webserver Schreibrechte. Derzeit unterstützt dieses Projekt kein HTTPS.

    Benötigte Komponenten:


    WiFi_WS.ino
    Download
    WiFi_WS PHP Serv.
    Download

    122X122

    Über den Autor

    Alex, der Gründer von AEQ-WEB. Seit über 10 Jahren beschäftigt er sich mit Computern und elektronischen Bauteilen aller Art. Neben den Hardware-Projekten entwickelt er auch Webseiten, Apps und Software für Computer.

    Top Artikel in dieser Kategorie:

    LoRa Mini Wetterstation

    Die kleine LoRa Wetterstation

    • Video

    In diesem Artikel geht es um den Bau einer kleinen Wetterstation, die ihre Daten über LoRa an einen ESP32 sendet, der die Daten auf einem OLED-Display anzeigt

    Weiterlesen
    Smarthome NodeMCU Wireless WiFi Switch Web Interface

    Node MCU WiFi Schalter

    In diesem Beitrag zeigen wir, wie mit dem NodeMCU (ESP8266) ein Smart Home fähiger WiFi (WLAN) Funkschalter entwickelt wird.

    Weiterlesen

    Social Media

    Werbung:


    Neue Artikel


    Events

    • Keine zukünftigen Events vorhanden