PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Partikelsensor wird nicht korrekt erkannt



michel_vaclav
25.06.18, 17:43
Hallo zusammen,

ich habe mir einen Partikelsensor gekauft, den ich an meinem Raspberry betreibe. Prinzipiell funktioniert dieses Gerät auch am Raspi, allerdings noch nicht zu meiner Zufriedenheit.
Es handelt sich um einen Nova PM sensor SDS011. Dabei handelt es sich um einen, ich nenne es mal USB-Stick, an dem der eigentliche Sensor per vieradrigem Kabel angeschlossen ist.
Laut dieser Anleitung (http://www.pluess.li/blog/feinstaubmessung-mit-raspberry-pi) sollte sich das Gerät nach Anstecken wie folgt in dmesg melden:
usb 1-1.5: ch341-uart converter now attached to ttyUSB0
Tut es aber nicht.
Zunächst hatte ich befürchtet, dass es mit der begrenzten Stromversorgung am USB-Port des raspi zu tun haben könnte, daher habe ich nun einen aktiven USB-Hub dazwischen, das Problem bleibt bestehen.
Das Gerät meldet sich beim Anstecken mit (dmesg):
Jun 23 12:36:32 raspi-wetter kernel: [ 202.648833] usb 1-1.2.4: new full-speed USB device number 8 using dwc_otg
Jun 23 12:36:33 raspi-wetter kernel: [ 202.781844] usb 1-1.2.4: New USB device found, idVendor=1a86, idProduct=7584
Jun 23 12:36:33 raspi-wetter kernel: [ 202.781856] usb 1-1.2.4: New USB device strings: Mfr=0, Product=2, SerialNumber=0
Jun 23 12:36:33 raspi-wetter kernel: [ 202.781864] usb 1-1.2.4: Product: USB2.0-Print
Jun 23 12:36:33 raspi-wetter systemd-udevd[760]: failed to execute '/lib/udev/mtp-probe' 'mtp-probe /sys/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.2/1-1.2.4 1 8':
No such file or directory
Jun 23 12:36:33 raspi-wetter kernel: [ 202.850083] usblp 1-1.2.4:1.0: usblp0: USB Bidirectional printer dev 8 if 0 alt 0 proto 2 vid 0x1A86 pid 0x7584
Jun 23 12:36:33 raspi-wetter kernel: [ 202.850227] usbcore: registered new interface driver usblp Irgendwie ist der Raspi der Meinung, es handele sich um einen Drucker. Somit erhalte ich auch keine Schnittstelle /dev/ttyUSB0 angelegt, die ich zum Auslesen brauche. Ich bin mir nicht mal sicher, ob der Raspi da nicht jedes Mal was anderes erkennt, denn nach Anstecken kommt manchmal auch:
Jun 23 12:15:18 raspi-wetter kernel: [ 609.993066] usb 1-1.4: new high-speed USB device number 35 using dwc_otg
Jun 23 12:15:18 raspi-wetter kernel: [ 610.123434] usb 1-1.4: New USB device found, idVendor=0424, idProduct=a700
Jun 23 12:15:18 raspi-wetter kernel: [ 610.123446] usb 1-1.4: New USB device strings: Mfr=0, Product=0, SerialNumber=0
Jun 23 12:15:19 raspi-wetter kernel: [ 610.603075] usb 1-1.4.2: new full-speed USB device number 36 using dwc_otg
Jun 23 12:18:40 raspi-wetter systemd-udevd[223]: failed to execute '/lib/udev/mtp-probe' 'mtp-probe /sys/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.1 1 3': No such
file or directory


Egal wie, denn zum Laufen habe ich ihn dann doch bekommen.
Beim Rumspielen an einem anderen Raspi habe ich festgestellt, dass, wenn ich diesen Stick ohne den eigentlichen Sensor verbunden, anstecke, dann der Stick richtig erkannt wird. Das funktioniert auch an meinem Wetter-Raspi (dmesg):
Jun 23 12:37:08 raspi-wetter kernel: [ 238.646043] usbcore: registered new interface driver usbserial
Jun 23 12:37:08 raspi-wetter kernel: [ 238.646126] usbcore: registered new interface driver usbserial_generic
Jun 23 12:37:08 raspi-wetter kernel: [ 238.646206] usbserial: USB Serial support registered for generic
Jun 23 12:37:08 raspi-wetter kernel: [ 238.649676] usbcore: registered new interface driver ch341
Jun 23 12:37:08 raspi-wetter kernel: [ 238.649827] usbserial: USB Serial support registered for ch341-uart
Jun 23 12:37:08 raspi-wetter kernel: [ 238.652140] usb 1-1.2.4: ch341-uart converter now attached to ttyUSB0.
Verbinde ich dann den Stick mit dem Sensor ist alles gut und ich kann Daten auslesen, wie in der Anleitung oben beschrieben.

Nur: das Ganze ist natürlich beim nächsten Reboot wieder Geschichte. Der Raspi ist leider nicht einfach zugänglich, sodass ich nicht so ohne Weiteres jedes Mal den Sensor ab- und anstecken kann.

Wie bekomme ich das nun dauerhaft gelöst? Irgendwelche Vorschläge?

Danke schon mal im Voraus.

marce
25.06.18, 17:53
vielleicht hilft ja https://www.heise.de/forum/Make/Themen-Hilfe/Internet-der-Dinge/SDS011-kommt-mit-RASPI-inkompatiblem-UART-Converter/posting-29795619/show/

... ich kann mir gut vorstellen, daß bei dem Ding "über die Jahre hinweg" sich an der Hardware / Firmware / ... im Hintergrund das eine oder andere geändert hat...

michel_vaclav
25.06.18, 19:03
Ohje, ich hab vor zwanzig Jahren das letzte Mal einen Kernel gebacken. Mal schaun, ob ich das auf dem Raspi hinbekomme...
Aber vielleicht gehts ja auch ohne.

Aber danke, ich werd es ausprobieren.

nopes
25.06.18, 19:10
Ich vermute mal, dass das Ziel eine Feinstaubmessung ist? Erinnerte mich halt einen 3xc3 (ich glaub 33c3 wars), jedenfalls lief da ein Beitrag zum Thema Feinstaub selber messen. Dein Beitrag finde ich nicht mehr, aber die Projektseite habe ich: https://luftdaten.info/feinstaubsensor-bauen/#top
Ich meine weiterhin:
es kostet weniger als 100 € - so als selber Bastelalternative
es war was mit als OpenData veröffentlichen - ich denke das ist optional
Ziel war (ist?) es bessere Messdaten zur Verfügung zustellen - aktuell gibt viel zu wenig Messstellen und die sind wohl auch "ziemlich langsam"; wenn ich das richtig abgespeichert habe, träumen die von "Echtzeitdaten"

Vielleicht, liege ich aber ganz daneben, dann einfach ignorieren. Falls nicht, kann man da ja ggf. auch mal fragen, vier Kabel und so sieht schon mal verdächtig ähnlich aus ;)

