Regenmesser zu Ethernet oder USB - mein erstes Arduino-Proje

Hallo,

Am 21.07.19 um 11:16 schrieb Marc Haber:
Rainer Knaepper <rainerk@smial.prima.de> wrote:
Wobei... der aktuell hier stattgefundene SchĂźttregen dauerte gerade
einmal 15 Minuten. Wenn man solche Peaks erfassen will, muß man wohl
doch Ăśfters zeitstempeln ;-)

... kann diese aber im RAM zwischenlagern. Regen und Stromausfall
zusammen ist ein Risiko das ich in Kauf nehme.

Warum ßberhaupt Zeitstempeln? Ich muss doch nur Impulse zählen und
die BlackBox liefert mir auf Anfrage die Impulse bzw die umgerechnete
Regenmenge zurĂźck?

> Wieviel Liter pro m² fielen dann in diesen 15 Minuten?

Also ich wĂźrde da mit nicht mehr als 100 mm Niederschlag ausgehen.
Das wäre fßr die meisten mitteleuropäischen Messstationen mehr als
ein Zehntel des Jahresniederschlags. Extremere Extremregen mit einem
Tagesniederschlag als ein Zehntel des Jahresniederschlages sollte
es wohl kaum gegeben haben? Sehen wir mal beim DWD nach? Lassen
wir uns Google helfen?

"Maximale Niederschlagsmenge Starkregen" Deutschland site:dwd.de

Hier zum verlinken die HTML-Seite mit Link aufs relevante PDF:

Einleger Starkniederschläge in Deutschland
Datum 02.09.2016
Zusatzbericht
Einleger Starkniederschläge in Deutschland (PDF, 667KB, Datei ist
nicht barrierefrei.)

<https://www.dwd.de/DE/leistungen/nationalerklimareport/download_einleger_report_2016.html>

Da gibt es eine Tabelle auf Seite 2:

Auflistung von maximalen NiederschlagshĂśhen (in mm) je Dauerstufe
(D), die statistisch einmal in 1, 10 und 100 Jahren in Deutschland
auftreten (Wiederkehrintervall T)

Dauerstufe 15 min wĂźrde alle 100 Jahre mal 45 mm geben. Das sieht
gut aus. Mit meinen 100 mm war ich mal wieder sehr weit oben, aber
ich bin nun mal etwas abgehoben. Hab ich schon mal erzählt, dass
die Seminarräume des Instituts fßr Meteorologie und Klimatologie
im Karlsruhe im obersten, den 13. Stock, des Physikhochhaus sind?

Wenn wir von der maximal erwarteten Frequenz von 3 Hz ausgehen, reicht
ein Byte für 85 Sekunden Gewaltregen, was den Begriff "Überlauf"
erklärt. Etwas knapp, also brauchen wir ein unsigned int dafßr, mithin
zwei Byte.

Man kÜnnte auch die Impulse pro Minute zählen und damit die Anzahl der
Datensätze (Zeitstempel plus 8 Bit Zähler) auf 60 prO Stunde
reduzieren. Genauer brauch ich's nicht.

Das sollte reichen. Selbst bei einem Ausfall mit Reboot wĂźrden
da nur wenige Daten verloren gehen. Und jetzt nehme Dir noch zum
Sichern ins EEPROM einen Ringbuffer und dann gehen nicht mal die
Tagesmengen so richtig kaputt.

---%---%---%---%---%---%---%---%---%---%---%---%---%---%---%---

Da muss man sich nur Gedanken mit den Ein-/Aus-Vorgang machen
und wie man das Ende des RingBuffers bei Neustart erkennt? Hat
da jemand eine gute Idee? Das erste Bit alternieren und nur die
restlichen Bit fßr den Zähler nehmen?

Neustart: Suchen nach Datensatzende und dort weiter machen.

int iPos = ThisSearch()
Suche nach Datensatzende: Erstes Bit im folgenden Datensatz
ist ungleich oder aber alle Ersten Bit haben das gleiche
Vorzeichen, dann war der letzte Wert das Datensatzende.

ThisWrite(iCounter,iPos)
Schreiben: Erstes Bit togglen und Zählerstand dran hängen.

int iCounter = ThisRead(iPos)
Lesen: Differenz zwischen aktuellem und letzten Zählerstand
ist die Zahl der Klicks im Intervall.

int iCounter = GetCounter()
Datenholen: Zählerstand auslesen ... Der liegt im RAM und
wurde durch eine ISR hochgezählt.

Dazu definiert man noch FIRSTPOS und LASTPOS des Ringbuffer
und damit sollte man durchkommen?

main(){
iPos = ThisSearch();
ThisCount = ThisRead(iPos);

Zeitschleife ggf in oder Ăźber Timerinterrupt oder RTC?
{
LastCount = ThisCount;
ThisCount = GetCounter();
if ( ThisCount > LastCount );
{ /* Schreiben bei Bedarf */
/* Zaehlerbehandlung */
iPos++;
if (iPos > LASTPOS)
{
iPos = FIRSTPOS;
}
/* der eigentliche Schreibvorgang */
WriteThis(iCounter,iPos);
} /* Ende Schreiben */
} /* Ende Zeitschleife */
} /* Ende main() */

Lasse da mal 500 Plätzchen im Ringbuffer und Du hast da selbst
bei extremen Regenfällen fast einen ganzen Tag im Puffer. Jetzt
kommt nur noch das Problem mit dem Überlauf bzw. Zurücksetzen?

Da passen dann sechs Stunden Zählimpulse mit
Maximalfrequenz rein, bei solchem Wetter dĂźrfte der Host-PC schon
deutlich unter Wasser stehen, wenn der im Erdgeschoß untergebracht
ist.

