• Willkommen im Forum „Wetterstationsforum.info - Archiv“.
 

Neuigkeiten:

Dieses Forum dient ausschließlich zu Archivzwecken.
Für Fragen nutze bitte unser aktuelles Forum, welches du unter https://wetterstationsforum.info findest.

Hauptmenü

Linux: Problem mit WS-2300

Begonnen von martin2, 17.12.2007, 23:22:54

⏪ vorheriges - nächstes ⏩

geiercasi

ja, das verhält sich ähnlich wie bei dir, daher ja mein beitrag zu diesem thema *gg
am ausenempfänger ist kein windmesser angesschloßen. das bs ist suse 10.2.
log2300:
real    0m40.938s
user    0m0.004s
sys     0m0.004s
die log datei wurde nicht geschrieben.

histlog2300:
braucht mal 10 minuten
mal auch nur 3,5.
mal wid die configdatei neu geschrieben und mal nicht.

der rechner wurde neu gebootet, ohne veränderung.
per cronjob wird jede minute das script zum auslesen gestartet. daten kommen nur alle 3 bis 4 minuten an. open2300 belegt ja wärend des auslesens die schnittstelle. ein zusätzlicher ausleseprozess beendet sich normalerweise, da die schnitstelle belegt ist. bei mir laufen aber bis zu 4 prozesse parallel. die schnittstelle wird scheinbar nur kurz belegt. daher denke ich nicht, das es ein problem von /dev/tty0 ist.
schade das es keinen debug modus gibt ;)

gruß

jusch

[Bearbeiteter Beitrag siehe unten]
Downloads auf meiner Website: Wettervorhersage-Freeware und History.dat-Editor/Filetool

jusch

Zitat von: "geiercasi"
log2300:
real    0m40.938s
user    0m0.004s
sys     0m0.004s
die log datei wurde nicht geschrieben.

histlog2300:
braucht mal 10 minuten
mal auch nur 3,5.
mal wid die configdatei neu geschrieben und mal nicht.

Merkwürdig. Die "Configdatei" wird neu geschrieben?
Bist Du sicher, daß der Programmaufruf korrekt erfolgt? Oder machst Du einen Programmaufruf so, daß die ausgelesenen Daten an die Configdatei drangehängt werden sollen statt an die eigentlich beabsichtigte Log-Datei?

Sind die Laufzeiten genauso, wenn Du als User an der Shell angemeldet bist, dauert das dann genau so lange wie in einem Cron-Job?

Also ich habe hier mal was aufgesetzt und meine Laufzeiten sind beim Aufruf an der Kommandozeile:

log2300 log2300.txt
==> läuft knappe 5 Sekunden

histlog2300 histlog.txt
==> läuft ca. eine Minute für 114 auszulesende Datensätze
==> läuft knappe 3 Sekunden, wenn keine neuen Datensätze auszulesen sind

System: NSLU2 mit Unslung-Firmware (Linux-Kernel 2.4.22, xfs Dateisystem), USB-to-Serial Adapter, Betriebsystem läuft momentan zu Testzwecken von einem Memory-Stick gebootet.

Die Programme sind installiert unter:
/opt/bin/log2300
/opt/bin/histlog2300

Die Konfigurationsdatei befindet sich hier unter:
/etc/open2300.conf

Edit: Das Laufzeit-Problem mit log2300 bei ausgefallenem Empfang der Außensensoren (z.B. "kein Windempfang") kann ich nachvollziehen.

Solange die Außensensoren einwandfrei empfangen werden, läuft log2300 unter 5 Sekunden und macht einen Log-Eintrag. Fehlt der Außensensorempfang, läuft log2300 ca. 3 Minuten.
Downloads auf meiner Website: Wettervorhersage-Freeware und History.dat-Editor/Filetool

geiercasi

Zitat von: "jusch"
Merkwürdig. Die "Configdatei" wird neu geschrieben?
Solange die Außensensoren einwandfrei empfangen werden, läuft log2300 unter 5 Sekunden und macht einen Log-Eintrag. Fehlt der Außensensorempfang, läuft log2300 ca. 3 Minuten.

ich meinte nicht die cof datei, sondern die log datei...

morgen wird mal der windsensor angeschloßen, mal gucken wie die zeiten dann aussehen.

ich nutze übrigens mysql2300. log2300 wurde nur kurz für dich getestet. schade das mysqlhist2300 nicht mit weather-office arbeitet. damit ging zwar das auslesen nicht schneller, aber es wurden mehrere datensätze geschrieben. somit war wenigstens das loggen der daten alle 60 sek möglich. naja, evntl hilft ja der windsensor weiter.

gruß, danke und bis morgen *g

Lazarus Long

Hallo,

vielleicht liest, aus mir nicht bekannten Gründen, hist2300 alle Daten aus der Station aus. Und wenn die voll ist, oder einige Daten (Wind) nicht hat, dauert es eben.

Eine Umgehung wäre dann wirklich, mittesl log2300 eine Datei mit immer einer Zeile zu beschrieben, die man dann mit einem MySQL-Ladeprogramm in die DB schaufelt.

Unsauber, unschön, aber vielleicht eine Hilfe.
;-)
Das leben ist Lang
Das Wetter ist schön(?) ;-)

Lazarus Long

Berlin: http://www.lichterfelde-ost.de/Wetter.php Vantage 2 Pro

martin2

