Pages: [1] 2   Go Down
Author Topic: Daten loggen mit dem Arduino. Vorschläge erbeten  (Read 3495 times)
0 Members and 1 Guest are viewing this topic.
0
Offline Offline
Newbie
*
Karma: 0
Posts: 21
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hallo!

Es sollen Betriebsdaten (24/7) erfasst werden und zur weiteren Auswertung  gespeichert werden.

Das Erfassen der Zustände und das jeweilige absetzen der Txt-Nachricht ist soweit kein Problem (im Monitor)  

Das Problem besteht im Moment darin, jeder Nachricht einen Datums/Zeitstempel mit zu geben.

So in der Art soll das in der TXT-Datei aussehen

2010-02-23 10:50:31 Pumpe1 an
2010-02-23 10:55:45 Pumpe1 aus
2010-02-23 10:56:15 Sensor 1  23.15 C        

Diese Daten würde dann hinterher am PC ausgewertet.

Ich habe versucht auf der PC-Seite mit Freebasic die Daten der Ardunio am Comport mitzuschreiben und die Nachrichten dort mit Datum und Zeit zu ergänzen - allerdings kommt es dort zu Problemen da Teile der Nachrichten des Ardunio "zerrissen" werden, wenn die einlaufenden Nachrichten zeitgleich gefiltert und weiterverarbeitet werden sollen - ein wohl häufig auftretendes Problem vermutlich infolge des fehlenden Handshake-Protokolls.

Hat hier jemand vielleicht eine erprobte Lösung  bzw. einen weiterführenden Link.

Eine Alternative wäre es, wenn der Arduino Datum und Uhrzeit mitliefern würde. Welche Hardware (Shield) würde man hier für einen Arduino benötigen?

Vielleicht gibt es ja auch Möglichkeiten die Daten durch den Aduino sammeln zu lassen, allerdings müsste dann die Möglickeit bestehen, diese auszulesen ohne die Erfassung zu unterbrechen (Also Wechseln von Speicherkarten ist kritisch)

Hoffe auf Input.

Gruß
Dirk
Logged

Weinsberg, Germany
Offline Offline
God Member
*****
Karma: 3
Posts: 773
A Coder's Tale
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Ich persönlich find das hier ziemlich cool... smiley
Logged

0
Offline Offline
Faraday Member
**
Karma: 24
Posts: 3495
20 LEDs are enough
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Kommt drauf an wie versiert Du bist. Wenn Du fragen musst ist vermutlich das RTC Modul welches Joghurt empfiehlt das richtige.

Wenn Du schon mehr Erfahrung hast kannst Du auch einen 32kHz Quarz an Timer 2 hängen. Den Stromverbrauch kann man laut Datenblatt auf <1uA drücken. Die Hardware ist dann deutlich einfacher und billiger. Es kann allerdings einiges dabei schief gehen --> vieleicht nicht gerade als Anfängerprojekt ausprobieren.

Wenn Du Dich erfahren genug fühlst --> bei Atmel Datenblatt und Application Notes runterladen und los smiley

Gruß, Udo
Logged

Check out my experiments http://blog.blinkenlight.net

CH
Offline Offline
God Member
*****
Karma: 19
Posts: 704
Book Writer "Arduino Praxiseinstieg"
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Ich würde die Datenerfassung online machen, d.h Arduino sendet via Ethernet-Board die Daten an ein Skript auf dem Webserver. Das Skript speichert die Daten, inklusive einem Zeitstempel in einer Datenbank oder einem Textfile.

Per FTP oder als Download können die erfassten Daten anschliessend auf dem lokalen Rechner ausgewertet werden.

Der Vorteil dieser Lösung ist, dass man über Web die erfassten Daten aufrufen und überwachen kann. PHP oder eine andere Skriptsprache fürs Web (ASP, ASP.NET, Perl) bieten mehr Möglichkeiten um die Daten weiterzuverarbeiten oder zu visualisieren.

Auf der Arduino-Seite sind nur die Sensoren für die Datenerfassung und ein Ethernet-Modul notwendig.
Logged

Bern, Switzerland
Offline Offline
Jr. Member
**
Karma: 2
Posts: 53
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Hallo