Serverraum im Keller. Flutsicherer dĂźrfte das Gartenhaus sein, wenn es
nicht weggeblasen wird. Dann ist allerdings auch der Regenmesser mit
weg, der ist am Gartenhaus montiert.

Den Server im Keller kannst Du doch auch nach Oben setzen? Also
ein hohes Regal in etwa 1m50 HĂśhe? Da wĂźrde ich auch Router ggf.
vorhandene NAS und USV hinhängen. Und die Steckdosen erst recht!

MfG

Uwe Borchert
 
Hallo,

Am 20.07.19 um 21:02 schrieb Gerrit Heitsch:
On 7/20/19 9:38 AM, Hans-Peter Diettrich wrote:
Am 19.07.2019 um 21:20 schrieb Gerrit Heitsch:
On 7/19/19 8:38 PM, Rainer Knaepper wrote:
Bernd.Laengerich@web.de (Bernd Laengerich) am 19.07.19 um
14:45:

Der MEGA328 garantiert 100.000 Zyklen, die externen (unter
einem Euro) liegen bei 1Mio. Da kann man einfach recht
schmerzfrei jede Minute eine Änderung reinpusten.

100k Zyklen sind im Minutentakt erschreckend schnell
verbraucht.

Worauf beziehen sich die Zyklen, auf eine Zelle oder das ganze
EEPROM?

EEPROMs werden ßblicherweise zellenweise geschrieben/gelÜscht während
Flash blockweise behandelt wird. MĂźsste also pro Zelle gelten.

Und das wiederum legt den Gedanken an einen Ringbuffer nahe!
Man muss nur im Ringbuffer die MĂśglichkeit haben das Ende der
Datenreihe zu finden. Aber dazu schrubbte ich schon was mit
einem geflippten Bit am Anfang.

---%---%---%---%---%---%---%---%---%---%---%---%---%---%---%---

Neustart: Suchen nach Datensatzende und dort weiter machen.

int iPos = ThisSearch()
Suche nach Datensatzende: Erstes Bit im folgenden Datensatz
ist ungleich oder aber alle Ersten Bit haben das gleiche
Vorzeichen, dann war der letzte Wert das Datensatzende.

ThisWrite(iCounter,iPos)
Schreiben: Erstes Bit togglen und Zählerstand dran hängen.

int iCounter = ThisRead(iPos)
Lesen: Differenz zwischen aktuellem und letzten Zählerstand
ist die Zahl der Klicks im Intervall.

int iCounter = GetCounter()
Datenholen: Zählerstand auslesen ... Der liegt im RAM und
wurde durch eine ISR hochgezählt.

Dazu definiert man noch FIRSTPOS und LASTPOS des Ringbuffer
und damit sollte man durchkommen?

main(){
iPos = ThisSearch();
ThisCount = ThisRead(iPos);

Zeitschleife ggf in oder Ăźber Timerinterrupt oder RTC?
{
LastCount = ThisCount;
ThisCount = GetCounter();
if ( ThisCount > LastCount );
{ /* Schreiben bei Bedarf */
/* Zaehlerbehandlung */
iPos++;
if (iPos > LASTPOS)
{
iPos = FIRSTPOS;
}
/* der eigentliche Schreibvorgang */
WriteThis(iCounter,iPos);
} /* Ende Schreiben */
} /* Ende Zeitschleife */
} /* Ende main() */

Lasse da mal 500 Plätzchen im Ringbuffer und Du hast da selbst
bei extremen Regenfällen fast einen ganzen Tag im Puffer. Jetzt
kommt nur noch das Problem mit dem Überlauf bzw. Zurücksetzen?

---%---%---%---%---%---%---%---%---%---%---%---%---%---%---%---

Jetzt fehlt nur noch die passende Auslegung. Ich ging von
einem Intervall von 1 min aus. 1920 gingen in 8 Minuten in
FĂźssen mal 128 mm runter. Ok, da wĂźrde ich bei einer reinen
Hobbystation durchaus mal einen Messfehler verzeihen.

Ich wĂźrde da alle 60 s abfragen und in den Ringbuffer (im
EEPROM) schreiben. Jaja, ein Tag hat 1440 Minuten, aber es
regnet selten einen ganzen Tag durch und die Ăźber 8 h im
Ringbuffer sollten fast immer fĂźr Ăźber einen Tag reichen.
Bei Schreiben nach Bedarf und geschätzten maximal 600
Regenstunden im Jahr (etwas unter 200 Regentagen mit
irgendwas um die 3 Regenstunden) Ăźberschreibe ich eine
Zelle etwa 70 bis 80 mal jedes Jahr.

MfG

Uwe Borchert
 
Am 20.07.19 um 15:42 schrieb Rainer Knaepper:
Gerald.Oppen@web.de (Gerald Oppen) am 20.07.19:

Am 19.07.19 um 17:26 schrieb Rainer Knaepper:

Was aber eine ständig verfßgbare Verbindung erfordert. So ein

Definiere "Ständig"...

Das sollte der OP definieren. Ich weiß nicht, in welchem Raster er die
Daten erfassen mĂśchte. MinĂźtlich? StĂźndlich? WĂśchentlich? Immer, wenn
ein Liter zusammengekommen ist? Bei jedem Klick der Regenwippe?

Sinnvoll erscheint mir eine Größenordnung von 10s -60s wenn man
Spitzenwerte erfassen oder eine Markisensteuerung beeinflussen mĂśchte.

Fßr mich wäre ein Niederschlagslogger, der mal im Minuten-, mal im
Stundentakt loggt, dann aber auch mal eine Woche Pause macht,
irgendwie sinnbefreit. Dann kann ich auch aus dem Fenster schauen und
schätzen oder einen Sammeleimer aufstellen.

Wenn man die Übertragung niederschlagsabhängig macht ist es sinnvoll.
Warum soll ich wenn es die ganze Woche nicht regnet im Sekundentakt loggen?

