Forum: Mikrocontroller und Digitale Elektronik ESP8266 mit einem MQ 135 Sensor zum laufen kriegen


von Richard V. (richard_nachname)


Lesenswert?

Hallo an alle,

meine Name ist Richard und ich bin neu hier im Forum und hoffe auf 
diesem Weg ein wenig Hilfe zu bekommen bei meinem Projekt. Das Projekt 
entwickle ich grade im Rahmen meines Studiums als Industriedesigner. 
Ziel ist es mehrere CO2 Sensoren außen zu verteilen, welchen ihren 
jeweiligen CO2 Wert an ein ESP8266 1 übertragen, welches dann diese 
Daten über ein WLAN auf ein Website lädt, wo alle Werte dann in eine 
Karte eingetragen werden sollen und eine Art Wetterkarte nur halt für 
CO2 für ein bestimmtes Gebiet erstellen sollen.

Was ich bisher geschafft habe:

Das ESP8266 ist in der Arduino IDE installiert (Arduino Softwarevision 
1.8), die Daten bekomme ich über ein USB-Serial Wandler (Treiber 
installiert), das ESP8266 hat eine externe Spannungsversorgung, welche 
stabil 3,3V liefert, ich kann z.B. das BLINK-Beispiel übertragen und es 
funktioniert.

Mein Ziel was ich gerne mit diesem Beitrag erreichen würde:

einen MQ 135 CO2 Sensor Daten übermitteln lassen , über das ESP8266, an 
eine Website, welche sie als Graph darstellt

Momentan hänge ich daran:

1. Das ESP 8266 läuft ja auf 3,3V, der Sensor aber auf 5V. Ich wollte 
gerne über den Digital Out des Sensors in den GPIO Pin 2 des ESP 8266 
reingehen. Wie kann ich die Spannung einer Datenleitung von 5V auf 3,3V 
bekommen?

2.Immer wenn ich den seriellen Monitor starte kommen nur kryptische 
Zeichen und ich kann keine AT Befehle eingeben. Ich wollte das machen um 
zu checken ob alles funktioniert und, welche Firmwareversion installiert 
ist

3. ich kann bei Werkzeugen-Programmer nicht esptools auswählen. Ich habe 
gelesen, dass das nicht mehr nötig sei. Welchen Programmer sollte man da 
nun am besten auswählen?

3. Kennt ihr ein Tutorial oder habt ihr einen guten Link, welcher zeigt 
wie man Daten über das WLAN an eine Website überträgt, welche sie als 
Graph darstellt?

4. Ich habe schon viel schlechtes über den MQ135 Sensor gehört, weil er 
halt soweit ich es verstanden hab nur relative CO2 Werte übermittelt. 
Meine Idee war nun über einen professionellen CO2 Sensor den MQ135 zu 
"eichen". Denkt ihr das klappt? Habt ihr Erfahrungen mit anderen 
besseren CO2 Sensoren für wenig Geld (da Studienprojekt und selbst 
finanziert). Habt ihr ein Tutorial/ Link/ Tipp wie man den MQ135 
kalibrieren kann?

Ich bin kein kompletter Neuling auf dem Gebiet. Es hat immerhin schon 
für einen MIDI Controller gereicht mit Buttons und Potis dank der Hilfe 
von Götz-Müller-Dürolt. Trotzdem ist mein Wissen gefühlt noch recht 
begrenzt trotz einer echt langen Google und Co. Recherche.

Vielen Dank schon im Vorraus!

von Toxic (Gast)


Lesenswert?

Richard V. schrieb:
> Kennt ihr ein Tutorial oder habt ihr einen guten Link, welcher zeigt
> wie man Daten über das WLAN an eine Website überträgt, welche sie als
> Graph darstellt?

Konkrete Tips kann ich dir nicht geben und mit "Processing" habe ich 
auch noch nicht gearbeitet (kommt noch) dennoch 3 Links die eventuell 
fuer dich von Interesse sind.

https://processing.org/
http://processingjs.org/
https://learn.sparkfun.com/tutorials/connecting-arduino-to-processing

von STMler (Gast)


Lesenswert?

Richard V. schrieb:
> 1. Das ESP 8266 läuft ja auf 3,3V, der Sensor aber auf 5V. Ich wollte
> gerne über den Digital Out des Sensors in den GPIO Pin 2 des ESP 8266
> reingehen. Wie kann ich die Spannung einer Datenleitung von 5V auf 3,3V
> bekommen?

Es gibt etliche Möglichkeiten, z.B. simpel und stromfressend per 
Widerstand oder stromsparend per Transistor oder IC.
Z.B. 74LVC245 fürs Steckbrett. Gibt aber auch bei ebay jede Menge 
Angebote mit kleinen Platinchen, z.B.
http://www.ebay.de/itm/4-hannel-3-3V-5V-Logic-Level-Converter-Bidirektional-Shifter-Modul-/272346453292?hash=item3f691d152c:g:6EwAAOSwIgNXtuJS


> 2.Immer wenn ich den seriellen Monitor starte kommen nur kryptische
> Zeichen und ich kann keine AT Befehle eingeben. Ich wollte das machen um
> zu checken ob alles funktioniert und, welche Firmwareversion installiert
> ist

Hängt von der Start-Bitrate ab, die mit dem verbauten Quarz 
zusammenhängt. Daher ist das bei den meisten Boards 76800bps zum Start 
und die Firmware im externen Flash ändert das erst nach dem Booten zu 
einer "üblicheren" Baudrate wie z.B. 115200.
Am einfachsten ist es, wenn Du selber eine Firmware Deiner Wahl 
draufflashst, dann weisst Du, wie Du das Board ansprechen musst.


