Skip to content

Feinstaubsensor bauen - Teil 1 NodeMCU

Allgemeine Diskussionen
  • 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/

    IMG_20190424_100015_ergebnis.jpg

    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
    

    IMG_20190424_093734_ergebnis.jpg

    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

    Feinstaubsensor_Access.png

    Links

    https://luftdaten.info/feinstaubsensor-bauen/

    Ecxellente Anleitung!! Danke dafür!!
    https://blog.helmutkarger.de/feinstaubsensor-teil-1-jetzt-messen-wir-selber/