Echtzeit-Modul fĂźr den Arduino kostet nicht die Welt.
Muss aber ßberprßft werden ob es noch korrekt läuft, sonst ist die
Echtzeit nichts Wert. Bringt nicht wirklich einen Mehrwert.

Naja, diese Billig-DSxxxx Uhr läuft im Monat maximal einige zehn
Sekunden falsch. DafĂźr kostet sie halt fast nix. Es gibt auch welche,
die zwei oder drei ppm Abweichung bieten, sind aber latĂźrnich teurer.

Egal wie genau die laufen - ich muss sicherstellen dass sie läuft und
die gesetzte Zeit auch halbwegs korrekt ist. Bringt keinen Mehrwert wenn
der Sensor nicht auch unabhängig vom Server betrieben wird und eventuell
selbst eine Messauswertung / Anzeige hat.

Wenn eine solche geringe Abweichung in dem Regenlogger dazu führt, daß
die Echtzeit nichts wert ist, wie paßt das dann mit der Aussagekraft
von Meßwerten zusammen, die in mehr oder weniger zufälligen,
möglicherweise tagelagen Abständen erfaßt und vom Host zeitgestempelt
werden?
Wichtig ist jeweils das Zeitintervall Ăźber das die Messung erfolgt ist
und ein unterbrechungsfreies (d.h. lĂźckenfreies) aufsummieren der
Messwerte. Wenn ich garantieren kann dass der Host den Zeitstempel mit
nur wenig Versatz zum aktuellen Intervallende aufprägt sehe ich da kein
Problem.
Vielleicht reden wir auch aneinander vorbei - Ich rede von Datum und
Uhrzeit auf die man im Sensor verzichten kann. Der Zählertakt fßr das
Zeitintervall muss natĂźrlich schon hinreichend genau sein. Das sollte
aber bei einem quarzgetakteten uC kein Thema sein.

In einem gebe ich dir freilich recht: Die RTC ist ĂźberflĂźssig, wenn
man keine absoluten Zeitstempel benĂśtigt und der ÂľC-Takt "genau genug"
ist. Der OP scheint sich einen Uno mit Quarz ausgesucht zu haben, da
kann man auf maximal 100ppm Abweichung hoffen, was fĂźr die Anwendung
genau genug ist, wenn der Host oft genug nachguggt. Nach einer Woche
ohne Korrekturwert kann man halt eine Minute Abweichung ansammeln. Bei
einem Arduino mit Keramikresonator kann es hingegen auch mal eine
halbe Stunde sein und Ăźber einen Attiny oder atmega mit internem RC-
Oszillator denken wir lieber nicht nach, da rechnet man in Prozenten,
nicht in ppm ;-)
Selbst das ist fĂźr die Niederschlagsmessung wahrscheinlich nicht das
Problem. Die Datenverbindung stellt da je nach Typ die hĂśheren AnsprĂźche
an die Taktgenauigkeit.


Die Frage, die sich mir freilich stellt, ist: Wenn ich eh ein
Kabel legen muß, wozu benötige ich dann überhaupt einen
Microcontroller, um einen einsamen Schaltkontakt abzufragen? Wenn
das übergeordnete System im Dauerbetrieb laufen muß, um sinnvolle
Zeitstempel zu erzeugen, kann man da auch irgendein USB-4-20mA
Adapterchen dranstricken und den Host-PC selber zählen lassen. 3
Hz kriegt man hin.
Der uC kann das viel besser als der Host. Der Host ist auch mal zu
Wartungszwecken etc. offline, den uC kann ich relativ einfach
StĂśrungsfrei im Dauerbetrieb laufen lassen.

Gewiß. Und genau deshalb wäre es schön, wenn der µC sich die
Zeitstempel selber geben würde und nicht von einer unregelmäßigen
Anbindung an einen Host abhängig wäre. Welchen Aussagewert bei einem
Logger hat die Information "50 klicks seit der letzten Abfrage", wenn
die Abfrage mal nach einer Stunde, mal nach drei Tagen erfolgt? Siehe
"aus dem Fenster guggen" -> war wohl viel Regen, war wohl wenig Regen.
Aber das mit NTP-genauem Zeitstempel ;-)
Kommt auf die Anforderungen an. Wenn es nur um den Monatsniederschlag
geht spielt es keine Rolle wie häufig und regelmässig ich den Wert ßber
den Monat verteilt auslese. Ich muss nur sicherstellen dass ich halbwegs
den jeweiligen Monatsanfang erwische.

Wenn schon ÂľC, dann sollte der auch was tun fĂźr sein Geld, also
mit korrekten Zeitstempeln autonom loggen und seine Datensammlung
auf Anfrage abliefern. Dann muß auch kein stromfressender PC im
Dauerbetrieb laufen. Der Chinamann liefert auch billige SD-
Kartenadapter, so daß man ziemlich lange Zeitreihen zwischenlagern
kĂśnnte.
Macht in der Anwendung wenig Sinn. Anfallende Datenmengen sind
gering.

Die SD-Karte war als *eine* MĂśglichkeit fĂźr eine billige
Speichererweiterung angefĂźhrt, wenn die paar hundert Byte internes
EEprom nicht reichen. Und die reichen nicht weit, btdt.

In 512Byte bekommt man problemlos ein ganzes Jahr als 8Bit-Wert
tagesgenau aufgelÜst unter. Reicht auch zusätzlich noch fßr den letzten
Tag stundengenau und die letzte Stunde minutengenau. Wobei man dann
zumindest fĂźr letzters dann wieder auf die Schreibzyklenfestigkeit des
EEPROMs schauen sollte.

Gerald
 
Gerald.Oppen@web.de (Gerald Oppen) am 21.07.19:

Bringt keinen
Mehrwert wenn der Sensor nicht auch unabhängig vom Server betrieben
wird

