Der BMP180-Shield ist ein Sensor-Breakout für die Wettermessung, der sich gut mit dem Wemos D1 Mini integrieren lässt (nur aufstecken). Er wird ebenfalls von Tasmota unterstützt:

  • Temperatur
  • Luftdruck

Der Shield wird nicht von Wemos, sondern von einem Drittanbieter hergestellt, funktioniert aber perfekt mit dem D1 Mini. In meiner Wetterstation verwende ich lieber den BME280, weil er zusätzlich die Luftfeuchte anzeigt und nur wenig mehr kostet.

Verbindungen

Wemos D1 Mini BMP180
3,3V Vcc
GND GND
D2 (GPIO4) SDA
D1 (GPIO5) SCL

 

Das BMP180-Shield zum Aufstecken.
Es wird direkt auf den Wemos D1 Mini aufgesteckt.

 

Tasmota-Konfiguration

Für den Wemos D1 Mini wird wieder der Gerätetyp 'Generic' gewählt und gespeichert.

In der Gerätekonfiguration wird wieder das "Generic"-Modell für den Wemos D1 Mini ausgewählt und nach dem Abspeichern/Neubooten, die Signal-Pins für die I2C-Schnittstelle eingegeben (nochmals speichern/booten).
Beim Zeitplan wird nichts eingegeben, da es sich um kein Schaltmodul handelt.
Überprüfen, ob die richtige WLAN-SSID angezeigt wird und dann einen Hostnamen vergeben (hier 'TEST').
Bei den MQTT-Einstellungen ist der richtige OpenHAB-Hostname zu überprüfen. Anschließend sind Topic und Full Topic einzugeben.
Beim Logging kann die Telemetrieperiode eingestellt werden. 30 Sekunden für Tests und z.B. 300 Sekunden im Realbetrieb, um den Datenverkehr zu minimieren.

Unter sonstige Einstellungen wählt man noch einen Friendly Name, im Beispiel ist es der Sensortyp. Dieser wird dann auf jeder der Webseiten des Sensors ganz oben angezeigt.

Alexa kann hier nicht verwendet werden, da es sich um keinen Schaltbefehl sondern eine Messwertabfrage handelt.

Nach der Konfiguration wählt man die Konsole und kann prüfen, ob die Ausgabe auf den MQTT-Pfad richtig erfolgt.

Der Luftdruck wird auf der aktuellen Höhe des Sensors gemessen. Um ihn mit dem Wetterbericht vergleichen zu können, muß er auf Meereshöhe umgerechnet werden. Die Umrechung ist in Tasmota vorhanden, es muss jedoch über die Konsole die aktuelle Höhe (auffindbar über Google/Ortsname) eingegeben werden. Der Befehl lautet:

Altitude Höhe

und wird in Meter eingegeben. Die Zeile mit Return abschließen. Die Konsole zeigt die erfolgreiche Eingabe im Protokoll an.

Auf der Hauptseite erscheinen die Messwerte des Sensors (gelb markiert) und der Umrechnung auf Meereshöhe (rot markiert).

OpenHAB Items

Folgende Items werden definiert:


//=======================================================================================//
// File: items/BMP180.items  Rev. 22.09.2018 / 15:15                                     //
// (C) 2018 IoT-Systems, D-83043 Bad Aibling                                             //
// Author: Andreas Kriwanek                                                              //
//=======================================================================================//
// Project: Wemos D1 Mini with BMP180 shield                                             //
//=======================================================================================//

// Chart time range BMP180:
Number chartPeriodBMP180  "Auswahl"

// Items for BMP180:
Number dataTemp "Temperature [%.1f °C]" 
    { mqtt="<[mosquitto:Test/BMP180/tele/SENSOR:state:JSONPATH($.BMP180.Temperature)]" }
Number dataPres "Pressure [%.1f hPa]" 
    { mqtt="<[mosquitto:Test/BMP180/tele/SENSOR:state:JSONPATH($.BMP180.Pressure)]" }