michel_vaclav
25.06.18, 19:20
Korrekt, es geht um Feinstaub.
Die von Dir verlinkte Seite kenne ich bereits. Und dort findet sich exakt der selbe Link auf die Treiber-Seite wie in marce's verlinktem Artikel.

nopes
25.06.18, 19:30
Sorry, den Link hatte ich übersehen.

fork
26.06.18, 10:33
Was mir spontan einfällt:

Stecke den Stick doch mal ab und wieder ein. Wenn er dann nicht funktioniert, dann lade die Module die da oben automatisch geladen werden. (usbserial, usbserial_generic, ch341, ...). Vielleicht ist der Stick dann funktionsfähig. Sollte das funktionieren, kannst Du Dir mit udev was basteln, dass die Aktionen bei anstöpseln dieses Gerätes per Script ausführt.

michel_vaclav
18.07.18, 20:57
Momentan nach einigen Versuchen sieht es so aus, dass ich den Stick an einem USB-Hub betreiben muss, weil der Raspi offensichtlich die benötigte Leistung nicht liefern kann. Wenn ich den Raspi neu boote, ohne ihn von der Stromversorgung zu trennen, dann klappt es auch mit dem Wiederfinden. Nur wenn ich die Stromversorgung kappe, dann muss ich nach dem Neubooten den Stick abstöpseln und neu anstecken, damit er korrekt erkannt wird.
Das ist aber soweit akzeptabel, da ich seltenst die Stromversorgung trenne. Nur wenn es mal Stromausfall geben sollte, muss ich dran denken.

Momentan läuft alles planmäßig und ich warte auf den Blitzsensor (dazu ja der andere Thread).

nopes
18.07.18, 21:25
Man kann für relativ wenig Geld ein Relais-Modul kaufen (< 3€), dieses Modul kann relativ einfach verwendet werden, um die Stromversorgung des USB-Hubs zu unterbrechen und dann wiederherzustellen. Das beim Starten und/oder bei Bedarf...