Announcement

Collapse
No announcement yet.

String von Temperatursensor auswerten

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • String von Temperatursensor auswerten

    Hallo zusammen
    Ich bin mir nicht ganz sicher, ob ich im richtigen Forum bin mit meinem Problem, hoffe aber dass mir jemand helfen kann.
    Es geht um eine Programmierfrage mit dem ESP8266 und Arduino CC.
    Ich empfange Daten mittels RTL_433 und sende diese an einen MQTT broker.
    Mein Problem besteht darin den String auf dem ESP8266 auszuwerten und an ein Display zu senden.

    Hier ist ein Beispiel von einem String den ich verarbeiten möchte.

    "{"time":"2019-09-11 14:11:28","model":"inFactory sensor","id":80,""temperature_C":17.33333,"humidit y":66}"

    Die Werte weleche ich auslesen möchte sind Temperatur und Luftfeuchtigkeit.
    Ich kann den gesamten String auslesen, mit der "weiterverarbeitung" des Strings komme ich nicht weiter.
    Besten Dank für Eure Antworten.

  • #2
    Du könntest feststellen, ob es fixe Länge ist oder die : zählen oder oder. Das sind dann eine Reihe von String Operationen, die sicher machbar sind.

    Aber so wie es aussieht, ist der String im JSON Format. Mit der passenden Bibliothek kannst Du also einfach die Werte "temperature_C" und "humidity y" direkt verwenden, weiterverarbeiten, ...

    Erste Seite google bringt u.a. das hier:
    https://github.com/bblanchon/ArduinoJson
    Gruß, defo

    Comment


    • #3
      Hallo,

      der Weg über einen JSON-Parser ist robuster als eine "Zähllösung", die spätestens dann versagt wenn sich die Reihenfolge ändert. Es sei denn der Senson gibt via Dokumentation / Protokoll eine fixe Reihenfolge vor, so könnte auch das verwendet werden, da im Arduino nicht allzuviel RAM zur Verfügung steht.

      mfG Gü
      "Any fool can write code that a computer can understand. Good programmers write code that humans can understand". - Martin Fowler

      Comment


      • #4
        Ich sehe das auch so:
        es ist bei Arudino eine Ressourcenfrage, eine zusätzliche Lib zu laden
        und andererseits auch eine Frage, wie gut man sich auf die Stabilität der Quelldaten und damit auch auf einen fixen, einfachen, kleinen Algorithmus verlassen kann.
        Wenn möglich würde ich das bequeme und flexible JSON Format vorziehen und mit JSON Funktionen abarbeiten.
        Gruß, defo

        Comment


        • #5
          Hallo,

          eine weitere Alternative wäre den String "roh" vom Arduino zu einem Server zu schicken, welcher das Parsen, etc. übernimmt und dieser es dann zum MQTT Broker schickt.
          Dieser Server kann ein Raspberry Pi sein od. eine "Cloud Function" (serverless computing).

          Es kommt auf die gesamte Architektur an, ob so ein Zwischenserver sinnvoll ist od. nicht. Kann auch Overkill sein, wenns direkt per JSON geht. Sind aber andere Aufgaben für so einen Server vorgesehen, so kann das wiederum eine passende Lösung werden.

          mfG Gü
          "Any fool can write code that a computer can understand. Good programmers write code that humans can understand". - Martin Fowler

          Comment

          Working...
          X