Forum: Projekte & Code BME280 Beispiel Code in BASCOM


von Michael L. (nightflyer88)


Angehängte Dateien:

Lesenswert?

Hallo zusammen

Da mich schon einige Leute nach einem funktionierenden Code für den 
BME280 Sensor gefragt haben, habe ich mal einen Beispiel Code 
zusammengestellt.

Der Code ist in Bascom geschrieben.
Der AVR liest die Werte des Sensors aus und gibt diese per UART aus.

Wer Fragen, Anregungen oder Erweiterungen hat soll sich melden.

von lotnick (Gast)


Angehängte Dateien:

Lesenswert?

Hello Michael.
I tried your code. It looks good, but...

I have wrong pressure results. Got ~936hPa, when true pressure is about 
~970hPa(I'm on 280meters above sea level, QNH=~1000hPa, taken from 
nearby airport.).

 I checked this. I got ~970hPa on other manufacturer units.
Attached calculation in SMATH. I can't find error.
Michał

von Michael L. (nightflyer88)


Lesenswert?

Hast du t_fine auch mit den kalibrierdaten kompensiert ? Welchen wert 
bekommst du mit der pressure_32() funktion ?

von lotnick (Gast)


Lesenswert?

T_fine is calculated well.
Pressure_32 gave wrong pressure and pressure64 gave wrong pressure.
Could you tell me what was your altitude when you make printscreen with 
917hPa?

von Michael L. (nightflyer88)


Lesenswert?

my altitude is 580m. I have now tested it on my bme280:

BME280: 945hpa
Weather forecast (Windfinder.com) @ 13:00: 943hpa

I think the sensor provides the correct values, and the calculation is 
correct.

von lotnick (Gast)


Lesenswert?

You are probably right... I have to try with other sensor maybe...

von lotnick (Gast)


Lesenswert?

So I checked with BMP280. ("P"!)(got today from China).  I haven't time 
to  read all datasheet, but it seems to be very similar to BME280. 
Pressure is to small as well. I'm really confused...

von lotnick (Gast)


Lesenswert?

Found it !! Found it!!
Line:  T_fine = Temp()

This is wrong. You calculate "t_fine" in this function, then(still 
inside function) you calculate "Temp" and when returning from function 
variable "Temp" is written to "T_fine".(   T_fine = Temp()   )
At this moment "t_fine" is wrong and you use it for pressure 
calculation.
Remember t_fine is not temperature. It is only variable about "128000".
Check BMP280 datasheet on page 23.
Time for beer...
Michał



P.S. Don't check pressure on Windfinder. Check with some known nearby 
weather station, with known altitude.

von Michael L. (nightflyer88)


Angehängte Dateien:

Lesenswert?

Besten Dank lotnick !

Ich habe den Code soweit angepasst. Ich hoffe es ist so richtig.

von Roman (Gast)


Lesenswert?

Hallo Michael,
leider kenne ich mich in Bascom nicht besonders gut aus. Könntest du mir 
bitte folgenden Code-Teil erklären?
  Dig_h5 = Wert_array(6)
  Shift Dig_h5 , Left , 4
  X = Wert_array(5)
  Shift Dig_h5 , Right , 4
Ich verstehe nicht, was sich ändern soll, wenn ich einen 8-bit-Integer 
in einem 16-bit-Integer zuerst 4 nach links und dann wieder 4 nach 
rechts shifte?
Vielen Dank!

von Paul B. (paul_baumann)


Lesenswert?

Roman schrieb:
> Ich verstehe nicht, was sich ändern soll, wenn ich einen 8-bit-Integer
> in einem 16-bit-Integer zuerst 4 nach links und dann wieder 4 nach
> rechts shifte?

Der Wert bleibt in Bewegung und nimmt nicht zu.
;-)

Nein, im Ernst: Das ist bestimmt ein Flüchtigkeitsfehler im Programm, 
denn
er holt sich in der Zeile drüber den 5. Wert aus dem Array und weist ihn 
x zu, "macht" dann aber nicht an X "herum", sondern noch einmal der 
Variable "Dig_h5"

MfG Paul

von Michael L. (nightflyer88)


Angehängte Dateien:

Lesenswert?

Hallo Roman