Genau das ist ja der Punkt, den ich angesprochen habe. Wenn der Host
keine Ausfälle hat und stets wie gewünscht abfragen kann, braucht man
keine Uhr im Arduino. Mein Gedanke zielte halt auf den Fall, daß der
Host eben /nicht/ stets wie gewünscht verfügbar ist. Blätter mal
zurück. Dann ist eine Uhr im Arduino nützlich.

Und mein nächster Gedanke war halt, daß man *gar* keinen Arduino
benötigt, wenn der Host sowieso stets wie gewünscht verfügbar ist,
sondern dann irgendeine Mimik am PC ausreicht, die den Reedkontakt
abfragt. Früher(tm) hätte man was mit einem Optokoppler (wegen der
galvanischen Trennung) und einem Druckerportpin oder der RS232
gemacht. Heute halt einen Übersetzer auf USB.

> Vielleicht reden wir auch aneinander vorbei -

:)

Ich rede von Datum
und Uhrzeit auf die man im Sensor verzichten kann. Der Zählertakt
für das Zeitintervall muss natürlich schon hinreichend genau sein.
Das sollte aber bei einem quarzgetakteten uC kein Thema sein.

100ppm vs. 2-3ppm bei einer tauglichen RTC.

Bei mindestens täglicher Abfrage, also keine wochenlangen Pausen, ist
der Arduino mit Quarz genau genug, kein Thema.

Kommt auf die Anforderungen an. Wenn es nur um den
Monatsniederschlag geht spielt es keine Rolle wie häufig und
regelmässig ich den Wert über den Monat verteilt auslese.

Klar. Ich hatte aber das OP so verstanden, daß eben auch Zeiten und
Mengen von einzelnen Wolkenbrüchen erfaßt werden können sollten. Kann
mich latürnich geirrt haben.

Rainer

--
Wer glaubt, ein Roulettetisch hätte ein Gedächtnis oder die CPUs
hätten sich abgesprochen, ist offensichtlich ein paar Synapsen zu kurz
gekommen. (Benjamin Stenzel in de.comp.hardware.cpu+mainboard.amd
zum Thema Ausfallwahrscheinlichkeit bzw. Lebensdauer von Komponenten)
 
Marte Schwarz <marte.schwarz@gmx.de> wrote:
Hi Gerrit,

100k Zyklen sind im Minutentakt erschreckend schnell verbraucht.

Ja, 1440 min pro Tag, nach 70 Tagen ist rum. Bei 1 Mio. wären es 700 Tage.

Ich weiss ja nicht, wie wertvoll die Niederschlagsdaten sind. Ich wĂźrde
eben einmal pro Stunde oder auch einmal pro Tag die Daten vom RAM ins
EEPROM schieben und den Rest im RAM halten. Und wenn dann tatsächlich
mal was schief gehen sollte, dann ist ein Datensatz verloren. Meine Welt
geht davon nicht unter.

Wenn man nur bei Änderungen abspeichert, sind es (ausser im Regenwald)
deutlich weniger Daten zu schreiben. Bei Verwendung eines Ringpuffers sollte
auch regelmässiges Schreiben kein Problem sein. Bei 100k Zyklen und 128 Bytes
EEPROM kann man alle Minute 1 Byte ändern und das ca. 24 Jahre lang; bei
2 Bytes _nur_ 12 Jahre lang.


--
Dipl.-Inform(FH) Peter Heitzer, peter.heitzer@rz.uni-regensburg.de
 
Gerald Oppen <Gerald.Oppen@web.de> wrote:
Am 20.07.19 um 12:40 schrieb Marc Haber:
Andreas Neumann <an5275@sedo.com> wrote:
Heinz Schmitz wrote:

Zur Eichung lässt sich dann diese Webseite hervorragend verwenden:
[snip]

Kaum, dafĂźr wohl eher diese Seite:
https://www.ptb.de/cms/

Dunkel sind Deiner Worte Sinn. Die PTB bietet historische
Niederschlagsdaten an?

Stichwort "Eichen".
Der NormalbĂźrger eicht nicht, der kalibriert.
Wenn es um Eichen geht ist die PTB der Ansprechpartner...

oder die Baumschule ;-)

--
Dipl.-Inform(FH) Peter Heitzer, peter.heitzer@rz.uni-regensburg.de
 
Uwe Borchert <wetterfrosch@yahoo.com> wrote:
Am 21.07.19 um 11:16 schrieb Marc Haber:
Rainer Knaepper <rainerk@smial.prima.de> wrote:
Wobei... der aktuell hier stattgefundene SchĂźttregen dauerte gerade
einmal 15 Minuten. Wenn man solche Peaks erfassen will, muß man wohl
doch Ăśfters zeitstempeln ;-)

... kann diese aber im RAM zwischenlagern. Regen und Stromausfall
zusammen ist ein Risiko das ich in Kauf nehme.

Warum ßberhaupt Zeitstempeln? Ich muss doch nur Impulse zählen und
die BlackBox liefert mir auf Anfrage die Impulse bzw die umgerechnete
Regenmenge zurĂźck?

FĂźr den Fall dass ich die Daten mal nicht zeitnah abhole wegen irgend
einer StĂśrung im nachgelagerten System.

Wieviel Liter pro m² fielen dann in diesen 15 Minuten?

Also ich wĂźrde da mit nicht mehr als 100 mm Niederschlag ausgehen.
Das wäre fßr die meisten mitteleuropäischen Messstationen mehr als
ein Zehntel des Jahresniederschlags. Extremere Extremregen mit einem
Tagesniederschlag als ein Zehntel des Jahresniederschlages sollte
es wohl kaum gegeben haben? Sehen wir mal beim DWD nach? Lassen
wir uns Google helfen?