Zitat von: "geiercasi"am ausenempfänger ist kein windmesser angesschloßen.
Dann würde ich jetzt direkt mal vorschlagen, dass wir nunmehr den Windmesser
als Fehlerquelle auch austesten. Ich nehme an, dass nichts dagegen spricht,
den Windmesser da an die Außenstation anzuschließen: Lege ihn irgendwo hin,
wegen mir ins Zimmer. Oder lasse ihn in der Kiste. Messen muss er nichts -
Hauptsache, er ist angeschlossen.

Sodann die Basisstation mal für eine Minute vom Stromnetz trennen - dann
wieder anschließen: Und 5sec das "Plus" drücken ... warten, dass da wirklich
auch Kontakt zu den Aussensensoren besteht sowie der Zeitsender empfangen wird.
Könnte etwas dauern.

Und dann nochmals ein "reboot".

Wie sieht es dann aus bei Dir?

Martin

martin2

Zitat von: "Lazarus Long"vielleicht liest, aus mir nicht bekannten Gründen, hist2300 alle Daten aus der Station aus.
Ich kann bestätigen, dass histlog2300 die History ausliest und bei dieser Ge-
legenheit in der Basisstation auch löscht. Zumindest habe ich deutlich diesen
Eindruck: Der nächste Aufruf präsentiert ein leeres Ergebnis.
(Nicht auszuschließen ist dabei, dass histlog nicht löscht - sondern sich merkt,
was es ausgelesen hat.) Aus Sicht des Linux-Servers ist es aber eine Löschung (!).

Ob in einem anderen Speicher der Wetterstation der neueste Datensatz trotzdem
erhalten bleibt: Das vermag ich nicht zu sagen.

Zitat von: "Lazarus Long"Und wenn die voll ist, (...) dauert es eben.
Das ist deutlich zu bezweifeln!
Wie einer meiner Vorredner (der mich da antestete) durchaus richtig sagte,
werden derartige History-Speicher typisch als Ringspeicher angelegt: Es
gibt einen definierten Speicherraum -sagen wir mal- 50 Datensätze. Sodann
gibt es einen Zeiger: Der zeigt auf den ältesten Datensatz - dieser wird dann
für den einkommenden Datensatz überschrieben. Das kann nicht das Problem
sein.

BTW:
Irgendwo in den Tiefen dieses Forums schlummert ein recht interessanter
Beitrag: Ein Nutzer mit Linux hatte die Ausleserei komplett via histlog
realisiert - nur dadurch kam ich auf die Idee, mein (nun gelöstes) Problem
via histlog anzugehen ... und dort schnell zu scheitern, da die Doku
ja so grottenschle... ich wiederhole mich.  :oops:

BTW-2:
Sofern wir den Herrn finden und er hier im Forum noch aktiv ist, könnte man
darüber nachdenken, der Moderation ein Unterforum Allgemeine Software/Linux
zur Einrichtung vorzuschlagen.

Martin

geiercasi

Zitat von: "martin2"
Ich nehme an, dass nichts dagegen spricht,
den Windmesser da an die Außenstation anzuschließen

nichts wirklich schlimmes, nur die leiter *gg

Zitat von: "martin2"
warten, dass da wirklich
auch Kontakt zu den Aussensensoren besteht sowie der Zeitsender empfangen wird.

zeitsender ?

Zitat von: "martin2"
Und dann nochmals ein "reboot".

warum denn ein reboot ? nu ist das doch extra eine linux kiste *grins


gruß
carsten

martin2

Zitat von: "geiercasi"
Zitat von: "martin2"
Ich nehme an, dass nichts dagegen spricht,
den Windmesser da an die Außenstation anzuschließen
nichts wirklich schlimmes, nur die leiter *gg
Also im Dienste der Forschung müssen wir alle Opfer bringen ...
Carsten, steig hoch, schliess an.

Zitat von: "geiercasi"
Zitat von: "martin2"
warten, dass da wirklich
auch Kontakt zu den Aussensensoren besteht sowie der Zeitsender empfangen wird.
zeitsender ?
Dir noch nicht aufgefallen?
Deine Basisstation empfängt DCF77 -Klicke! und synchronisierst seine Uhr -
oder eben auch nicht ... mangels Empfang: Wir müssen (auch) ausschließen,
dass fehlender DCF77-Empfang die Ursache allen Übels ist!

Übrigens gibt es da einen recht schönen Seiteneffekt: Die Basisstation empfängt
Atomzeit - und das kann man wunderschön dafür nutzen, die Systemzeit des
Linuxservers darauf anzupassen!

Zitat von: "geiercasi"
Zitat von: "martin2"
Und dann nochmals ein "reboot".
warum denn ein reboot ? nu ist das doch extra eine linux kiste *grins
Etwas mehr Demut bitte.  :nein:

Meine letzten praktischen Erfahrungen mit seriellen Schnittstellen liegen
knapp 15 Jahre zurück. Aber ich erinnere mich recht deutlich, dass es
(auch späterhin) immer das Problem war, dass eine Erkennung nur ging,
wenn zum Zeitpunkt des Startes des Servers/Rechners an der Schnittstelle
schon ein sauberer Datenstrom anlag. - Und das kannst Du halt nur sicher-
stellen, wenn Du einen Reboot des Servers durchziehst - bei antwortfähiger
Peripherie.

Martin

geiercasi

ok, ich werde auch meine "uptime" kürzen *smile.

das mit der atomuhr wusste ich nicht. momentan wird die pc-uhr per ntp übers internet abgeglichen. ist aber per wetterstation die bessere variante, denn sie würde auch ohne internet funktionieren. wie testet man, ob die uhr geht ? sieht man wohl, wenn auf einmal die korrekte zeit auf der station angezeigt wird *g

gruß & n8i