Besten Dank für deinen Hinweis. Der Grund liegt darin, dass bei dig_H4 
und dig_H5 nur die bits von 0-11 benötigt werden, und die bits 12-15 
gelöscht werden sollen, deshalb die Schieberei. Ich kann dir jetzt aber 
auf die schnelle garnicht sagen ob der code so überhaupt richtig ist, 
muss das ganze einmal in einer ruhigen Minuten genau anschauen.

von Michael L. (nightflyer88)


Angehängte Dateien:

Lesenswert?

also wie vermutet war da wirklich was falsch an der Schieberei...

Die Kalibrierwerte Dig_h4 und Dig_h5 wurden somit falsch 
zusammengesetzt. Bei meinem Sensor hat sich allerdings der Wert Dig_h4 
nicht verändert, nur Dig_h5 war vorher 7 und jetzt 0. Der effektive 
Luftfeuchtigkeitswert hat sich letztendlich bei mir nicht merklich 
verändert.

Anbei findet Ihr die korrigierte Version.

von Ralf (Gast)


Lesenswert?

Hallo  Michael,

kann es sein das in der Testdaten TXT die Feuchtigkeitswerte noch nicht 
durch 1,024 geteilt sind?

Wenn man die Funktionen aus der Original Lib nimmt, egal ob die 32Bit 
oder in Double gerechnet, sind die Feuchtigkeitswerte (wenn man ihre 
Testdaten eingibt) genau um den Faktor 1,024 kleiner.

Grüße Ralf

von Thomas R. (gastrodus)


Lesenswert?

Hallo zusammen

Kann ich mit dem Code für den BME280 auch den BMP280
korrekt auslesen?

Kann die Höhe korrekt berechnet werden, mit dem BMP180
hatte ich immer Probleme, denn wenn die Temperatur
änderte, änderte sich auch die Höhe (???).

Danke für die Hilfe!

Gruss
Thomas

von Markus (Gast)


Angehängte Dateien:

Lesenswert?

Danke erstmal für deinen Code, der hat mir sehr weitergeholfen.
Ich probiere auch seit ein paar Tagen meine China Erungenschaft in Form 
von BME280 Breakoutboards aus.
Ich habe das ganze dann noch mit einem MAX7219 Displayplatinchen aus 
China verheiratet, damit ich ein autarkes Barometer für eine Infotafel 
bekomme.
Soweit so gut.
Zwei Probleme trten bei mir auf.
1. Ist der Barometrische Druck ist um ca. 45hPa zu niedrig.
2. Ich bekomme keine Feuchtigkeitswerte ausgelesen.


Gruß,
Markus

von Michael L. (nightflyer88)


Lesenswert?

Thomas R. schrieb:
> Kann ich mit dem Code für den BME280 auch den BMP280
> korrekt auslesen?

Grundsätzlich ist der Unterschied vom BMP zum BME, dass der BME noch 
zusätzlich die Luftfeuchtigkeit messen kann. Ich habe beide Datenblätter 
kurz überflogen, die I2C Adresse ist die selbe, und die Temperatur- und 
Luftdruckregister sind auch die selben, sowie die Berechnung der 
Messwerte. Trotzdem wird der Code nicht 1:1 mit dem BMP funktionieren, 
da bei der Sub Setup_bme280() unter anderem die Filter- und 
Kalibrierwerte für die Luftfeuchtigkeit geschrieben und gelesen werden. 
Dementsprechend sind trotzdem ein paar Anpassungen notwendig.

Thomas R. schrieb:
> Kann die Höhe korrekt berechnet werden, mit dem BMP180
> hatte ich immer Probleme, denn wenn die Temperatur
> änderte, änderte sich auch die Höhe (???).

Ja ist kein Problem, in der Luftdruckberechnung wird der Luftdruck mit 
der Temperatur kompensiert. Funktioniert übrigens mit dem BMP180 auch 
einwandfrei, wenn die Temperaturkompensation nach Datenblatt 
durchgeführt wird.



Markus schrieb:
> 1. Ist der Barometrische Druck ist um ca. 45hPa zu niedrig.

Besten Dank für deinen Hinweis. Mit was hast du den Luftdruck verglichen 
?

Markus schrieb:
> 2. Ich bekomme keine Feuchtigkeitswerte ausgelesen.