Wenn wir mal die Oberlehrerheit stecken lassen und den Thread komplett
lesen, dĂźrte man sehen, dass der OP sich darĂźber durchaus Gedanken
gemacht hatte und in seinem OP bereits eine Überschlagsrechnung
gemacht hatte. Das könnte dann zum Schluß führen, es hätte sich um
eine rhethorische Frage gehandelt.

Hab ich schon mal erzählt, dass
die Seminarräume des Instituts fßr Meteorologie und Klimatologie
im Karlsruhe im obersten, den 13. Stock, des Physikhochhaus sind?

Nein, hattest Du nicht. Sicher eine schĂśne Location.

Serverraum im Keller. Flutsicherer dĂźrfte das Gartenhaus sein, wenn es
nicht weggeblasen wird. Dann ist allerdings auch der Regenmesser mit
weg, der ist am Gartenhaus montiert.

Den Server im Keller kannst Du doch auch nach Oben setzen?

Das Virtualisierungsnotebook ist auf TastaturhĂśhe, das dĂźrfte so 100
cm sein. Ein späterer "richtiger" Server wird weiter unten sein.

Also
ein hohes Regal in etwa 1m50 HĂśhe? Da wĂźrde ich auch Router ggf.
vorhandene NAS und USV hinhängen. Und die Steckdosen erst recht!

Ich weiß Deine Meinung zu schätzen, aber Rechenzentrumsbau ist _mein_
Geschäft.

Grüße
Marc
--
-------------------------------------- !! No courtesy copies, please !! -----
Marc Haber | " Questions are the | Mailadresse im Header
Mannheim, Germany | Beginning of Wisdom " |
Nordisch by Nature | Lt. Worf, TNG "Rightful Heir" | Fon: *49 621 72739834
 
Rainer Knaepper <rainerk@smial.prima.de> wrote:
Und mein nächster Gedanke war halt, daß man *gar* keinen Arduino
benĂśtigt, wenn der Host sowieso stets wie gewĂźnscht verfĂźgbar ist,
sondern dann irgendeine Mimik am PC ausreicht, die den Reedkontakt
abfragt. Frßher(tm) hätte man was mit einem Optokoppler (wegen der
galvanischen Trennung) und einem Druckerportpin oder der RS232
gemacht. Heute halt einen Übersetzer auf USB.

Der "Host" läuft, blätter mal zurßck, in Virtualisierung und steht 35
Meter Leitungslänge entfernt, da mÜchte ich mich nicht mit
hineingereichtem USB-Geraffel abkämpfen muss.

Es gibt noch einen Banana Pi, dem trau ich nicht zu, das kurze "Klick"
des in der Mitte des Wippenweges montierten Reedkontakts sauber
abzugreifen. Da mĂźsste man also noch Elektronik einbauen, die den
Kontakt entweder latcht oder jedes Klick in eine Flanke ummĂźnzt. Dann
lieber einen Arduino.

Ich hoffe, dass ich die 35 Meter Leitungsweg auf der analogen Seite
des Arduino unterbringen kann. Wenn das nicht funktioniert, muss der
Arduino halt raus ins Gartenhaus.

Kommt auf die Anforderungen an. Wenn es nur um den
Monatsniederschlag geht spielt es keine Rolle wie häufig und
regelmässig ich den Wert ßber den Monat verteilt auslese.

Klar. Ich hatte aber das OP so verstanden, daß eben auch Zeiten und
Mengen von einzelnen Wolkenbrüchen erfaßt werden können sollten. Kann
mich latĂźrnich geirrt haben.

"Das Gewitter heute nacht waren nur läppische 3 l/m²"

Grüße
Marc
--
-------------------------------------- !! No courtesy copies, please !! -----
Marc Haber | " Questions are the | Mailadresse im Header
Mannheim, Germany | Beginning of Wisdom " |
Nordisch by Nature | Lt. Worf, TNG "Rightful Heir" | Fon: *49 621 72739834
 
Marc Haber <mh+usenetspam1118@zugschl.us> wrote:
Rainer Knaepper <rainerk@smial.prima.de> wrote:
Und mein nächster Gedanke war halt, daß man *gar* keinen Arduino
benĂśtigt, wenn der Host sowieso stets wie gewĂźnscht verfĂźgbar ist,
sondern dann irgendeine Mimik am PC ausreicht, die den Reedkontakt
abfragt. Frßher(tm) hätte man was mit einem Optokoppler (wegen der
galvanischen Trennung) und einem Druckerportpin oder der RS232
gemacht. Heute halt einen Übersetzer auf USB.

Der "Host" läuft, blätter mal zurßck, in Virtualisierung und steht 35
Meter Leitungslänge entfernt, da mÜchte ich mich nicht mit
hineingereichtem USB-Geraffel abkämpfen muss.

Es gibt noch einen Banana Pi, dem trau ich nicht zu, das kurze "Klick"
des in der Mitte des Wippenweges montierten Reedkontakts sauber
abzugreifen. Da mĂźsste man also noch Elektronik einbauen, die den
Kontakt entweder latcht oder jedes Klick in eine Flanke ummĂźnzt. Dann
lieber einen Arduino.

Ich hoffe, dass ich die 35 Meter Leitungsweg auf der analogen Seite
des Arduino unterbringen kann. Wenn das nicht funktioniert, muss der
Arduino halt raus ins Gartenhaus.
Wenn du durch den Reedkontakt einen kleinen Strom von ca. 5 mA in die
LED eines Optokoppler fliessen lässt, sollten die 35 Meter kein Problem sein.

--
Dipl.-Inform(FH) Peter Heitzer, peter.heitzer@rz.uni-regensburg.de
 
Am 18.07.2019 um 19:43 schrieb Marc Haber:

