ESP8266
27.07.2017
Mini-Wetterstation ADFB
Das erste Projekt mit dem Wemos D1 mini: Eine Mini-Wetterstation.
Dazu wurde der Temperatur- und Luftdrucksensor BMP280 mit dem Wemos über I2C verbunden. Auf dem Wemos läuft MicroPython, das Bootscript verbindet automatisch mit dem WLAN – den Rest erledigt das Script unten in Kombination mit der Bibliothek von Paul Cunnane
WeMos D1 mini | BMP280 |
---|---|
3V3 | VCC |
G | G |
D1 | SCL |
D2 | SDA |
R -> D0 |
Quellcode
import machine
import bme280
import urequests
import time
i2c = machine.I2C, sda=machine.Pin(4))
bme = bme280.BME280
def getData(): d = bme.read_compensated_data() t = d0/100. p = d1/25600. time.sleep(5) d = bme.read_compensated_data() t = t + d0/100. p = p + d1/25600. time.sleep(5) d = bme.read_compensated_data() t = t + d0/100. p = p + d1/25600.
t = t / 3. p = p / 3. return (t,p)- Edit these to suit your particular situation
api_key = ‘XXXXXXX’
host = ‘https://api.thingspeak.com’
def sendData(): data = getData() path = ‘/update?api_key=’ + api_key + ‘&field1’ + ‘=’ + str(data0) + ‘&field2’ + ‘=’ + str(data1)
r = urequests.get(host+path)sendData()
rtc= machine.RTC
rtc.irq(trigger = rtc.ALARM0, wake=machine.DEEPSLEEP)
rtc.alarm(rtc.ALARM0, 300000)
machine.deepsleep()