INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Uhrzeiterfassung
12.07.2019, 14:24
Beitrag #1
Uhrzeiterfassung
Hallo, ich bin insgesamt noch recht neu in dem Arduino-Segment und habe deshalb
noch wenig Ahnung von verschiedensten Bauteilen der Schaltungen.

Mein Projekt soll Sensordaten erfassen und diese mit der jeweiligen Uhrzeit in eine Datenbank (auf einem PC) schreiben und auch wieder aus der Datenbank heraus
anzeigen können.
Bisher hatte ich für den Zeitparameter einfach den Zeitpunkt der Übertragung an den
PC verwendet, da dieser nur kurz nach der Messung war und hierdurch keine Fehler,
wie zwei Sensorwerte für einen Zeitpunkt entstehen konnten.
Nun will ich allerdings auf dem Arduino die Möglichkeit des Zwischenspeicherns
mittels einer SD-Karte einrichten. Die Daten sollen also zunächst auf der SD- Karte
gespeichert und dann, wenn sie vom PC aus abgerufen werden, als Datenpaket
zu diesem gesendet werden. Und hier kommt das Problem: Nun kann ich natürlich
nicht mehr den Übertragungszeitpunkt verwenden, sondern muss eine Zeiterfassung
mit dem Arduino (es soll auch funktionieren wenn dieser vom PC getrennt ist) einrichten. Im Internet habe ich verschiedene Wege gefunden, wie man dies realisieren kann:
1. Die Time Bibliothek:
Vorteile: keine extra Hardware benötigt
Nachteil: extrem ungenau
--> scheidet für mich aus (oder nur zum Testzweck)
2. Eine RTC
Vorteil: Zeiterfassung direkt durch Hardware
Nachteil: keine weiteren Funktionen
offene Frage: Wie genau ist eine RTC?
3. NTP/ Zeiterfassung übers Internet:
Vorteil: neben der Zeiterfassung kann auch noch eine kabellose Datenübertragung
an den PC im Nachhinein realisiert werden, genau
Nachteil: Wlan- Netzwerk zwingend notwendig (ist zwar verfügbar, finde ich allerdings trotzdem unschön)
4. DCF77 Sensor (Zeiterfassung über Funk):
Vorteil: kein Wlan Netzwerk verfügbar, genau
Nachteil: keine weiteren Funktionen
offene Frage: Würde dieser Sensor auch in großer Entfernung zu Frankfurt (Aussendeort des Funksignals) funktionieren bzw. können dann andere Sendestationen angesprochen werden?

Meine eigentliche Frage ist nun, welche der unteren drei Möglichkeiten ihr favorisiert und aus welchen Gründen. Ich finde, dass es hier leider keinen optimalen Weg gibt und bei allen Optionen Kompromisse eingegangen werden müssen. Zusätzlich fände ich es interessant zu wissen, ob jemand schon Erfahrungen mit einer RTC hat und, ob dies zur genauen Zeiterfassung genutzt werden kann.

LG Marcel aka the_crazy_programmer_02
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
12.07.2019, 14:35 (Dieser Beitrag wurde zuletzt bearbeitet: 12.07.2019 14:36 von Tommy56.)
Beitrag #2
RE: Uhrzeiterfassung
1. Die Time-Lib (von Paul Stoffregen) wirst Du in den meisten Fällen trotzdem benötigen.
2. RTC: Eine DS3231 hat eine Abweichung von weingen Sekunden pro Jahr
3. NTP: Was stört Dich an WLAN? Nimm dann aber einen ESP8266 mit USB (z.B. WEMOS/LOLIN D1 mini - mehr RAM und Flash) oder zur Not einen MEGA2560 mit Ethernetshield
4. DCF77 ist nach vielen Anfragen im Netz zu urteilen stark störanfällig (z.B. Computer/Arduino in der Nähe). Ich habe es nicht ausprobiert.

Was verstehst Du unter "keine weiteren Funktionen"? Eine eierlegende Wollmilchsau ist meist schwer zu beherrschen.
Einiges hängt auch von der Art und Anzahl der Sensoren ab, die Du nutzen willst.

Mein Favorit ist NTP über WLAN. Die Fritz!Box hat z.B. einen NTP-Server integriert, ein weiterer läuft bei mir auf einem RasPi, der Druckerserver spielt.

Gruß Tommy

"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
12.07.2019, 14:40
Beitrag #3
RE: Uhrzeiterfassung
Wenn WLAN vorhanden und ein ESP8266 (Wemos, NodeMCU o.ä,) geplant ist, dann ist NTP sehr genau und relativ einfach umsetzbar.
DCF77 würde ich abraten. Die Billig-Empfänger sind problematisch und es kommt halt sehr auf die Ausrichtung der Antenne an. Es funktioniert zwar, aber der Empfang eines Zeittelegramms dauert bis zu 2 Minuten.
Für einen Arduino würde ich eine RTC (DS3231) empfehlen, die gehen ziemlich genau (paar Sekunden im Jahr). Bloß keine DS1307, die sind sehr ungenau (1 Minute am Tag).
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
12.07.2019, 15:05
Beitrag #4
RE: Uhrzeiterfassung
Zunächst einmal: Danke für die schnellen Antworten,
mein Problem mit Wlan ist meine eigentliche Idee hinter dem Projekt. Und zwar sollen Wetterdaten, wie Temperatur und Luftfeuchtigkeit gesammelt werden.
Nun will ich dieses Projekt auch so umsetzen, dass es auch in der "richtigen" Welt Anwendung finden könnte ( zu mir selbst: ich bin Schüler in der 11. Jahrgangsstufe und will mir
über solche kleinen Projekte das Programmieren beibringen). Hier fand ich es einfach unpraktisch, dass die Bedingung für eine korrekte Funktionsweise ein Wlan- Netz in der
Nähe des Arduinos ist.
Allerdings finde ich speziell den Faktor, dass man hierüber dann auch die Daten kabellos an den PC senden kann sehr interessant.
Das Board, welches ich zurzeit nutze ist ein Mega 2560. Würde denn hier ein Wlan- Modul auch möglich sein, bzw. welche Probleme könnten auftreten?