Komme ich mit dieser Hardware aus, wenn ich das Protokoll aufbohre und
nicht nur die Anzahl, sondern die Zeitstempel der seit der letzten
Abfrage aufgelaufenen Impulse haben mĂśchte? Dann brauche ich irgend
eine Art Uhr in dem Gerät, die man mit einer Übertragung bei der
Abfrage mit dem Client synchronisieren kĂśnnte.

Oder gibt es einen anderen LĂśsungsansatz?

Grüße
Marc

Eigentlich ist das natĂźrlich vĂśllig Ăźbertrieben, aber da der Kram
praktisch nichts mehr kostet, spendiert ich in solchen Fällen (wenn
Empfang da ist) ein China-GPS-Modul für wenige Euro und muß mich um das
Thema Uhrzeit nicht mehr kĂźmmern.

Im konkreten Fall wĂźrde ich einen WEMOS D1 MINI und einen NEO-6M Klon
vom freundlichen Chinesen verbauen und das Ganze per WLAN anbinden....

--
Ich muss nicht kultiviert *aussehen* - ich bin es.

Profiklaus in d.r.f.
 
On 23 Jul 19 at group /de/sci/electronics in article qh683p$o08$1@news1.tnib.de
<mh+usenetspam1118@zugschl.us> (Marc Haber) wrote:

Rainer Knaepper <rainerk@smial.prima.de> wrote:
Und mein nächster Gedanke war halt, daß man *gar* keinen Arduino
benötigt, wenn der Host sowieso stets wie gewünscht verfügbar ist,
sondern dann irgendeine Mimik am PC ausreicht, die den Reedkontakt
abfragt. Früher(tm) hätte man was mit einem Optokoppler (wegen der
galvanischen Trennung) und einem Druckerportpin oder der RS232
gemacht. Heute halt einen Übersetzer auf USB.

Der "Host" läuft, blätter mal zurück, in Virtualisierung und steht 35
Meter Leitungslänge entfernt, da möchte ich mich nicht mit
hineingereichtem USB-Geraffel abkämpfen muss.

Es gibt noch einen Banana Pi, dem trau ich nicht zu, das kurze "Klick"
des in der Mitte des Wippenweges montierten Reedkontakts sauber
abzugreifen. Da müsste man also noch Elektronik einbauen, die den
Kontakt entweder latcht oder jedes Klick in eine Flanke ummünzt. Dann
lieber einen Arduino.

Ich hoffe, dass ich die 35 Meter Leitungsweg auf der analogen Seite
des Arduino unterbringen kann. Wenn das nicht funktioniert, muss der
Arduino halt raus ins Gartenhaus.

Und warum den (Reed)Kontakt des Regenmessers nicht ins Haus verlegen?
so. Rainer...

Für Sicherheitsfanatiker wg. mir zwischen 4 und 20mA Schleifenstrom über
verdrillte DA umschaltend?
Wenn man gaaaaanz sicher gehen will, dann Reed -> Trani -> Haus -> Logik
mit Erkennung von Linienstrom... Sowas hab ich schon für KKW und im
Walzwerk mit 800m Kabellänge gemacht.

Denk dran, das (Reed)Kontakte übelst prellen. Bei Reed durchaus im kHz
Bereich. Dagegen helfen Quecksilber benetzte Kontakte oder gleich ein (IR)
Optoklopper-Lichtschranke mit Fähnchen an der Messwippe. Kann man auch aus
alten Floppy Laufwerken recyclen. Und keinen Ärger mehr mit
verschweissenden Reed (Kabel L und C lassen grüssen)

Reed sind nicht immer seeligmachend und schon garnicht, wenn man die
möglichen Schwachstellen bei Kontakten beachtet.

Aber fürn Regenmesser würde ich mir keinen Kopp machen. Eher um
Bastelfreudige Piepmätze (Papagei) oder Insekten (Schlupfwespen, Spinnen),
zumindest hier in PY.
Keas in AUS sollen auch üble Saboteure sein :)







Saludos (an alle Vernünftigen, Rest sh. sig)
Wolfgang

--
Ich bin in Paraguay lebender Trollallergiker :) reply Adresse gesetzt!
Ich diskutiere zukünftig weniger mit Idioten, denn sie ziehen mich auf
ihr Niveau herunter und schlagen mich dort mit ihrer Erfahrung! :p
(lt. alter usenet Weisheit) iPod, iPhone, iPad, iTunes, iRak, iDiot
 
On 23 Jul 19 at group /de/sci/electronics in article gpo7jjFbk73U1@mid.individual.net
<usenet@nerdcraft.de> (Eric Bruecklmeier) wrote:

Am 18.07.2019 um 19:43 schrieb Marc Haber:


Komme ich mit dieser Hardware aus, wenn ich das Protokoll aufbohre und
nicht nur die Anzahl, sondern die Zeitstempel der seit der letzten
Abfrage aufgelaufenen Impulse haben möchte? Dann brauche ich irgend
eine Art Uhr in dem Gerät, die man mit einer Übertragung bei der
Abfrage mit dem Client synchronisieren könnte.

Oder gibt es einen anderen Lösungsansatz?

Grüße
Marc


Eigentlich ist das natürlich völlig übertrieben, aber da der Kram
praktisch nichts mehr kostet, spendiert ich in solchen Fällen (wenn
Empfang da ist) ein China-GPS-Modul für wenige Euro und muß mich um das
Thema Uhrzeit nicht mehr kümmern.

Im konkreten Fall würde ich einen WEMOS D1 MINI und einen NEO-6M Klon
vom freundlichen Chinesen verbauen und das Ganze per WLAN anbinden....

So gehts auch ohne viel Bastelei, allerdings sollten die Besonderheiten
von Reed beachtet werden.


Saludos (an alle Vernünftigen, Rest sh. sig)
Wolfgang

