Workshop Luftdaten: Unterschied zwischen den Versionen
Aus exmediawiki
Verena (Diskussion | Beiträge) |
Verena (Diskussion | Beiträge) K |
||
(27 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 24: | Zeile 24: | ||
https://luftdaten.info/faq/ | https://luftdaten.info/faq/ | ||
<br> | <br> | ||
+ | |||
Zeile 112: | Zeile 113: | ||
Antwort: /dev/tty.SLAB_USBtoUART<br> | Antwort: /dev/tty.SLAB_USBtoUART<br> | ||
− | sudo python esptool.py --baud 921600 --port /dev/tty.SLAB_USBtoUART write_flash -fm dio 0x00000 ~/Downloads/latest_de-1.bin | + | sudo python esptool.py --baud 921600 --port /dev/tty.SLAB_USBtoUART write_flash -fm dio 0x00000 ~/Downloads/latest_de-1.bin<br> |
+ | bzw. /Downloads/ppd42ns-wificonfig-ppd-sds-dht.spiffs.bin | ||
<br> | <br> | ||
hat irgendwas gemacht, scheint funktioniert zu haben !?<br> | hat irgendwas gemacht, scheint funktioniert zu haben !?<br> | ||
Zeile 163: | Zeile 165: | ||
* 1 x Sensor Temperatur & Luftfeuchtigkeit DHT22 | * 1 x Sensor Temperatur & Luftfeuchtigkeit DHT22 | ||
* Verbindungskabel, Länge 20cm (sog. Dupont-Kabel, Buchse auf Buchse) | * Verbindungskabel, Länge 20cm (sog. Dupont-Kabel, Buchse auf Buchse) | ||
− | |||
* Steckernetzteil USB, USB-Verlängerungskabek | * Steckernetzteil USB, USB-Verlängerungskabek | ||
* Schlauch... | * Schlauch... | ||
* 2 X Marley-Bogen | * 2 X Marley-Bogen | ||
+ | * Kabelbinder klein | ||
+ | * Heißklebepistole | ||
<br> | <br> | ||
− | |||
Siehe zum Einstieg https://luftdaten.info/feinstaubsensor-bauen/#komponenten-schaltung<br> | Siehe zum Einstieg https://luftdaten.info/feinstaubsensor-bauen/#komponenten-schaltung<br> | ||
Diese Anleitung bezieht sich jedoch auf Version 3 der NodeMCU (V3), wir haben jedoch V2 – daher ist die Pinbelegung geringfügig anders als hier abgebildet... | Diese Anleitung bezieht sich jedoch auf Version 3 der NodeMCU (V3), wir haben jedoch V2 – daher ist die Pinbelegung geringfügig anders als hier abgebildet... | ||
Zeile 176: | Zeile 178: | ||
https://github.com/opendata-stuttgart/meta/wiki/Pinouts-NodeMCU-v2,-v3<br> | https://github.com/opendata-stuttgart/meta/wiki/Pinouts-NodeMCU-v2,-v3<br> | ||
oder besser gleich hier: <br> | oder besser gleich hier: <br> | ||
− | https://github.com/opendata-stuttgart/meta/wiki/Zusammenbau-der-Komponenten-(Schaltung) | + | https://github.com/opendata-stuttgart/meta/wiki/Zusammenbau-der-Komponenten-(Schaltung) |
== Anleitung Elektronische Schaltung == | == Anleitung Elektronische Schaltung == | ||
− | Der | + | <br> |
+ | Der Temperatur- und Luftfeuchtigkeitssensor DHT22 sowie der Feinstaubsensor SDS011 werden mit Dupont-Kabeln an den Chip (NodeMCU) angeschlossen. | ||
− | === Anschluss des DHT22 Sensors an den NodeMCU | + | === Anschluss des DHT22 Sensors an den NodeMCU === |
<br> | <br> | ||
Zeile 198: | Zeile 201: | ||
* DHT22 Pin 4 -> Pin GND | * DHT22 Pin 4 -> Pin GND | ||
− | == Anschluss des SDS011 | + | <br> |
+ | '''Alternative:''' <br> | ||
+ | Hier gibt es noch eine Alternative bzw. bessere Variante. <br> | ||
+ | Und zwar dass man Pin 1 des DHT22 (der normalerweise nur an 3V3 geht), auch an 5V(VU an ESP), z.B. mit doppelt männlichem Dupont-Kabel auf VU Dupontbuchse hinten aufstecken (neben das Kabel, es ist eng und kann schwierig sein). | ||
+ | |||
+ | === Anschluss des SDS011 an den NodeMCU (V2)=== | ||
+ | |||
+ | |||
+ | |||
+ | [[Datei:Esp8266-nodemcu-pins-sds011.jpg]] | ||
+ | |||
+ | |||
+ | * SDS011 Pin TXD -> Pin D1 / GPIO5 | ||
+ | * SDS011 Pin RXD -> Pin D2 / GPIO4 | ||
+ | * SDS011 Pin GND -> GND | ||
+ | * SDS011 Pin 4 -> unused | ||
+ | * SDS011 Pin 5V -> VIN (VU für NodeMCU V3) | ||
+ | * SDS011 Pin 6 -> unused | ||
+ | * SDS011 Pin 7 -> unused | ||
+ | |||
+ | <br> | ||
+ | Anders als bei Version 3 sind für die Version 2 des NodeMCU die Anschlüsse VIN und GND neben dem MicroUSB-Anschluß zu nutzen (anstelle oben links). | ||
+ | <br> | ||
+ | Beim Verbinden darauf achten, dass die Kabel wirklich auf den Pins stecken, da die meisten Dupont-Kabel auch "neben" die Pins passen | ||
+ | <br> | ||
+ | |||
+ | == Mechanischer Aufbau == | ||
+ | |||
+ | <br> | ||
+ | Hier kann mal wieder vorab mal hier auf die Bilder schauen: <br> | ||
+ | https://luftdaten.info/feinstaubsensor-bauen/#komponenten-zusammenbau<br> | ||
+ | oder hier zur genaueren Anleitung auf Github: <br> | ||
+ | <br> | ||
+ | |||
+ | * NodeMCU und Feinstaubsensor mit Kabelbinder verbinden (an den Ösen so zusammenbinden, dass die WLAN Antenne vom Sensor weg zeigt) | ||
+ | * Den Plastikschlauch auf ca. 20cm kürzen und auf den SDS011 aufstecken | ||
+ | * Mit dem zweiten Kabelbinder den Temperatursensor DHT22 am Schlauch befestigen. | ||
+ | * | ||
+ | |||
+ | = Inbetriebnahme der Messstation = | ||
+ | |||
+ | == Internetverbindung == | ||
+ | |||
+ | |||
+ | ... | ||
+ | |||
+ | <br> | ||
+ | Wenn keine weiteren Änderungen vorgenommen worden als das Eintragen der WLAN-Daten, kann der Sensor nach ca. 10 Minuten auf den folgenden Seiten ‚getestet werden. Gesucht werden muss auf diesen Seiten nach der ChipID (z.B. die 13597771).<br> | ||
+ | [http://www.madavi.de/sensor/graph.php Sensordaten]<br> | ||
+ | [http://www.madavi.de/sensor/signal.php WLAN-Signal] | ||
+ | |||
+ | |||
+ | == Sensor registrieren == | ||
− | + | hier müsste man sich eigentlich registrieren können, es kommt aber keine Mail.... | |
+ | https://meine.luftdaten.info/ |
Aktuelle Version vom 13. November 2020, 13:12 Uhr
- Feinstaub-Messtation selber bauen
- Luftqualität messen und visualisieren
- Aus den übermittelten Daten generiert luftdaten.info eine sich ständig aktualisierende Feinstaub-Karte.
https://luftdaten.info/feinstaubsensor-bauen/
https://www.hackair.eu/
Inhaltsverzeichnis
Einkaufsliste
https://luftdaten.info/feinstaubsensor-bauen/
- NodeMCU ESP8266, CPU/WLAN, Reichelt, 8,50€
- SDS011 Feinstaubsensor (früher PPD42NS), Reichelt, ca. 30€
- DHT22, Temperatur & Luftfeuchtigkeit (optional), Reichelt, ca. 5€
- (kurzes) Micro-USB-Kabel Reichelt
- Wetterschutz, z.B. Bauhaus
- Steckbrückenkabel f/f
- Plastikschlauch für Anschluss an Sensor (Durchmesser?)
- USB-Ladegerät 5V, Reichelt
Vorab kann man sich hier die Videoanleitungen für einen groben Überblick anschauen
https://luftdaten.info/faq/
Vorgehensweise
https://github.com/opendata-stuttgart/meta/wiki/Firmware-einspielen
USB2serial Treiber installieren
Identifizieren der Version des NodeMCU - wir haben den älteren CP2102 (V2)
Achtung, der Link zum Treiber von Lilicon Labs ist veraltet, hier ein aktueller:
https://www.silabs.com/products/development-tools/software/usb-to-uart-bridge-vcp-drivers
Wenn man das runtergeladete .dmg file entpackt, findet man darin einen Folder "Legacy MacVCP Driver"
About the Legacy Driver
This is the 4.x Mac VCP Driver for CP210x parts. This supports MacOS X version 10.9 and up. This is provided
in case you need support for the older versions of MacOS X because version 5.0 supports 10.11 and up.
The legacy driver does not have GPIO support.
hilfreicher Blogpost_:
https://www.silabs.com/community/interface/forum.topic.html/cp210x_usb_to_uartb-LJMf
If it's installed, there should be a "SiLabsUSBDriver.kext" file in /Library/Extensions with a date created of June 16, 2017.
Irgendwo stand man muss es zwei mal installieren...
Jetzt müsste der Treiber mal instlliert sein. Und jetzt?
Firmware einspielen mit der Arduini IDE
Arduino öffnen (ich benutze mal Arduino 1.8.5)
siehe https://github.com/opendata-stuttgart/meta/wiki/Firmware-einspielen#firmware-einspielen
Erweiterung für ESP8266 gemäß Anleitung zur Installation mit Boards Manager installieren.
Unter Werkzeuge > Port erscheint jetzt /dev/cu.SLAB_USBtoUART
Das heißt der Treiber für das Board wurde wohl erkannt bzw. funktioniert
Bei Werkzeuge > Board das entsprechende Board auswählen (bei mir: generic ESp8266 modue)
Arduino IDE beenden
Port identifizieren
Unter Werkzeuge > Port den richtigen Port auswählen
MAC: Beim CP2102 wäre das auf der /dev/cu.SLAB_USBtoUART, für den CH340G ist es der Port /dev/cu.wchusbserialXXXXXXXX. Windows: Windows COM3. Wenn dies nicht der richtige ist, dann einfach den nächsten in der Liste auswählen. Linux: /dev/ttyUSB0
Dann Werkzeuge > Boardinformation
Bei mir erscheint:
BN: Unbekanntes Board
VID: 10C4
PID: EA60
SN: Laden Sie irgendeinen Sketch hoch, um sie abzurufen
Arduino IDE wieder schließen.
Firmware kompilieren und übertragen
- Variante 1 mit der Arduino IDE: https://github.com/opendata-stuttgart/meta/wiki/Firmware-einspielen#variante-1-arduino-ide
- Variante 2 mit Kommandozeile: https://github.com/opendata-stuttgart/meta/wiki/Firmware-einspielen#variante-2-kommandozeile
Ging irgendwie alles nicht, letztendlich habe ich esptool mit pip installiert wie hier beschrieben:
https://alexbloggt.com/nodemcu-einfuehrung/
Successfully built esptool pyaes Installing collected packages: pyserial, pyaes, ecdsa, esptool Successfully installed ecdsa-0.15 esptool-2.8 pyaes-1.6.1 pyserial-3.4
pffffffff ahhhhh
letztendlich hab ich jetzt dies hier befolgt und über Kommandozeile esptool installiert, das jetzt in Dokumente liegt
https://diyprojects.io/esptool-update-of-firmware-nodemcu-esp8266-on-macos/#.Xo3pXm7grMU
per kommandozwile nochmal gucken wo es drainhängt
ls /dev/tty.*
Antwort: /dev/tty.SLAB_USBtoUART
sudo python esptool.py --baud 921600 --port /dev/tty.SLAB_USBtoUART write_flash -fm dio 0x00000 ~/Downloads/latest_de-1.bin
bzw. /Downloads/ppd42ns-wificonfig-ppd-sds-dht.spiffs.bin
hat irgendwas gemacht, scheint funktioniert zu haben !?
- esptool.py v3.0-dev
- Serial port /dev/tty.SLAB_USBtoUART
- Connecting........_
- Detecting chip type... ESP8266
- Chip is ESP8266EX
- Features: WiFi
- Crystal is 26MHz
- MAC: 84:0d:8e:92:ed:29
- Uploading stub...
- Running stub...
- Stub running...
- Changing baud rate to 921600
- Changed.
- Configuring flash size...
- Auto-detected Flash size: 4MB
- Compressed 522736 bytes to 365461...
- Wrote 522736 bytes (365461 compressed) at 0x00000000 in 5.5 seconds (effective 755.7 kbit/s)...
- Hash of data verified.
- Leaving...
- Hard resetting via RTS pin...
- (base) VerenaFichsMBP2:esptool heavythinking$
Wie hier beschrieben https://github.com/opendata-stuttgart/sensors-software/tree/master/airrohr-firmware hat das teil jetzt ein eigenes WiFi network erzeugt und ich kann es in der Liste sehen....
im Arduino Serial Monitor erscheint:
- 0⸮~?⸮4⸮Ҷ�⸮⸮�OCA⸮⸮⸮airRohr: NRZ-2020-129/DE
- mounting FS...
- failed to open config file.
- output debug text to displays...
- Connecting to Freifunk-disabled
- ........................................
- output debug text to displays...
- Starting WiFiManager
- AP ID: airRohr-9628969
- Password:
- scan for wifi networks...
- AP Password is:
- Starting Webserver... (IP unset)
Hardware zusammenbauen
Liste Bauteile
- 1 x NodeMCU (V2) mit fertig aufgespielter Firware
- 1 x Feinstaubsensor SDS011
- 1 x Sensor Temperatur & Luftfeuchtigkeit DHT22
- Verbindungskabel, Länge 20cm (sog. Dupont-Kabel, Buchse auf Buchse)
- Steckernetzteil USB, USB-Verlängerungskabek
- Schlauch...
- 2 X Marley-Bogen
- Kabelbinder klein
- Heißklebepistole
Siehe zum Einstieg https://luftdaten.info/feinstaubsensor-bauen/#komponenten-schaltung
Diese Anleitung bezieht sich jedoch auf Version 3 der NodeMCU (V3), wir haben jedoch V2 – daher ist die Pinbelegung geringfügig anders als hier abgebildet...
Zu den unterschiedlichen Pin-Layouts siehe auch:
https://github.com/opendata-stuttgart/meta/wiki/Pinouts-NodeMCU-v2,-v3
oder besser gleich hier:
https://github.com/opendata-stuttgart/meta/wiki/Zusammenbau-der-Komponenten-(Schaltung)
Anleitung Elektronische Schaltung
Der Temperatur- und Luftfeuchtigkeitssensor DHT22 sowie der Feinstaubsensor SDS011 werden mit Dupont-Kabeln an den Chip (NodeMCU) angeschlossen.
Anschluss des DHT22 Sensors an den NodeMCU
Der DHT22 hat 4 Pins, davon werden jedoch nur 3 genutzt und mit dem NodeMCU verbunden.
Pins sind von LINKS nach RECHTS nummeriert, Vorderseite ist das "Gitter".
In diesem Fall ist die Pinbelegung für V2 und V3 gleich.
- DHT22 Pin 1 -> Pin 3V3 (3.3V)
- DHT22 Pin 2 -> Pin D7 (GPIO13)
- DHT22 Pin 3 -> unused
- DHT22 Pin 4 -> Pin GND
Alternative:
Hier gibt es noch eine Alternative bzw. bessere Variante.
Und zwar dass man Pin 1 des DHT22 (der normalerweise nur an 3V3 geht), auch an 5V(VU an ESP), z.B. mit doppelt männlichem Dupont-Kabel auf VU Dupontbuchse hinten aufstecken (neben das Kabel, es ist eng und kann schwierig sein).
Anschluss des SDS011 an den NodeMCU (V2)
- SDS011 Pin TXD -> Pin D1 / GPIO5
- SDS011 Pin RXD -> Pin D2 / GPIO4
- SDS011 Pin GND -> GND
- SDS011 Pin 4 -> unused
- SDS011 Pin 5V -> VIN (VU für NodeMCU V3)
- SDS011 Pin 6 -> unused
- SDS011 Pin 7 -> unused
Anders als bei Version 3 sind für die Version 2 des NodeMCU die Anschlüsse VIN und GND neben dem MicroUSB-Anschluß zu nutzen (anstelle oben links).
Beim Verbinden darauf achten, dass die Kabel wirklich auf den Pins stecken, da die meisten Dupont-Kabel auch "neben" die Pins passen
Mechanischer Aufbau
Hier kann mal wieder vorab mal hier auf die Bilder schauen:
https://luftdaten.info/feinstaubsensor-bauen/#komponenten-zusammenbau
oder hier zur genaueren Anleitung auf Github:
- NodeMCU und Feinstaubsensor mit Kabelbinder verbinden (an den Ösen so zusammenbinden, dass die WLAN Antenne vom Sensor weg zeigt)
- Den Plastikschlauch auf ca. 20cm kürzen und auf den SDS011 aufstecken
- Mit dem zweiten Kabelbinder den Temperatursensor DHT22 am Schlauch befestigen.
Inbetriebnahme der Messstation
Internetverbindung
...
Wenn keine weiteren Änderungen vorgenommen worden als das Eintragen der WLAN-Daten, kann der Sensor nach ca. 10 Minuten auf den folgenden Seiten ‚getestet werden. Gesucht werden muss auf diesen Seiten nach der ChipID (z.B. die 13597771).
Sensordaten
WLAN-Signal
Sensor registrieren
hier müsste man sich eigentlich registrieren können, es kommt aber keine Mail.... https://meine.luftdaten.info/