florian timm

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)
  1. 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()