Entweder ist das Kontrollregister falsch gesetzt (Osrs_h = 0, Datenblatt 
ab Seite 25), oder etwas am Takt des AVR stimmt nicht.

von Markus (Gast)


Lesenswert?

Ich denke die Druckdifferenz kommt von der fehlenden Korrektur zum 
Meeresspiegel. Wir messen aber den Absolutdruck am Einsatzort,
also in der Höhe. Der Meterologische wird aber auf 0m referenziert.
Warum die Feuchte nicht ausgelesn wird kann ich mir nicht erklären.
Ich habe deinen Code 1:1 übernommen, bei dir geht es ja.
Da ich die Feuchte nicht brauche wäre es egal, hätte es aber trotzdem 
gerne verstanden.

Gruß,
Markus

von Michael L. (nightflyer88)


Lesenswert?

Also der Luftfeuchte Roh-Wert (Uh) wird ja bei dir korrekt ausgelesen, 
soweit gut. Aber die Kalibrierwerte h2 bis h6 sind alle 0, dadurch 
ergibt sich in der Berechnung der Luftfeuchte schlussendlich auch immer 
0.

In der Sub Setup_bme280() werden alle 24 Kalibrierwerte in einem Rutsch 
ausgelesen. Die Software i2c Schnittstelle in Bascom unterschtütz soweit 
ich weis kein Clock Stretching, ist der AVR zu schnell, oder der Sensor 
zu langsam, ist die i2c komunikation nicht mehr synchron -> es ergibt 
sich irgend ein misst, oder eben halt 0.

Prüfe nochmals ob du den richtigen Quarz hast, wie im Programm 
eingestellt. Überprüfe nochmals die Fuses ob evtl noch der interne 
aktiviert ist, der kann unter umständen ca. +/- 10% Abweichung haben.

von Markus (Gast)


Lesenswert?

Nein, mein Atmega32 läuft mit 8Mhz Xtal, das passt schon.

von Michael K. (tschoeatsch)


Lesenswert?

CONFIG I2CDELAY = value


Remarks
value
A numeric value in the range from 1 to 255.

A higher value means a slower I2C clock.
You may use a value of 0 too but it will result in a value of 256.

For the I2C routines the clock rate is calculated depending on the used 
crystal. In order to make it work for all I2C devices the slow mode is 
used. When you have faster I2C devices you can specify a low value.

By default a value of 5 is used. This will give a 200 kHZ clock.
When you specify 10, 10 uS will be used resulting in a 100 KHz clock.

When you use a very low crystal frequency, it is not possible to work 
with high clock frequencies.

Nur so nebenbei erwähnt, ein Auszug aus der bascom-Hilfe

von Markus (Gast)


Lesenswert?

An der Geschwindigkeit liegt es nicht,
hab es grad mit einem 4Mhz Quarz und damit halbierter Baudrate versucht.
Das schaut identisch aus.

von Markus (Gast)


Lesenswert?

Jetzt habe ich mein Problem erkannt.
Ich habe einen BMP280 statt eines BME280 geordert.
Dieser ist deutlich günstiger hat dafür aber keine rH Messung an Board.
Da ich nur den Druck brauche und für Feuchtigkeit sowieso einen besseren 
Sensor benutze ist es kein Problem für mich.

von Michael L. (nightflyer88)



Lesenswert?

So habe das Testprogramm noch ein wenig erweitert:

1. In der Startup Info wird unter anderem auch die Chip ID angezeigt, 
somit sieht man auch ob man wirklich einen BME280 hat ;-)

2. Höhe über Meer wird nach internationaler Höhenformel berechnet. Dies 
ist jedoch mit Vorsicht zu geniessen, da ein Mittelwert von 1013hPa und 
einer Temperatur von 15°C auf Meereshöhe angenommen wird. Je nach 
Wetterlage kann der Wert deshalb gut +/-50m abweichen.

3. Variometer Test Funktion eingebaut. Beispiel für die Anwendung in 
einem Segelflugzeug.

von Sungod (Gast)


Lesenswert?

Moin.
Ich habe mit dem Code V1.2 (v1.3 brauche ich nicht weil ich auch keine 
Höhe benötige) eine Luftfeuchtigkeit z.z. Abends von 102% was ja 
eigentlich nicht geht....Nur wenn die Luft 100% hat und es warm ist und 
Wasser noch verdunstet kann der Wert über 100% liegen.
Da wir hier in Berlin z. Z. 4,5 Grad und 998hpa haben frage ich mich ob 
der Wert von 102% stimmt....

