Feinstaub messen mit PM2.5 Sensor

    This site uses cookies. By continuing to browse this site, you are agreeing to our Cookie Policy.

    • djmsc wrote:

      das Array hat 11 Bytes und der String nur 10 Zeichen.
      In der Gesamtzahl der bytes passt das wieder, weil der string ja noch das 'string-ende' Zeichen hat. Man darf das array nur mit 10 Werten füllen und das 11.byte müsste dann den Wert 0 (?) haben.

      Oh mann, bin ich hinterher. Irgendwie hab' ich grad 2 Stunden verloren?
      Raum für Notizen

      -----------------------------------------------------------------------------------------------------

      -----------------------------------------------------------------------------------------------------
    • Hallo Hero,

      wie Du vermutet hast habe ich da meine Knackstellen.
      Mit Hexval ändert sich jetzt der Inhalt von 2Low "C5" nach 2L zwar falsch, aber er ändert sich.
      Wollte jetzt die Variablen mal ändern von Integer nach Byte, aber da hab ich mir beim Umstöpseln den Programiereingang gehimmelt.
      Bin also im Moment ausser Gefecht. Hatte mir schon Nachschub bestellt, auf den warte ich nun.
      Wenn ich wieder arbeiten kann melde ich mich.

      Hallo Michael,

      Zum Ser.-Eingang : Die Daten kommen ja wie geschnitten Brot, und werden ja auch in den Bytes 3,4,5,6 sauber ausgefiltert. Siehe Prints


      Vorerst mal herzlichen Dank
      Willi
    • WilliW wrote:

      Zum Ser.-Eingang : Die Daten kommen ja wie geschnitten Brot, und werden ja auch in den Bytes 3,4,5,6 sauber ausgefiltert. Siehe Prints
      du irrst.
      Dein Typecasting verwurstet dir die 10 Bytes, weil du den Bytewert nach Ascii transformierst.
      Deine Prints sehe ich nicht, ich habe keine entsprechende Hardware hier.

      Wie gesagt, sammel erstmal deine Bytes ordentlich ein und versuche nicht den Umweg über Strings.
    • Hallo Michael,

      die Inhalte habe im Listing

      print #1, Staub ' Staub-Werte
      ' Hex : AA C0 C5 03 3B 04 EB DB B7 AB

      ' Beispiel-Werte o.k Byte
      Print #1, "2L" ;2Low ' s.o. Hex C5 3
      Print #1, "2H" ;2High ' Hex 03 4
      Print #1, "10L" ;10Low ' Hex 3B 5
      Print #1, "10H" ;10High ' Hex 04 6

      aufgeführt.

      Gruss
      Willi
    • Michael wrote:

      du irrst.
      Dein Typecasting verwurstet dir die 10 Bytes, weil du den Bytewert nach Ascii transformierst.
      Deine Prints sehe ich nicht, ich habe keine entsprechende Hardware hier.

      Wie gesagt, sammel erstmal deine Bytes ordentlich ein und versuche nicht den Umweg über Strings.
      Na ja grob gebe ich dich schon Recht aber bin immer noch der Meinung, Sensor schickt ein Protokoll, und dieses müsste, nach meiner Meinung, als Packet (String) ausgewertet werden.
      Was ja die einfachste Variante ist. Hatte mich nur mal im Code das String “Staub“ angeschaut und angefragt ob bezüglich noch ein paar „Messungen“ bereitgestellt werden könnten.
      Sollte nicht sein. Habe Verständnis wenn er Versucht, ein Umweg zugehen auch wenn dieser noch so schwerfällig ist.
      In eins sind wir uns doch wohl einig. Wird im MSR- Bereich mehr als ein Byte „verarbeitet“ ist ein Protokollübertragung das A u. O.
      Format ist spezifisch aber immer synchronisierbar.
      Viel Erfolg Willi wirst es schon packen.