Feinstaubsensor bauen - Teil 1 NodeMCU
-
Vor einiger Zeit bin ich mal über irgendeine Seite gestolpert, wo man sich einen Feinstaubsensor gebaut hat. Als altes Spielkind fand ich das irgendwie interessant und habe mir die Bauteile bestellt gehabt. Die liegen jetzt seit Monaten hier rum, wird mal Zeit zu schauen ob das funktioniert. Die Seite finde ich nicht mehr, aber hier ist auch eine. Dann versuchen wir es mal damit.
https://luftdaten.info/feinstaubsensor-bauen/
Material
- NodeMCU ESP8266: CPU/WLAN
- DHT22 Temperaturfühler
- SDSo11 Feinstaubsensor
- HT-Rohr, Schlauch, Kabelbinder usw.
Software
Die ArduinoIDE installieren war kein Problem. Danach muss dann die NodeMCU programmiert werden, dabei wurde es dann holprig.
Die Firmware runterladen - kein Problem.
NodeMCU ESP8266: CPU/WLAN programmieren
Laut Anleitung soll man folgenden Befehl eingeben
Linux: ~/.arduino15/packages/esp8266/tools/esptool/0.4.13/esptool -vv -cd nodemcu -cb 57600 -ca 0x00000 -cp /dev/cu.wchusbserial1410 -cf Pfad_zur_heruntergeladenen_Firmwaredatei (der Port hinter ‚-cp‘ muss gegebenenfalls angepasst werden)
Habe das dann als Root versucht
sudo /home/frank/.arduino15/packages/esp8266/tools/esptool/2.5.0-3-20ed2b9/esptool -vv -cd nodemcu -cb 57600 -ca 0x00000 -cp /dev/ttyUSB0 -cf /home/frank/Downloads/Arduino/latest_de.bin esptool v0.4.13-1-gf80ae31 - (c) 2014 Ch. Klippel <ck@atelier-klippel.de> setting board to nodemcu setting baudrate from 115200 to 57600 setting address from 0x00000000 to 0x00000000 setting port from /dev/ttyUSB0 to /dev/ttyUSB0 espcomm_upload_file espcomm_upload_mem opening port /dev/ttyUSB0 at 57600
Hier sieht man ein paar Anpassungen. Laut Anleitung soll es
packages/esp8266/tools/esptool/0.4.13/esptool
lauten. Das stimmt aber nicht, das Tool liegt in
packages/esp8266/tools/esptool/2.5.0-3-20ed2b9/esptool
Ok, kein Problem. Der Port ist mit der ArduinoIDE schnell herauszufinden. Bei mir war es
/dev/ttyUSB0
Übrigens ist hier bei mir, LinuxMint Cinnamon, kein Treiber nötig. Wird einfach so erkannt. Das kann man mit dmesg überprüfen, wenn nötig! Problem ist aber, das ich keine Verbindung zum Board bekomme. Nach
opening port /dev/ttyUSB0 at 57600
passiert einfach nichts mehr. Ok, als langjähriger Betatester für so komische Boards , fällt mein erster Gedanke auf die Baudrate. Hmm ?? Mal mein Board untersuchen. Ich habe folgendes Board.
NodeMCU Lua Lolin V3
Gut, das Board kann nur 9600 Baud. Also Befehl anpassen.
sudo /home/frank/.arduino15/packages/esp8266/tools/esptool/2.5.0-3-20ed2b9/esptool -vv -cd nodemcu -cb 9600 -ca 0x00000 -cp /dev/ttyUSB0 -cf /home/frank/Downloads/Arduino/latest_de.bin
Ausgabe
esptool v0.4.13-1-gf80ae31 - (c) 2014 Ch. Klippel <ck@atelier-klippel.de> setting board to nodemcu setting baudrate from 115200 to 9600 setting address from 0x00000000 to 0x00000000 setting port from /dev/ttyUSB0 to /dev/ttyUSB0 espcomm_upload_file espcomm_upload_mem opening port /dev/ttyUSB0 at 9600 tcgetattr tcsetattr serial open opening bootloader resetting board trying to connect espcomm_send_command: sending command header espcomm_send_command: sending command payload trying to connect espcomm_send_command: sending command header espcomm_send_command: sending command payload espcomm_send_command: receiving 2 bytes of data espcomm_send_command: receiving 2 bytes of data espcomm_send_command: receiving 2 bytes of data espcomm_send_command: receiving 2 bytes of data espcomm_send_command: receiving 2 bytes of data espcomm_send_command: receiving 2 bytes of data espcomm_send_command: receiving 2 bytes of data espcomm_send_command: receiving 2 bytes of data Uploading 490128 bytes from /home/frank/Downloads/Arduino/latest_de.bin to flash at 0x00000000 erasing flash size: 077a90 address: 000000 first_sector_index: 0 total_sector_count: 120 head_sector_count: 16 adjusted_sector_count: 104 erase_size: 068000 espcomm_send_command: sending command header espcomm_send_command: sending command payload setting timeout 15000 setting timeout 1000 espcomm_send_command: receiving 2 bytes of data writing flash ................................................................................ [ 16% ] ................................................................................ [ 33% ] ................................................................................ [ 50% ] ................................................................................ [ 66% ] ................................................................................ [ 83% ] ............................................................................... [ 100% ] starting app without reboot espcomm_send_command: sending command header espcomm_send_command: sending command payload espcomm_send_command: receiving 2 bytes of data closing bootloader
Sieht nach Erfolg aus. Damit sollte das erledigt sein. Das Modul versucht sich jetzt mit einem WLan-Accespoint zu verbinden, scheitert das macht es einen eigenen Accesspoint auf, damit man es konfigurieren kann. Clever
Das Board öffnet einen Accesspoint mit Namen "Feinstaubsenso-xxxxxxxxx". Den habe ich dann an meinem Haupt-PC ausgewählt, danach kann man sich mit folgender Seite verbinden.
http://192.168.4.1/
Ergebnis
Links
https://luftdaten.info/feinstaubsensor-bauen/
Ecxellente Anleitung!! Danke dafür!!
https://blog.helmutkarger.de/feinstaubsensor-teil-1-jetzt-messen-wir-selber/APIs
Opendata Stuttgart organisiert und reguliert. Contribute to opendata-stuttgart/meta development by creating an account on GitHub.
GitHub (github.com)