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/
Opendata Stuttgart organisiert und reguliert. Contribute to opendata-stuttgart/meta development by creating an account on GitHub.
GitHub (github.com)