Ich logge Daten von meinem Gartenbeet (Feuchte, Sonneneinstrahlung, etc.).
Allerdings misst der Arduino nur die Sensordaten und versendet diese dann mit einem Post-Request mit einem WiShield übers Internet in die mySQL Datenbank auf meinem Webserver.
Der Arduino kennt die passende Uhrzeit also nicht, erst das Skript auf dem Webserver fügt diese dem Datensatz hinzu.

Vorteil:
Der Arduino selber muss keine Messwerte speichern und ich kann jederzeit von überall auf diese Daten zugreifen.  smiley-wink

Nachteil:
Man muss WLAN oder LAN in der näheren Umgebung haben.

Gruss
Logged

CH
Offline Offline
God Member
*****
Karma: 19
Posts: 704
Book Writer "Arduino Praxiseinstieg"
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Das Sammeln und Visualisieren der Sensordaten kann du online via Pachube machen. Ein sehr ausgereiftes Tool

http://www.pachube.com
Logged

0
Offline Offline
Newbie
*
Karma: 0
Posts: 21
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hallo zusammen,

erstmal vielen Dank an alle für den Input.

Die Vorschläge, das per Ethernet zu machen und Datum und Uhrzeit auf dem Webserver scheint interessant. Das entspricht dem ursprünglichen Lösungsansatz, nur dass ich dafür ja USB und FreeBasic einsetzen wollte. (was ja leider nicht so wirklich funktioniert)


Zur erforderlichen Hardware:

Gibt es verschiedene Ethernetshields und wenn ja welches würdet ihr empfehlen?

Der Vorschlag mit pachube ist dann wohl das "Sahnehäubchen" ich werde mir mal die Anleitungen dort durcharbeiten. Vielleicht ist da ja auch einfacher.

Gruß
Dirk


Logged

CH
Offline Offline
God Member
*****
Karma: 19
Posts: 704
Book Writer "Arduino Praxiseinstieg"
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
Gibt es verschiedene Ethernetshields und wenn ja welches würdet ihr empfehlen?

Genau, das Stichwort ist Ethernet Shield. Das Standardboard findest du hier:
http://www.arduino.cc/en/Main/ArduinoEthernetShield
Logged

0
Offline Offline
Faraday Member
**
Karma: 24
Posts: 3495
20 LEDs are enough
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Auch wenn wir hier im Arduino Forum sind, schau mal das hier an:

Code:
http://www.mikrocontroller.net/articles/AVR_Net-IO_Bausatz_von_Pollin

In ein 32er Board passt auch ein 644er rein. Und der wird sogar von der Arduino IDE unterstützt.

Gruß, Udo
Logged

Check out my experiments http://blog.blinkenlight.net

0
Offline Offline
Newbie
*
Karma: 0
Posts: 21
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hab eben das hier gefunden:

http://mikmo.dk/blog/

Gobetwino kann das was der Arduino über den USB an den PC aussendet  unter Win in einer Datei loggen und mit Datum und Uhrzeit versehen.

(das Programm kann darüberhinaus wohl noch so einiges mehr)

Zumindest wäre das schon mal eine Zwischenlösung  smiley

Gruß
Dirk

Logged

CH
Offline Offline
God Member
*****
Karma: 19
Posts: 704
Book Writer "Arduino Praxiseinstieg"
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Gobetwino ist auch eine Lösung, benötigt aber immer einen am Arduino angeschlossenen und eingeschalteten Rechner. Im Falle der Weblösung kann Arduino irgendwo im internen Netz angeschlossen sein und liefert seine Daten über Ethernet ins Internet an einen Webserver. Ein zusätzlicher Rechner wird dabei nicht benötigt.

Der Webserver kann natürlich auch im Intranet betrieben werden.
Logged

0
Offline Offline
Newbie
*
Karma: 0
Posts: 21
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Das stimmt natürlich. Wobei man natürlich auch die zusätzlichen Kosten für Hardware und den ggf. notwendigen Lernaufwand (Webprogrammierung) nicht außer Acht lassen darf.  Die Pachube Lösung ist schon was Feines und ich sehe Gobetwino auch nur als Interimslösung an.






Logged

Bern, Switzerland
Offline Offline
Jr. Member
**
Karma: 2
Posts: 53
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Ich bevorzuge anstelle von Pachube eine "Eigenbau-Variante" damit ich nicht von einem Anbieter abhängig werde.

