Workshop Luftdaten
Aus exmediawiki
Version vom 8. April 2020, 15:22 Uhr von Verena (Diskussion | Beiträge) (→Firmware kompilieren und übertragen)
- Feinstaubsensor 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/
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