Number dataPresSL "Pressure Sea Level [%.1f hPa]" 
    { mqtt="<[mosquitto:Test/BMP180/tele/SENSOR:state:JSONPATH($.BMP180.SeaPressure)]" }

// BMP180 (Tasmota) Administration data:
String bootModuleBMP180 "Modul [%s]" 
    { mqtt="<[mosquitto:Test/BMP180/tele/INFO1:state:JSONPATH($.Module)]" }
String bootVersionBMP180 "Version [%s]" 
    { mqtt="<[mosquitto:Test/BMP180/tele/INFO1:state:JSONPATH($.Version)]" }
String bootFallbackBMP180 "Fallback Topic [%s]" 
    { mqtt="<[mosquitto:Test/BMP180/tele/INFO1:state:JSONPATH($.FallbackTopic)]" }
String bootGroupBMP180 "Group Topic [%s]" 
    { mqtt="<[mosquitto:Test/BMP180/tele/INFO1:state:JSONPATH($.GroupTopic)]" }
String bootWSModeBMP180 "Webserver Mode [%s]" 
    { mqtt="<[mosquitto:Test/BMP180/tele/INFO2:state:JSONPATH($.WebServerMode)]" }
String bootHostnameBMP180 "Hostname [%s]" 
    { mqtt="<[mosquitto:Test/BMP180/tele/INFO2:state:JSONPATH($.Hostname)]" }
String bootIPAddressBMP180 "IP-Adresse [%s]" 
    { mqtt="<[mosquitto:Test/BMP180/tele/INFO2:state:JSONPATH($.IPAddress)]" }
String bootRestartReasonBMP180 "Restart Grund [%s]" 
    { mqtt="<[mosquitto:Test/BMP180/tele/INFO3:state:JSONPATH($.RestartReason)]" }
String parUpdateBMP180 "Letzter Update [%s]" 

 

OpenHAB Sitemap

Die minimale Sitemap für den Aufbau:


//=======================================================================================//
// File: sitemaps/BMP180.sitemap  Rev. 16.09.2018 / 15:45                                //
// (C) 2018 IoT-Systems, D-83043 Bad Aibling                                             //
// Author: Andreas Kriwanek                                                              //
//=======================================================================================//
// Project: Wemos D1 Mini with distance sensor HCC-SR04		                         //
//=======================================================================================//
sitemap BMP180 label="BMP180"
{
	Frame {
		Text item=actDate icon="time"
	}
	Frame label="BMP180" {
        Text item=dataTemp
		Text item=dataPres
		Text item=dataPresSL
	}
	Frame label="Status Wemos D1 Mini" {
		Text label="Wemos D1 Mini" icon="ak_info" {
			Frame label="Wemos D1 Mini" {
				Text item=bootModuleBMP180
				Text item=bootVersionBMP180
				Text item=bootFallbackBMP180
				Text item=bootGroupBMP180
				Text item=bootWSModeBMP180
				Text item=bootHostnameBMP180
				Text item=bootIPAddressBMP180
				Text item=bootRestartReasonBMP180
				Text item=parUpdateBMP180
				Text item=parUptimeBMP180
				Text item=parVccBMP180
				Text item=parWiFiAPBMP180
				Text item=parWiFiSSIDBMP180
				Text item=parWiFiRSSIBMP180
				Text item=parWiFiMacBMP180
			}
		}
	}
}

// vim: syntax=Xtend

 

In der BASIC-UI sieht die Anzeige so aus:

Alle Messwerte des Sensors werden auf der Hauptseite angezeigt.
Klickt man auf das Status-Untermenü, werden die Details des Wemos D1 Mini angezeigt. Insbesondere für die Fehlersuche wichtig.

Links

Tasmota Wiki: Keine Wiki-Seite vorhanden!
Produktbeschreibung: http://www.esp8266learning.com/wemos-mini-bmp180-shield.php
Eckstein-Shop: https://eckstein-shop.de/WeMos-BMP180-Shield-fuer-D1-mini-Luftdruck-Pressure-Modul-Arduino-NodeMcu-IOT