Ich habe schon erlebt dass ein Anbieter eines Dienstes ein Update vorgenommen hat und ich meine ganze Programmierung dann neu machen musste damit es kompatibel blieb.

Die Messwerte von Arduino sende ich über PHP in eine mySQL-Datenbank. Auf der Website werden die Messwerte dann als Diagramme mit PHP und JpGraph erzeugt. JpGraph (http://www.aditus.nu/jpgraph/index.php) kann man herunterladen und auf den Webserver kopieren. Dadurch kann man immer mit der gleichen Version arbeiten und es gibt keine Veränderung seitens Anbieter.

Diese Methode ist sehr einfach sofern man PHP kennt. Ansonsten dürfte der Lernaufwand relativ gross sein.
« Last Edit: February 25, 2010, 03:59:40 am by schwizer » Logged

0
Offline Offline
Newbie
*
Karma: 0
Posts: 21
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Nachfolgende Anmerkung soll keine Kritik an den bisherigen Vorschlägen sein die sicher alle ihre Vorteile haben und auch sicher toll aussehen - es soll nur die Sichtweise verdeutlichen, von jemandem der eigentlich nur Daten mit Datum und Uhrzeit loggen möchte.

Da sehe ich genau die Hauptprobleme. Zum einen die Abhängigkeit von Dritt-Anbietern, das sich daraus langsam entwickelnde Schiessen mit Kanonen auf Spatzen und der damit in Regel verbundene zusätzliche mitunter sogar massive Lernaufwand.  Das einfache Loggen von Schaltzuständen und  Temperaturen zieht das Erlernen von zusätzlichen Programmiersprachen und den Aufbau von Datenbankwebservern nach sich.  :o

Ich wollte eigentlich die hier vorhanden 3 Konverter die im Moment drei Comports belegen, durch einen Arduino ersetzen, aber mir nicht gleich noch ein Rechenzentrum mitaufbauen  smiley-wink

Was in meinen Augen hier und bei anderen Verbindungen zur Außenwelt (siehe Lampen schalten etc) definitiv noch fehlt sind einfache und funktionierende Lösungen. Simplfy your work - Have more fun  smiley Also die Weiterführung des Arduino Gedankens

Beispiel sind die DS18S20 Sensoren - anschließen mit einem Widerstand, Beispielprogramm etwas für die eigenen Bedürfnisse anpassen und fertig -
Man bekommt die Temperatur angezeigt genau dass was man wollte.

- keine aufwendigen Berechnungen und Kalibrierungen, keine Lötaktionen nach dem Motto wir bauen uns erstmal einen AD-Wandler  - absolut genial!  

- will man dann allerdings die erfassten Daten für eine Weiterverarbeitung exportieren sorgt das dann plötzlich für unglaublichen Aufwand.

Muss das wirklich sein?

Gobetwino ist da ein Anfang auf dem Weg in die richtige Richtung.







Logged

CH
Offline Offline
God Member
*****
Karma: 19
Posts: 704
Book Writer "Arduino Praxiseinstieg"
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
Zum einen die Abhängigkeit von Dritt-Anbietern...
Diese Abhängigkeit hast du aber auch mit dem Programm Gobetwino. Der Drittanbieter ist eine Privatperson kann seine Entwicklung von heute auf morgen stoppen.

Wenn du kein fertiges Produkt kaufen willst, hast du aber immer die Problematik, dass du selber noch etwas dazusteuern muss, sei es ein kleines Programm zu erstellen oder eine Elektronik aufbauen.

Mit dem von mir erwähntem Ansatz kommst du ganz ohne eigene Basteleien aus:

- Arduino-Board mit Ethernet Shield verbinden
- Ethernet ans Internet anschliessen
- Account bei Pachube
- Programm (Sketch) runterladen
- Sketch anpassen und fertig.

Also nichts von A/D-Wander bauen oder ähnlich, sondern wie am Beispiel des DS1802, Runterladen, Skript anpassen und fertig.

Merke:
Mit einer Arduino-Lösung bekommst du nie eine fertig gestrickte Lösung. Und das ist ja genau das Spannende daran. Andernfalls ist Arduino die falsche Lösung für dich. Bestimmt gibt es auch fertige Datenerfassungslösungen.

Nun liegt es an dir aus unseren Vorschlägen die für dich optimalste Lösung herauszunehmen.
Logged

Pages: [1] 2   Go Up
Jump to: