Discussion in 'Allgemein' started by mammut2806, Oct 2, 2014.

  1. mammut2806

    mammut2806 New Member

    Hallo zusammen,
    ich habe mir mit einem Arduino und 3 Sensoren einen Datenlogger gebaut. Er liefert über die Serielle Schnittstelle die Tempertatur, Luftfeuchte und Luftdruck. Diese Daten möchte ich mit "Studio" als Liniendiagramm visualisieren. Wenn ich richtig verstanden habe, kann ich jetzt mit OpenFormat Zero ein Device erstellen und dann über "Studio" aufrufen. Es ergeben sich für mich zunächst zwei Fragen:
    a) wo kann ich OpenFormat Zero downloaden? (ich finde nichts)
    b) wo muß ich die Device-Datei abspeichern ? (Bei V2 habe ich den Ordner gefunden)

    -Mit V2 kriege ich keine Graphik hin. Es sind zwar Daten da, die scheinen mir aber nicht im richtigen Format zu sein - jedenfalls werden sie nicht verarbeitet. Nun wollte ich eben "Studio" ausprobieren.
  2. gunnark

    gunnark Member

    Hi,

    OpenFormatZero ist in der Dokumentation sehr gut beschrieben. Du mußt deine Daten entsprechend aufbereiten. Eine Steuerdatei wird nicht mehr benötigt da die entsprechenden Informationen in den Header des Logs geschrieben werden.

    Gruß

    Gunnar
  3. Brainstorm

    Brainstorm New Member

    Hi

    Das mit dem anzeigen der daten ist sogar noch einfacher in LVS. Du musst die Informationen die LVS brauch schon vorher am ARDUINO mit speichern.

    wenn du beim SETUP von LVS auch die ARDUINO Datein mit Installiert hast, schau doch einfach mal in den ORDNER

    C:\Programme(x86)\LogViewStudio\Development\Arduino

    da ist ein Test Sketch hinterlegt.

    ODER du versuchst mal den hier der gibt 4 Temperatur (DS1820) Werte in LVS an

    Code:
    Dieser  Sketch  kann 4x DS1820 am Pin 9  (1 Wire) einlesen und in LVS anzeigen
    
    #include <OneWire.h>
    #include <DallasTemperature.h>
    
    #define ONE_WIRE_BUS  9
    
    boolean headersend = false;
    int OneWireSensors = 9;
    float temp[4];                                //die Werte der 4 Temp Sensoren
    
    
    OneWire oneWire(ONE_WIRE_BUS);                // OneWire initialisierung
    DallasTemperature sensors(&oneWire);          // DallasTemperature initialisierung
    
    
    void setup() {
      Serial.begin(9600);                        // Serielle Schnittstelle(USB) initialisieren
      sensors.begin();                            // Tempratur-Biblitothek starten
    }
    void loop() {
      sensors.requestTemperatures();              // Temperatur lesen
    
      for (int i=0; i<=3; i++ ) {
        temp[i] = sensors.getTempCByIndex(i);
      }
    
    
      String tempst;
    
      if (Serial.available()>0)
      {
        char c = Serial.read();
        switch (c)   
        {
        case 83:                                   // "S" -> Start
          Serial.println("Start detected");
                                                   // Send Header information
          tempst = "$N$;Room Temp Logging\r\n";
          Serial.print(tempst);
          tempst = "$C$; Temp 1[°C];Temp 2[°C];Temp 3[°C];Temp 4[°C]\r\n";
          Serial.print(tempst);
          headersend = true;
          break;
        case 69:                                   // "E" -> End
          Serial.println("Log ende");
          headersend = false;
          break;
        }
      }
      if (headersend)
    {
        Serial.print("$");                        // Werte RS232 Port ausgeben
        Serial.print(temp[3]);
        Serial.print(";");                        // Werte RS232 Port ausgeben
        Serial.print(temp[0]);
        Serial.print(";");                        // Werte RS232 Port ausgeben
        Serial.print(temp[1]);
        Serial.print(";");                        // Werte RS232 Port ausgeben
        Serial.print(temp[2]);
        Serial.print("\r\n");
    }
    } 
    Code:
    //Das sind Die Sachen Die LVS brauch, Die Namen Temp1-4 kann man umbenennen
    
    boolean headersend = false;
    
    
    String tempst;
      if (Serial.available()>0)
      {
        char c = Serial.read();
        switch (c)  
        {
        case 83:                                   // "S" -> Start
          Serial.println("Start detected");
                                                   // Send Header information
          tempst = "$N$;Room Temp Logging\r\n";
          Serial.print(tempst);
          tempst = "$C$; Temp 1[°C];Temp 2[°C];Temp 3[°C];Temp 4[°C]\r\n";
          Serial.print(tempst);
          headersend = true;
          break;
        case 69:                                   // "E" -> End
          Serial.println("Log ende");
          headersend = false;
          break;
        }
      }
      if (headersend) 
    Denn bei LVS weden ja wiegesagt die INFORMATIONEN gleich im HEADER mitgesendet da brauchst du dann keine .INI mehr (Das ist ne super sache das man die INI datei nicht immer mitnehmen muss bzw suchen)

    wünsche dir viel spaß mit dem VERSUCHEN :)

    wie du den arduino in LVS zum laufen bekommst

    1. Projekt anlegen
    2.Device auswählen (OpenFormat Zero Sensor)
    3.Serial Port und Baudrate einstellen
    wenn erstellt
    4.Häckchen setzen "OpenFormat Zero Sensor"
    5.Chart anklicken
    6. Sich FREUEN :D

    Ps: es ist auch sehr einfach einen Raspberry Pi zu nehemn um die LOGS zu speichern und dann via PC abzurufen
    Last edited: Oct 13, 2014
  4. Dominik

    Dominik Administrator Staff Member

Share This Page