--
Ich bin in Paraguay lebender Trollallergiker :) reply Adresse gesetzt!
Ich diskutiere zukünftig weniger mit Idioten, denn sie ziehen mich auf
ihr Niveau herunter und schlagen mich dort mit ihrer Erfahrung! :p
(lt. alter usenet Weisheit) iPod, iPhone, iPad, iTunes, iRak, iDiot
 
Am 23.07.2019 um 14:16 schrieb Wolfgang Allinger:
On 23 Jul 19 at group /de/sci/electronics in article gpo7jjFbk73U1@mid.individual.net
usenet@nerdcraft.de> (Eric Bruecklmeier) wrote:

Am 18.07.2019 um 19:43 schrieb Marc Haber:


Komme ich mit dieser Hardware aus, wenn ich das Protokoll aufbohre und
nicht nur die Anzahl, sondern die Zeitstempel der seit der letzten
Abfrage aufgelaufenen Impulse haben mĂśchte? Dann brauche ich irgend
eine Art Uhr in dem Gerät, die man mit einer Übertragung bei der
Abfrage mit dem Client synchronisieren kĂśnnte.

Oder gibt es einen anderen LĂśsungsansatz?

Grüße
Marc


Eigentlich ist das natĂźrlich vĂśllig Ăźbertrieben, aber da der Kram
praktisch nichts mehr kostet, spendiert ich in solchen Fällen (wenn
Empfang da ist) ein China-GPS-Modul für wenige Euro und muß mich um das
Thema Uhrzeit nicht mehr kĂźmmern.

Im konkreten Fall wĂźrde ich einen WEMOS D1 MINI und einen NEO-6M Klon
vom freundlichen Chinesen verbauen und das Ganze per WLAN anbinden....

So gehts auch ohne viel Bastelei, allerdings sollten die Besonderheiten
von Reed beachtet werden.

Ich dachte, Basteln und dabei Lernen wäre der Sinn der Veranstaltung.
Andernfalls kÜnnte man sich einfach ein fertiges Gerät kaufen...
 
mh+usenetspam1118@zugschl.us (Marc Haber) am 23.07.19:

Rainer Knaepper <rainerk@smial.prima.de> wrote:
Und mein nächster Gedanke war halt, daß man *gar* keinen Arduino
benötigt, wenn der Host sowieso stets wie gewünscht verfügbar ist,
sondern dann irgendeine Mimik am PC ausreicht, die den Reedkontakt
abfragt. Früher(tm) hätte man was mit einem Optokoppler (wegen der
galvanischen Trennung) und einem Druckerportpin oder der RS232
gemacht. Heute halt einen Übersetzer auf USB.

Der "Host" läuft, blätter mal zurück, in Virtualisierung und steht
35 Meter Leitungslänge entfernt, da möchte ich mich nicht mit
hineingereichtem USB-Geraffel abkämpfen muss.

Es gibt noch einen Banana Pi, dem trau ich nicht zu, das kurze
"Klick" des in der Mitte des Wippenweges montierten Reedkontakts
sauber abzugreifen. Da müsste man also noch Elektronik einbauen,
die den Kontakt entweder latcht oder jedes Klick in eine Flanke
ummünzt. Dann lieber einen Arduino.

Blätter mal zurück. /Mein/ Ansatz war, den Arduino das Logging
komplett incl. Zeiterfassung erledigen zu lassen und den Host nur die
fertigen Daten abholen zu lassen. Komplett asynchron. Das wurde mir
als überflüssiger Aufwand ausgelegt.

Ich hoffe, dass ich die 35 Meter Leitungsweg auf der analogen Seite
des Arduino unterbringen kann.

4-20mA, galvanische Trennung per Optokoppler. Kann man mit etwa sechs
Bauteilen plus Steckernetzteil machen. Wenn du garantieren kannst, daß
der Reedkontakt niemals klemmt (bzw. die Wippe über dem Kontakt
hängenbleibt): 0-20mA und Batterie. (wenn der mal klemmt, würde halt
die Batterie zügig leergelutscht). 4-20 hätte den Vorteil, daß du eine
Leitungsunterbrechung detektieren könntest, würde aber, je nach
Auswertung, entweder einen analogen Eingang oder zwei digitale
erfordern. Für deine Anwendung wäre aber wohl 0-20 an einem digitalen
Pin hinreichend.



Kommt auf die Anforderungen an. Wenn es nur um den
Monatsniederschlag geht spielt es keine Rolle wie häufig und
regelmässig ich den Wert über den Monat verteilt auslese.

Klar. Ich hatte aber das OP so verstanden, daß eben auch Zeiten
und Mengen von einzelnen Wolkenbrüchen erfaßt werden können
sollten. Kann mich latürnich geirrt haben.

"Das Gewitter heute nacht waren nur läppische 3 l/m˛"

Na also.

Rainer

--
(damals...) Wer Spitzenleistung braucht, kauft SCSI. Wem SCSI zu
teuer ist, der braucht keine Spitzenleistung.
(Richard Könning in d.c.h.l.f)
 
Gerald Oppen schrieb:
Am 20.07.19 um 12:40 schrieb Marc Haber:
Andreas Neumann  <an5275@sedo.com> wrote:
Heinz Schmitz wrote:

Zur Eichung lässt sich dann diese Webseite hervorragend verwenden:
[snip]

Kaum, dafĂźr wohl eher diese Seite:
https://www.ptb.de/cms/

Dunkel sind Deiner Worte Sinn. Die PTB bietet historische
Niederschlagsdaten an?

Stichwort "Eichen".
Der NormalbĂźrger eicht nicht, der kalibriert.
Wenn es um Eichen geht ist die PTB der Ansprechpartner...

Normalerweise justiert er, d.h. dreht wild an Trimmern rum, bis
der gewĂźnschte[sic] Wert angezeigt wird. Fortgeschrittene peilen
den wahren Wert an.

