- 3D-Druck Einstieg und Tipps         
Ergebnis 1 bis 2 von 2

Thema: Messwerterfassung & Analyse mit dem Raspberry Pi

  1. #1
    Moderator Robotik Einstein Avatar von Kampi
    Registriert seit
    21.11.2009
    Ort
    Monheim, Nordrhein-Westfalen, Germany
    Alter
    34
    Beiträge
    3.501
    Blog-Einträge
    9

    Messwerterfassung & Analyse mit dem Raspberry Pi

    Anzeige

    E-Bike
    Heyho,

    vor einigen Wochen wurde ich per E-Mail gefragt, ob ich nicht Lust hätte an einem Projekt mit zu arbeiten. Konkret ging es darum CO2/O2/Ethanols etc. Werte eines Sensors einzulesen und via Web darzustellen.
    Zu dem Zeitpunkt lief das alles noch auf einem Windowssystem und wohl mehr schlecht als recht.... . Die Idee war es, das ganze System auf ein Raspberry Pi umzustellen und als Stand-Alone Gerät zu entwickeln.
    Ok gesagt getan, ich hielt fleißig E-Mailkontakt mit den Leuten und half erstmal die Sensorschnittstelle (eine große, weiße Box mit Ethernet und RS232 Anschluss für bis zu 12 Sensoren) per UART an das Raspberry anzuschließen.
    Als dies nicht gelang (u.a. weil das Raspberry bei einer Baudrate von 9600 am AMA0 immer ein undefiniertes Zeichen zusätzlich mit ausgibt - ka was das ist, ich krieg es auf jeden Fall nicht weg) sind wir auf USB umgestiegen.
    Dazu habe ich ein kleines Pythonprogramm geschrieben, welches einen Sensor nach einem Ergebnis fragt und das Ergebnis empfängt, auswertet und mitloggt.
    Das erste Programm war auch nicht so schön.....brauchte teilweise fünf Versuche um es zu starten, wenn es vorher unterbrochen wurde etc.
    Nach ein paar Versuchen mit einem Timeout beim Serial-Modul klappte es dann doch viel zuverlässiger.
    Jetzt am Wochenende haben wir das System mal als ganzes getestet, sprich drei Sensoren (Ethanol, O2 und CO2) an einem Raspberry Pi, dazu ein AVR Net IO / PCF8574 (welches wir davon schlussendlich verwenden werden wissen wir noch nicht) um drei Pumpen anzusteuern.
    Dazu kommt noch ein Adafruit Thermodrucker und ein Display / Monitor (jetzt noch nicht aber in paar Wochen wenn wir uns entschieden haben).

    Wie funktioniert nun das ganze?
    Nach dem Bootvorgang legt das Raspberry drei Textdateien an und beschreibt sie mit "0" (genau wie die Dateien für die GPIOs unter /sys/class/gpio.
    Diese Dateien werden danach von einem Pythonprogramm sequenziell ausgelesen und bei einer "1" in einer Datei wird die dem entsprechende Pumpe geschaltet.
    Das Beschreiben der Datei findet durch PHP/Python etc. statt (quasi wie das Schalten eines GPIOs, nur über I2C mit dem Portexpander oder über USB mittels AVR Net IO -> beim AVR Net IO kommt noch der AD/Wandler mit dazu).
    Anschließend wird ein weiteres Programm gestartet, welches alle Ports an der Sensorbox abfragt, herausfindet ob ein Sensor angeschlossen ist und die ID, die Portnummer und den Sensortyp in einer Textdatei speichert.
    Sobald das Programm durchgelaufen ist, wird das Hauptprogramm gestartet, welches die Textdatei ausließt und alle angeschlossenen Sensoren abfragt. Das Ergebnis wird in einer Log-Datei für jeden Sensor und einer großen Log Datei für alle Sensoren gespeichert.
    Diese sehen dann z.B. so aus:

    Sensor 1:
    Code:
    20.05.2013 22:51:28 1369090288 1.183101828e-001 10.000000000e-001
    Log:
    Code:
    19.05.2013 19:51:28 1368993088 Sensor_2: 5.078991444e-002 
    19.05.2013 19:51:31 1368993091 Sensor_2: 5.084003787e-002 
    19.05.2013 19:51:34 1368993094 Sensor_2: 5.085029646e-002 
    19.05.2013 19:51:36 1368993096 Sensor_2: 5.090338151e-002 
    19.05.2013 19:51:39 1368993099 Sensor_2: 5.087201838e-002 
    19.05.2013 19:51:42 1368993102 Sensor_2: 5.079552858e-002 
    19.05.2013 19:51:44 1368993104 Sensor_2: 5.072014979e-002
    Geplant ist jetzt noch, dass mit den Sensorwerten Berechnungen angestellt werden und je nach Wert dann eine Pumpe geschaltet wird (daran arbeite ich im Moment noch).
    Zudem soll ein Monitor angeschlossen werden, wo man die Sensorwerte sieht, Triggerwerte für die Pumpen setzen kann und nebenbei noch die eigentliche Konsole hat (wird dann alles über tty1, tty2 und tty3 laufen - bzw. ist so geplant).
    Längerfristig ist geplant, dass wir zusammen mit dem Hersteller das Raspberry und die Sensorbox alles in ein Gerät packen um alles ein wenig kompakter zu gestalten (aber das dauert noch etwas ).
    So ich hoffe ich habe nichts vergessen....wenn doch, füge ich es hinzu sobald es mir eingefallen ist .
    Anbei noch ein paar Fotos von unserer "Session" am Samstag:

    Der Aufbau:
    Bild hier  

    Bild hier  


    Sensor und Raspberry:
    Bild hier  


    Sensorbox:
    Bild hier  


    PHP:
    Bild hier  


    Eine der Pumpen:
    Bild hier  


    USB Stick zur Messdatenspeicherung + PCF8574 Portexpander:
    Bild hier  


    Ein CO2 Plot der letzten zwei Tage von mir Zuhause.
    Excel erkennt den "." im Datensatz nicht als Dezimalstelle, sondern als 1000er Stelle.....daher sind die Werte leicht hoch, aber es interessiert nur die Kurve .
    Später geschieht die Auswertung mittels Origin, weil Excel u.a. nur 32000 Datensätze pro Kennlinie zulässt:
    Bild hier  

    Die Peaks sind übrigens von mir durch drauf pusten entstanden.
    Geändert von Kampi (21.05.2013 um 01:05 Uhr)
    Schaut ruhig mal auf meiner Homepage vorbei :
    http://kampis-elektroecke.de

    Oder folge mir auf Google+:
    Daniel Kampert

    Es gibt 10 Arten von Menschen. Die einen können Binär, die anderen nicht.

    Gruß
    Daniel

  2. #2
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    09.09.2006
    Alter
    35
    Beiträge
    841
    Blog-Einträge
    1
    Schön schön, wenn du noch Methansensoren ranhängst kannst du den Verzehr von Bohnensuppe nachweisen

Ähnliche Themen

  1. [ERLEDIGT] Kleiner Webserver auf dem Raspberry Pi
    Von Kampi im Forum Raspberry Pi
    Antworten: 45
    Letzter Beitrag: 02.12.2013, 11:07
  2. [ERLEDIGT] CO2 Messung mit dem Raspberry Pi
    Von Kampi im Forum Raspberry Pi
    Antworten: 0
    Letzter Beitrag: 07.05.2013, 21:39
  3. [ERLEDIGT] Frequenzmessung mit dem Raspberry Pi
    Von Kampi im Forum Raspberry Pi
    Antworten: 2
    Letzter Beitrag: 09.02.2013, 06:06
  4. Antworten: 0
    Letzter Beitrag: 18.10.2011, 16:02
  5. Messwerterfassung mit ASIC / FPGA
    Von BlackDevil im Forum Microcontroller allgemeine Fragen/Andere Microcontroller
    Antworten: 11
    Letzter Beitrag: 31.08.2009, 20:51

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Solar Speicher und Akkus Tests