> 3. Kennt ihr ein Tutorial oder habt ihr einen guten Link, welcher zeigt
> wie man Daten über das WLAN an eine Website überträgt, welche sie als
> Graph darstellt?

Übertragung einfach per TCP oder UDP. Oder wie meintest Du das?
Es hängt davon ab, was Du auf dem Server programmiert hast. Und das kann 
vielfältig sein. Simpel per http get oder post, per Json, oder aber 
andere Protokolle wie COAP oder MQTT. Oder ganz trivial per Socket. Hat 
dann wenig Overhead, aber ist nicht konform zu irgendeinem Standard.
Darüber solltest Du Dir zuerst Gedanken machen.

von ESP=EinSchweineProcessor (Gast)


Lesenswert?

Richard V. schrieb:

> 1. Das ESP 8266 läuft ja auf 3,3V, der Sensor aber auf 5V. Ich wollte
> gerne über den Digital Out des Sensors in den GPIO Pin 2 des ESP 8266
> reingehen. Wie kann ich die Spannung einer Datenleitung von 5V auf 3,3V
> bekommen?
Such dir ein Verfahren aus:
http://jamesreubenknowles.com/level-shifting-stragety-experments-1741

Mit Widerständen ist wohl am einfachsten, ist eh nur ein Pin:
http://randomnerdtutorials.com/how-to-level-shift-5v-to-3-3v/
https://learn.sparkfun.com/tutorials/voltage-dividers/all?print=1

Und noch zig andere Seiten wenn du nach
Level shifter 5V to 3,3V resistor
suchst.

> 2.Immer wenn ich den seriellen Monitor starte kommen nur kryptische
> Zeichen und ich kann keine AT Befehle eingeben. Ich wollte das machen um
> zu checken ob alles funktioniert und, welche Firmwareversion installiert
> ist
Ist keine mehr drauf wenn du schon der Arduino-IDE rumgespielt hast, das 
Blinkprogramm ist da jetzt drauf.

> 3. ich kann bei Werkzeugen-Programmer nicht esptools auswählen. Ich habe
> gelesen, dass das nicht mehr nötig sei. Welchen Programmer sollte man da
> nun am besten auswählen?
Gar keinen. Du wählst den entpsr. ESP-Typ aus fertig.

> 3. Kennt ihr ein Tutorial oder habt ihr einen guten Link, welcher zeigt
> wie man Daten über das WLAN an eine Website überträgt, welche sie als
> Graph darstellt?
Ich würde es so machen:
Sensoren senden von sich aus alle x Minuten an einen zentralen server
der bereitet die Daten auf und die kannst du dann per Browser abholen.

Vorteil: Code für die Sensoren und Testaufwand minimal.
Der Server kann auf einem PC laufen, dort entwickelt es sich einfacher.
"Clientcode" beschränt sich auf aufruf einer Webaddresse.

> 4. Ich habe schon viel schlechtes über den MQ135 Sensor gehört, weil er
> halt soweit ich es verstanden hab nur relative CO2 Werte übermittelt.
> Meine Idee war nun über einen professionellen CO2 Sensor den MQ135 zu
> "eichen". Denkt ihr das klappt?
Nein. Die Dinger sind viel zu ungenau. Kommt auch drauf an wie genau es 
sein soll.

> Habt ihr Erfahrungen mit anderen
> besseren CO2 Sensoren für wenig Geld (da Studienprojekt und selbst
> finanziert). Habt ihr ein Tutorial/ Link/ Tipp wie man den MQ135
> kalibrieren kann?
Für dein Projekt wird das auch nicht so wichtig sein, Hauptsache es 
zeigt lustig Werte in einer bunten Grafik an, du bist doch Designer kein 
Umwelttechniker. Wer es später genau haben will soll andere Sensoren 
verwenden.

von Richard V. (richard_nachname)


Lesenswert?

Cool danke erstmal für die Antwort. Ich denk dann werd ich erstmal daran 
weiterarbeiten mit den neuen Informationen. Morgen geht es erstmal nach 
Island. Ich melde mich in einer Woche wieder

von Mischa N. (mischaka)


Angehängte Dateien:

Lesenswert?

Hi,
ich habe ähnliches Projekt gemacht
http://esp8266-server.de/MQTT/GasSensor.html

von Johannes W. (ulofemi)


Lesenswert?

Hallo,

ich habe im Rahmen meines Studiums ein sehr ähnliches Projekt vor.


Ein paar Worte zu dem Projekt. Ich möchte die Luftqualität in 
Vorlesungsräumen analysieren und vor allem überprüfen, ob die 
Belüftungsanlage im richtigen Zeitpunkt eingeschaltet wird. Hierfür 
möchte ich mehrere ESP8266 mit jeweils einem MQ135 und einem DHT22 in 
einem Raum verteilen (Also CO2, Luftfeuchte, Temperatur messen). Einer 
dieser ESP8266 wird zusätzlich einen hochwertigen CO2 Sensor enthalten 
um die Werte des MQ135 zu eichen.

Mich interessiert vor allem, ob das mit dem eichen/Kalibrieren 
funktioniert hat?
Wenn jemand noch Tipps und Tricks für mich hat bin ich dafür dankbar. 
Befinde mich noch in der Planungsphase und habe noch nichts gekauft.

von honk (Gast)


Lesenswert?

Hey cool dann kopier doch einfach das "Projekt" vom Designer. DHT22 sind 
dann nur noch zwei zusätzliche Zeilen:)

von Kolja L. (kolja82)


Lesenswert?

Johannes W. schrieb:
> eichen/Kalibrieren

Eichen kann nur das Eichamt.

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.