Kalibrieren ist wenn man ein Normal anschliesst, und dann notiert,
was das Gerät anzeigt, oder was es zuviel anzeigt, oder zuwenig,
oder der Faktor zwischen was auch immer. Anschliessend geht verloren,
ob man das Vorzeichen jetzt vergessen hatte oder nicht, verwechselt
Zähler mit Nenner, Korrektur mit Korrektion, dreht zur Sicherheit
das Vorzeichen nochmals zuviel um und ist beim nächsten Einsatz so
verwirrt, dass man diesen Abschnitt immer und immer wieder repetiert,
selbstverständlich mit dem Vorsatz, dieses mal wirklich alles ganz
genau aufzuschreiben.

--
mfg Rolf Bombach
 
Hallo Marc,

Du schriebst am Tue, 23 Jul 2019 08:05:09 +0200:

Es gibt noch einen Banana Pi, dem trau ich nicht zu, das kurze "Klick"
des in der Mitte des Wippenweges montierten Reedkontakts sauber
abzugreifen.

Hat der keine interruptfähigen GPIOs wie die Raspberrys?

abzugreifen. Da mĂźsste man also noch Elektronik einbauen, die den
Kontakt entweder latcht oder jedes Klick in eine Flanke ummĂźnzt. Dann
lieber einen Arduino.

Warum mit einem Pull-Up-Widerstand zufrieden sein, wenn man auch gleich
einen ganzen Mirocontroller mitsamt Peripherie einsetzen kann.

> Ich hoffe, dass ich die 35 Meter Leitungsweg auf der analogen Seite

Da gab's ja ein paar Vorschläge -

des Arduino unterbringen kann. Wenn das nicht funktioniert, muss der
Arduino halt raus ins Gartenhaus.

- die alle auch ohne Arduino mit Deiner Banane funktionieren dĂźrften.

--
--
(Weitergabe von Adressdaten, Telefonnummern u.ä. ohne Zustimmung
nicht gestattet, ebenso Zusendung von Werbung oder ähnlichem)
-----------------------------------------------------------
Mit freundlichen Grüßen, S. Schicktanz
-----------------------------------------------------------
 
Am 23.07.2019 um 21:39 schrieb Rolf Bombach:

Kalibrieren ist wenn man ein Normal anschliesst, und dann notiert,
was das Gerät anzeigt, oder was es zuviel anzeigt, oder zuwenig,
oder der Faktor zwischen was auch immer. Anschliessend geht verloren,
ob man das Vorzeichen jetzt vergessen hatte oder nicht, verwechselt
Zähler mit Nenner, Korrektur mit Korrektion, dreht zur Sicherheit
das Vorzeichen nochmals zuviel um und ist beim nächsten Einsatz so
verwirrt, dass man diesen Abschnitt immer und immer wieder repetiert,
selbstverständlich mit dem Vorsatz, dieses mal wirklich alles ganz
genau aufzuschreiben.

Willkommen im Realteil der Wirklichkeit :)
Beim dritten Mal macht man es genau wie man es sich vorher aufgeschrieben hat
und bekommt (wieder) vĂślligen Mist heraus.

Bernd
 
Am 24.07.19 um 08:49 schrieb Marc Haber:
Eric Bruecklmeier <usenet@nerdcraft.de> wrote:
Andernfalls kÜnnte man sich einfach ein fertiges Gerät kaufen...

Ein fertiges Gerät mit Ethernet und Webschnittstelle? Wo gibt's sowas?

Grüße
Marc

Regenmesser alleine wird vielleicht schwierig, aber webafragbare
komplette Wetterstationen gibts doch zu hauf...

--
Ich muss nicht kultiviert *aussehen* - ich bin es.

Profiklaus in d.r.f.
 
Marc Haber <mh+usenetspam1118@zugschl.us> wrote:
Rainer Knaepper <rainerk@smial.prima.de> wrote:
Blätter mal zurßck. /Mein/ Ansatz war, den Arduino das Logging
komplett incl. Zeiterfassung erledigen zu lassen und den Host nur die
fertigen Daten abholen zu lassen. Komplett asynchron. Das wurde mir
als ĂźberflĂźssiger Aufwand ausgelegt.

Nicht von mir, ich werde das genau so machen. Ich habe mir nur nicht
weiter dazu geäußert, um diese Diskussion nicht weiter anzuheizen.
Software und Protokolle kann ich nämlich, das mache ich seit 20
Jahren. In Elektronik bin ich nicht ansatzweise so firm.

Ich hoffe, dass ich die 35 Meter Leitungsweg auf der analogen Seite
des Arduino unterbringen kann.

4-20mA, galvanische Trennung per Optokoppler.

Dann wäre der Optokoppler im Haus und die "lange" Strecke auf der
'äußeren' Seite?
Ja. Neben der galvanischen Trennung hat es aber hauptsächlich den Vorteil der
hĂśheren StĂśrsicherheit. StĂśrungen z.B. durch Kollektorfunken eines
Universalmotors kÜnnen keinen Strom von 5 mA einprägen, der die LED im Optokoppler
"aufleuchten" lässt.

--
Dipl.-Inform(FH) Peter Heitzer, peter.heitzer@rz.uni-regensburg.de
 
Eric Bruecklmeier <usenet@nerdcraft.de> wrote:
>Andernfalls kÜnnte man sich einfach ein fertiges Gerät kaufen...

Ein fertiges Gerät mit Ethernet und Webschnittstelle? Wo gibt's sowas?

Grüße
Marc
--
-------------------------------------- !! No courtesy copies, please !! -----
Marc Haber | " Questions are the | Mailadresse im Header
Mannheim, Germany | Beginning of Wisdom " |
Nordisch by Nature | Lt. Worf, TNG "Rightful Heir" | Fon: *49 621 72739834
 

Welcome to EDABoard.com

Sponsor

Back
Top