Noch jemand solch einen Wert?
Grüße

von Wolfgang (Gast)


Lesenswert?

Sungod schrieb:
> Ich habe mit dem Code V1.2 (v1.3 brauche ich nicht weil ich auch keine
> Höhe benötige) eine Luftfeuchtigkeit z.z. Abends von 102% was ja
> eigentlich nicht geht....

Klar geht das. Schnippe mal mit dem Finger und wenn du dabei eine 
Nebelwolke erzeugst, war das mit den 102% richtig ;-)

Kalibriere doch mal z.B. gegen gesättigter Kochsalzlösung
http://nvlpubs.nist.gov/nistpubs/jres/81A/jresv81An1p89_A1b.pdf

von Sungod (Gast)


Lesenswert?

Wie soll ich den Kalibrieren?
Und die Frage war ja auch ob schonmal jemand in der letzten Zeit (jetzt 
Herbst) mal über 100% hatte?

von Michael L. (nightflyer88)


Lesenswert?

Kanst du mal ein Printscreen der seriellen Datenausgabe machen ? Also 
mit kalibrierwerte, Einstellungen, usw ?

von Sungod (Gast)


Lesenswert?

Moin....
Hier die Daten der Ser. Ausgabe

BME280 Test Programm V1.2
(c) 2015 by Michael Lehmann

Kalibrierwerte:
Dig_t1: 28295
Dig_t2: 26163
Dig_t3: 50
Dig_p1: 38494
Dig_p2: -10836
Dig_p3: 3024
Dig_p4: 10935
Dig_p5: -63
Dig_p6: -7
Dig_p7: 9900
Dig_p8: -10230
Dig_p9: 4285
Dig_h1: 75
Dig_h2: 354
Dig_h3: 0
Dig_h4: 338
Dig_h5: 0
Dig_h6: 30

Ut:529279 Up:259315 Uh:29741
Temperatur:   23.88 Grad
Luftdruck 64bit:   00.000hPa
Luftdruck 32bit:   995.06hPa
Luftfeuchtigkeit:  45.476% LF

Ut:529309 Up:259324 Uh:29744
Temperatur:   23.89 Grad
Luftdruck 64bit:   994.681hPa
Luftdruck 32bit:   995.07hPa
Luftfeuchtigkeit:  45.489% LF

Ut:529322 Up:259328 Uh:29743
Temperatur:   23.89 Grad
Luftdruck 64bit:   994.682hPa
Luftdruck 32bit:   995.06hPa
Luftfeuchtigkeit:  45.489% LF


Ich hänge den Sensor mal gleich raus müsste dann 102% anzeigen

von Michael L. (nightflyer88)


Lesenswert?

sieht soweit alles normal aus..

was ich mir vorstellen könnte ist, wenn du mit dem Sensor nach draußen 
gehst, sich der Sensor dann auf die 5°C abkühlt, und nun wieder direkt 
in die warme Wohnung mit 23°C 50% gehst, ist der Taupunkt bei ca. 12°C. 
Da der Sensor nun aber kälter ist, bildet sich Kondenswasser am Gehäuse, 
und Du hast einen Wert über 100%.

von Sungod S. (Firma: google) (sungod) Flattr this



Lesenswert?

Hallo
Der Sensor hängt schon seid einen.halben Jahr draußen.
In so einem Gehäuse wie auch dem Bild.
Hab ihn erstmal getauscht...Und der neue Sensor zeigt nun 88% an. Denke 
das vielleicht die Platine Feuchtigkeit gezogen hat und daher er immer 
solch hohe Werte angezeigt hat. Ich warte jetzt mal ab ob in den 
nächsten Tagen der neue Sensor auch erhöhte Werte anzeigt

Achso..... Das der Controller mit 14,...MHZ läuft wird ja darauf keinen 
Einfluss haben....Oder?

: Bearbeitet durch User
von Sungod S. (Firma: google) (sungod) Flattr this


Angehängte Dateien:

Lesenswert?

Guten morgen...
Heute morgen war wieder 101%
War aber auch sehr feucht heute Nacht...

von Wolfgang S. (wsm)


Lesenswert?

Vielen Dank für den Code.

Ich habe diesen für meine LCD-Ausgabe umgestellt.

Die rel. Feuchtigkeit ist stets 0%

Der Wert vom BME280 ist auch immer konstant.

Ich verwende eine kleine China-Platine 
http://www.ebay.de/itm/401181867055?_trksid=p2057872.m2749.l2649&ssPageName=STRK%3AMEBIDX%3AIT

Gibt es unterschiedliche BME280 ??

W.

von Herbert K. (avr-herbi)


Lesenswert?

Du hast keinen BME sondern einen BMP gekauft

von Wolfgang S. (wsm)


Lesenswert?

Danke für den Hinweis.

Schon neu bestellt.

W.

von RoBue (Gast)


Angehängte Dateien:

Lesenswert?

Hallo Michael,
zuerst einmal herzlichen Dank für das Einstellen Deines Codes.

Ich habe mir erlaubt,
Deinen Code für einen 1-Wire-Slave mit einem ATtiny85 zu "missbrauchen" 
;-)

Ich hoffe, es ist o.k.

Wichtig:
Da der ATtiny wegen dem 1-Wire-Bus mit 5V betrieben werden sollte,
muss man je nach BME-Breakout evtl. einen Levelkonverter zwischen ATtiny 
und BME einbauen!

Wie diese Slave angesteuert werden, kann man im Bascom-Forum nachlesen:
http://www.bascom-forum.de/showthread.php?76-1-Wire-Slave-Baukasten-V-2

Viel Spaß,
RoBue

von RoBue (Gast)


Lesenswert?

RoBue schrieb:
> Wie diese Slave angesteuert werden, kann man im Bascom-Forum nachlesen:
> http://www.bascom-forum.de/showthread.php?76-1-Wire-Slave-Baukasten-V-2

Der Link stimmt leider nicht mehr.
Forum scheint geschlossen worden zu sein.
Artikel steht nun in

http://bascomforum.de/index.php?thread/361-1-wire-slave-baukasten-v-2/

LG RoBue

von Mark D. (Gast)


Lesenswert?

Wie kommt es im Quellcode zu "Const Bme280_adress = &HEC" ?
Laut Datenblatt ist die I2C Adresse je nach SDO &H76/77 ?!

von Joe (Gast)


Lesenswert?

Beides ist richtig.

... aber aus einem mir nicht näher bekannten Grund muss &HEC angegeben 
werden, da irgendwo ein shift_r für eine Division durch zwei sorgt und 
dann kommt halt &H76 raus.

Joe

von Mark D. (Gast)


Lesenswert?

Joe schrieb:
> für eine Division durch zwei sorgt und
> dann kommt halt &H76 raus.

Gut beobachtet.
Der konkrete Blick aufs Protokoll sorgt dann für endgültige Klarheit.

von Roman H. (Gast)


Lesenswert?

Obige Quellcodes enthalten einen bösen Fehler in der I2C-Konfiguration:
SDA/SCL befinden sich beim 328er auf PortC.4 und 5!

von Joe (Gast)


Lesenswert?

Die PINs können in der Soft-Konfiguration nach Belieben festgelegt 
werden.

von Roman H. (Gast)


Lesenswert?

Joe schrieb:
> Die PINs können in der Soft-Konfiguration nach Belieben festgelegt
> werden.

Möglicherweise ist mir als Bascom-Anfänger noch ein Detail entgangen?
Compiliert mit I2C auf PortC0/1 so wie im Quellcode angegeben 
funktioniert das Programm jedoch nicht richtig und die Sensordaten sind 
Müll. Ich verwende Bascom  2.0.8.0 und $regfile="m328pbdef.dat" (neuerer 
PB-Typ).

von Joe (Gast)


Angehängte Dateien:

Lesenswert?

Meine Version.

Siehe Zeile ~25.

von Roman H. (Gast)


Lesenswert?

Joe schrieb:
> Siehe Zeile ~25.

Ja danke, alles klar. I2C in Software. Schön wenns funktioniert. Geht 
bei mir über C0/1 trotzdem nicht, über die I2C Hardware-Pins C4/5 
hingegen blendend.

von Joe (Gast)


Lesenswert?

In manchen .def-Dateien für einige Controller fehlt bei BASCOM die 
Festlegung der Ports als Input/Output, wenn I2C-Ports configuriert 
werden.
Insbesondere der Output-Port muss dann zusätzlich als solcher 
configuriert werden.

Versuchs mal.

von Wilfried A. (messtechniker)



Lesenswert?

Anbei eine hühnerfutterfreie Schaltung (Abb. 1)
mit weiteren Hinweisen für die Firmware BME280.hex
(Ver. 1.3) von Michael Lehmann hier aus diesem Thread.
Danke dafür.

Der ATMega 328 gibt die Sensordaten des BME 280
bzw. der Platine GYBME280 am seriellen Ausgang
entweder zur Anzeige durch ein Terminalprogramm
oder zur Weiterverarbeitung aus. Dazu muss der RxD
Anschluss eines TTL/Seriell bzw. TTL/USB Wandlers
am Anschluss TxD angeschlossen werden.

Die 2. Abbildung zeigt eine noch nicht ganz fertige
Darstellungsmöglichkeit für die Sensordaten.
Die Programmierung erfolgte durch das Programm „Profilab“.

Dabei war die gemessene Temperatur ca. 3 Grad C zu hoch
und die gemessene Feuchte um ca. 7 % zu niedrig.
Wurde im Profilab-Programm entsprechend korrigiert.

Euer Messtechniker

von Carsten (Gast)


Lesenswert?

Moin,

Habe dankend den Bascomcode übernommen für nen Datenlogger/Wetterstation 
(was sonst). Echt viel Arbeit die drinsteckt und bestimmt so manchem 
geholfen hat !!!

Nach einer Zeit X fängt der Sensor/meine Schaltung/mein Programm an 
sinnlose Werte zu liefern, aus -3 grad werden Nachts dann für 2 Stunden 
+37 grad, und dann stimmt wieder alles. Machmal auch die Feuchte oder 
der Luftdruck die "hängen bleiben".

Ich habe mich zugegeben noch nicht mit den möglichen Modes etc. 
auseinandergesetzt sondern den Code wie gesagt zu 99% übernommen.
Ich lese den BME280 einmal die Sekunde aus, das sollte ja kein Problem 
sein.

Habe testweise mal reingeschrieben, daß alle 60min der BME neu 
initialisert wird, macht keinen Unterschied im großen und ganzen. Wenn 
ich den Controller resette, dann stimmen die Werte wieder. Insgesamt 
werden noch ca 6 weitere Werte anderer Sensoren geloggt, die passen 
immer, sonst hätte ich nen fehler im Programm vermutet. Habe auch Errors 
auf dem Bus mitgeloggt etc....

Dasselbe macht der Sensor auch wenn ich ihn in Testumgebung bei 
Raumtemperatur nur am Breadboard und mit minimalem Code fürs LCD 
betreibe, 1Hz auslesen und anzeigen, irgendwann zeigt er 37,xx grad.....

Jemand ne Idee ?

von Guenter (Gast)


Lesenswert?

Ich habe den Code von Michael auch (etwas umgebaut) vor längerer Zeit 
verwendet. Hat auch funktioniert. Nach einer kleinen Änderung geht nur 
noch die Temperatur korrekt. Bei der Durchsicht von Michaels Code habe 
ich noch einen Fehler gefunden (oder etwas nicht verstanden?):
In der Setup_bme280 Routine werden ab &HE1 8 Byte geladen.

Muesste
  Dig_h4 = Wert_array(4)
  Shift Dig_h4 , Left , 4
  X = Wert_array(5)
  X = X And &HF
  Dig_h4 = Dig_h4 + X

  Dig_h5 = Wert_array(6)
  Shift Dig_h5 , Left , 4
  X = Wert_array(5)
  Shift X , Right , 4
  Dig_h5 = Dig_h5 + X

  Dig_h6 = Wert_array(7)

nicht heissen:
  Dig_h4 = Wert_array(4)
  Shift Dig_h4 , Left , 4
  X = Wert_array(5)
  X = X And &HF
  Dig_h4 = Dig_h4 + X

  Dig_h5 = Wert_array(7)
  Shift Dig_h5 , Left , 4
  X = Wert_array(6)
  Shift X , Right , 4
  Dig_h5 = Dig_h5 + X

  Dig_h6 = Wert_array(8)

???  falsche Indices)

Guenter

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.