LG the_crazy_programmer_02
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
12.07.2019, 15:17 (Dieser Beitrag wurde zuletzt bearbeitet: 12.07.2019 15:18 von Tommy56.)
Beitrag #5
RE: Uhrzeiterfassung
Du magst kein WLAN, fragst aber als erstes nach WLAN Wink
Klar musst Du WLAN haben, wenn Du WLAN nutzen willst. Du musst aber auch eine Ethernetdose in der Nähe haben, wenn Du Ethernet nutzen willst.

Von den sogenannten WLAN-Modulen (ESP-01 und ähnliche) halte ich persönlich nichts.
Der D1 mini ist um Größenordnungen leistungsfähiger, als der MEGA und kann mit z.B. einem BME 280 Temperatur, Luftfeuchte und Luftdruck erfassen.
Warum willst Du die Daten eigentlich im Block senden? Wetterdaten ändern sich nicht schlagartig, da reicht eine Messung/Übertragung aller 15 Minuten.

Einen XAMPP auf den PC und dann kannst Du direkt übertragen und Dir das Gefummel mit der SD ersparen.

Zum Lernen der Grundlagen, was ich Dir vor dem Projekt empfehlen würde, kannst Du sehr gut den MEGA verwenden. Die IDE hat genug Beispiele drin.

Gruß Tommy

"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
12.07.2019, 15:37
Beitrag #6
RE: Uhrzeiterfassung
Ja, den "D1 mini" würde ich auch empfehlen.
Und dann allein (ohne den Mega) verwenden. Da ist ein ESP8266-12 drauf und der ist leistungsmäßig dem Mega deutlich überlegen.
Der wird allerdings mit 3.3V betrieben, sodass die Sensoren dazu passen sollten oder Du brauchst zusätzliche Pegelwandler.
Das mit dem speichern auf SD-Card kann ich nachvollziehen. Ansonsten müsste ja ein Rechner rund um die Uhr laufen.
Um die Zugriffe auf die SD-Karte zu minimieren (Lebensdauer erhöhen) würde ich die Daten erstmal im RAM zwischenspeichern und erst wenn der Buffer voll ist, die Daten auf die Karte schreiben.
Wieder ein Grund mehr für den "D1 mini". Der Mega hat 8kB RAM, der D1 80kB, also 10x soviel.
Wie viel Daten fallen denn bei Dir an? Und wie hast Du Dir die Übertragung zum Rechner gedacht?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
12.07.2019, 16:12
Beitrag #7
RE: Uhrzeiterfassung
(12.07.2019 15:37)Gorathan schrieb:  Das mit dem speichern auf SD-Card kann ich nachvollziehen. Ansonsten müsste ja ein Rechner rund um die Uhr laufen.

Ich kann überhaupt nicht nachvollziehen warum man sich externe Sachen dran hängen soll wo doch der Nodemcu ausreichend Flash hat. Und sollte der wieder erwarten zu klein sein gibt es den "D1 mini pro" mit 15 MB Speicher.

Wofür also zusätzliche SD?

Gruß Fips

Meine Esp8266 & ESP32 Projekte
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
12.07.2019, 16:29
Beitrag #8
RE: Uhrzeiterfassung
Die Datenmengen belaufen sich zurzeit auf einen Integer, also 4 bytes die minute (wie tommy schon gesagt hat natürlich auch auf einen weiteren Zeitraum ausdehnbar).
Da sind dann die Temperatur und die Luftfeuchtigkeit drin (benutze den DHT 11).
Hier müsste man dann natürlich noch die Datenmenge der Uhrzeit addieren.

Die Übertragung zum Rechner findet im moment einfach über die serielle Schnittstelle statt. Deswegen auch der "Umweg" mit der SD, dann muss die Verbindung zum PC nicht
dauerhaft bestehen.
Einen Server würde ich ungern aufsetzen, da ich, wie Gorathan es schon gesagt hat,
es auch für unsinnig halte einen Rechner 24/7 laufen zu lassen (meine Eltern freuen sich über die Stromrechnung, obwohl das natürlich prinzipiell auch interessant wäre als nächstes ProjektWink).
Die Idee mit dem D1 mini finde ich prizipiell sehr interessant, da er ja wirklich mehr "dampf" hat und auch einen wlan chip, also eigentlich alles, was ich bräuchte.
Gibt es denn auch eine version dieses boards mit mehr pins? Denn das war der eigentliche grund für mich vom uno auf den mega zu wechseln.

LG the_crazy_programmer_02
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste