Schick muss ich wirklich sagen
Python ist keine schreckliche Sprache, man darf nur nicht verschiedene Editoren verwenden man muss nichts optimieren, wenn es läuft, sonst kannst Du es hinterher nicht mehr lesen.
Schick muss ich wirklich sagen
Python ist keine schreckliche Sprache, man darf nur nicht verschiedene Editoren verwenden man muss nichts optimieren, wenn es läuft, sonst kannst Du es hinterher nicht mehr lesen.
das leben ist hart, aber wir müssen da durch.
Doch, Python _ist_ spooky.
Wird nie mein Liebling werden, ganz sicher nicht.
Aber erstaunlich einfach.
Als Editor hab ich, nach einigem Rumprobieren, Geany benutzt-der ist bei Jessie dabei und mit dem kann man ganz gut arbeiten.
Einziger Nachteil: auf kleinen Displays nicht zu gebrauchen.
Was das optimieren angeht: ja, es läuft.
Aber man könnte vieles eleganter lösen.
Grüssle, Sly
..dem Inschenör ist nix zu schwör..
Inzwischen ist die Wetteranzeige (Wetterstation will ichs nicht nennen, die wissen noch mehr als nur die drei Werte und die Uhrzeit) in Betrieb.
Allerdings gibt es ein merkwürdiges Phänomen: alle zwei bis drei Tage rebootet der Pi.
Da die Anzeige im Autostart ist, ist das weniger schlimm- nach dem Reboot wird sie halt neu gestartet- aber dann fehlen jedes Mal die Daten der letzten 24 Stunden..
Die selbe Software läuft hier daheim übrigens problemlos wochenlang am Stück, auch bevor ich die Anlage am Aufstellort montiert hatte, mit der gleichen Hardware (ausser Display, da hatte ich zu Hause keins dran, da ich per VNC zugreife, und nen anderes Netzteil).
Das jetztige Netzteil ist ein 500mA USB-Netzteil.
Das sollte für den Zero eigentlich mal locker reichen- ausserdem glaub ich nicht, dass das Ding tagelang läuft und dann mal einbricht..?
Soweit ich es nachvollziehen kann (ich komm da auch nicht jeden Tag hin) läuft die Anlage _immer_ länger als 24 Stunden am Stück, und rebootet dann _irendwann_ mal.
Es wird aber weiter entwickelt:
Inzwischen läuft die Software hier zu Hause auf nem 3er Pi, mit 5" HDMI, noch etwas aufgebohrt(der schreibt die Daten schonmal in eine MySql-Datenbank, nur bin ich noch nich so weit gekommen, dass er die auch wieder ausliest).
Auch das läuft seit Wochen am Stück...
Die Aufrüstung auf MySql soll bei einem Reboot das fehlende-Daten-Problem lösen.
Das wird funktionieren, da der Pi weniger als 4 Minuten für nen Reboot braucht, und nur alle 4 Minuten gemessen wird.
Im schlimmsten Fall fehlt dann _ein_ Eintrag in den Diagrammen-das merkt niemand.
Wenn das fertig ist, soll der Zero am Einsatzort das auch bekommen.
Grüssle, Sly
..dem Inschenör ist nix zu schwör..
Sehr schönes Projekt!
Daumen hoch!
Sodele.
Die Wetterstation ist nunmehr seit ungefähr zwei Jahren im Dauereinsatz, und es gibt immer mal wieder Problemchen, aber auch Erfahrungen.
Einige der Problemchen konnte ich lösen, alle aber nicht:
-der Sensor säuft ab und zu (1x im Jahr, so im Schnitt) ab.
Dazu dann noch was...
-die gelegentlichen Reboots gibts im Grunde immernoch, aber das hab ich mit nem Workaround ausreichend fixen können (keine elegante Lösung, aber sie tuts).
-die RTC läuft nicht mehr (seit Umstellung von Jessie auf Buster).
-der Zeitstrahl der Diagramme stimmt nicht ganz mit der Wirklichkeit überein
-es gibt (kleinere) Probleme mit Korrosion
Was den Sensor angeht: es ist ja ein BME 280. Dass die Dinger von Zeit zu Zeit mit Feuchtigkeit gesättigt sind, ist bekannt. Und auch, dass man sie wieder reaktivieren kann. Praktisch äussert sich das so, dass dann dauerhaft 100% Luftfeuchte ausgegeben werden- die beiden anderen Werte stimmen aber.
Inzwischen hab ich es wohl geschafft, einen der Sensoren tatsächlich wieder zu reaktivieren:
-mehrere Stunden im Backofen bei 120° bringt nichts
-mit etwas Hitzeschutz etliche (~10) Stunden über einer Kerzenflamme (da dürften dann so 80-100 Grad sein) funktioniert scheinbar, inzwischen zeigt er durchaus plausible Feuchte-Werte an, seit zwei Tagen.
Ursache ist, dass der Sensor nun mal draussen sein muss, und das, am Standort, auch bei meistens recht räudigem Wetter (800 Höhenmeter, und praktisch auf dem Gebirgskamm). Teilweise tagelang Nebel, Rauhreif, Regen oder Schnee.
Zwar hab ich ihm ein hübsches Wetterhäuschen gedruckt, aber er muss ja ausreichend Kontakt zum Klima haben, um es analysieren zu können.
Komplett einhausen geht also nicht....
Da ich wusste, dass das Ärger geben wird, hab ich ihn austauschbar montiert- der Plan war, den im Falle des Falles einfach gegen nen zweiten auszutauschen, und dann in Ruhe zu reaktivieren.
Damit sind wir beim Korrosions-Problem: um ihn schnell austauschen zu können (das Ding hängt in 3m Höhe an ner Aussenwand...) braucht es ne Steckverbindung. so lange man da nich dran rührt, geht das mit ner normalen Steckleiste (für Leiterplatten), aber nun zickt der Stecker rum.
Mittelfristig werd ich da wohl ne wetterfeste Steckverbindung brauchen...möglichst klein.
Hat da jemand ne Idee?
Einschrumpfen, Plastidip oder so geht nicht..
Das Absturz-Problem hab ich gefixt, indem ich das Python-Programm erweitert hab: die gemessenen Werte, die in den Diagrammen für die letzten 24 Stunden angezeigt werden, schreib ich nun in ne Datei auf der SD-Karte. so sind die auch _nach_ nem Neustart wieder verfügbar.
Der wird per Crontab nachts um 0.01°° ausgeführt.
Beim Start der Wetterstation (via Autostart) werden diese Dateien einfach wieder eingelesen.
Somit merkt man, wenn man nicht gerade genau zu Mitternacht vor dem Ding steht, gar nichts mehr von Neustarts.
Ein weiteres Problem war, dass ab und zu der Sensor nicht gefunden wird (beim Neustart), woraufhin das Python-Programm kurzerhand beendet wurde.
Inzwischen nicht mehr: wird der Sensor nicht gefunden, werden einfach nur --- angezeigt, und ne Minute später wird es wieder versucht.
So kann die Software Wackelkontakte quasi selber reparieren..
Vielleicht erweitere ich das noch, dass, wenn 10 Minuten keine Wetterdaten verfügbar sind. irgendwelche Infos für die Touristen (für die steht das Ding ja da) ausgegeben werden,
Veranstaltungstermine oder was...
Die RTC bekomme ich ums Verrecken nicht unter Buster zum laufen- aber eigentlich gehts auch ohne. Man muss halt _einmal_ die Uhrzeit richtig stellen am Pi (geht prima mit nem Bluetooth-Keyboard), dadurch, dass er nicht mehr komplett hängen bleibt, funktioniert das so.
Einmal im Jahr wieder stellen, reicht und ist zu ertragen. Oder nach nem Stromausfall...
Mittel-bis langfristig ist der Plan, den am Standort ins Internet zu bekommen.
Dann könnte man die Wetterdaten auch online verfügbar machen..
Für den Aussensensor hatte ich mal vor Jahren _irgendwo_ eine Membran entdeckt, die ihn einerseits schützen soll, aber andererseits das Wetter noch ran lässt- leider weiss ich nicht mehr, was das für Zeug war, bzw. woher man es kriegen konnte.
Weiss dazu jemand was?
Goretex oder sowas war es nicht (würde nich funktionieren).
Hauptproblem derzeit ist die Steckverbindung zwischen dem Kabel und dem Sensor: so lange man da nix dran rührt, funktioniert es, aber logischerweise sind diese Stift-und Buchsenleisten alles andere als wetterfest. Ich bräuchte nen wasserdichten Stecker, vierpolig, und möglichst klein.
Das, was ich dazu bisher gefunden hab, waren regelrechte Bausätze, wo man teilweise auch noch irgendwelche Spezialzangen braucht zur Montage- das wär übertrieben.
Was könnte man da nehmen?
Die Steckverbindung nach innen verlegen, klappt nicht, das Kabel auszubauen, dauert nen halben Tag..
Was die nicht ganz synchronen Diagramme angeht, da überleg ich mir grade eine Strategie, wie ich dem Übel auf die Spur kommen kann.
Grüssle, Sly
..dem Inschenör ist nix zu schwör..
das hier müsste gehen, DISTRELEC hat es nicht mehr, es gibt aber noch andere lieferanten...
gruß inka
Das Projekt oben gibt es so nicht mehr, aber ich hab das inzwischen zu Hause weiterhin am Laufen.
Allerdings auf nem Pi3, der nebenbei noch ein paar andere Sächelchen macht (MQTT-Broker z.B.).
Hier läuft das Ganze auf nem 5" Display, wird aber mittel-oder langfristig auf nen 7" portiert.
Und: inzwischen hab ich auch hier nen Aussensensor....der läuft seit nunmehr etwa zwei Wochen völlig autonom.
Der Aussensensor besteht aus nem Wemos D1 mini (ESP8266) und nem DHT-22 Feuchte/Temperatursensor.
Das Ding liegt normalerweise im Tiefschlaf, und wacht alle 5 Minuten auf. Dann wird die Wifi-und MQTT-Verbindung hergestellt (das dauert 3-4 Sekunden, die braucht der DHT-Sensor sowieso zum hochfahren), dann wird der Sensor ausgelesen, die Werte via Wlan zum MQTT-Broker geschickt und weiter geschlafen.
Im Tiefschlaf ist auch der DHT-22-Sensor abgeschalten, so komme ich trotz recht hohem Stromverbrauch der ESP-Platine auf lediglich 15mA Stromverbrauch im Durchschnitt.
Das reicht, um den Sensor ungefähr vier Tage mit einer 1500mAh-Batterie zu betreiben.
Da ich den nun aber nicht dauernd rein holen will, zum laden, hab ich noch ne Solarzelle und ne Ladeelektronik drauf gepackt.
Ausserdem den Akku gegen einen 18650 mit 3000mAh getauscht.
Sonne bekommt die Solarzelle maximal von Sonnenaufgang bis elf- und es scheint dennoch zu funktionieren.
Gewöhnlich zeigt die Ladeplatine bereits vor dem Mittag dass der Akku voll ist, einmal hats länger gedauert, da war aber auch drei Tage gar keine Sonne zu sehn.
Das Ganze scheint also besser zu funktionieren, als gedacht.
Als nächstes will ich versuchen, mit der Solar-Ladeschaltung nen Sensor mit LoRa zu bauen, da ich das Ding (die Solarzelle ist ungefähr 12x14cm) nich auf dem Dach haben will.
Das kann ich dann in nen Starkasten einbauen und irgendwo an nen Baum hängen....im Umkreis von einigen hundert Metern.
Auch die Python-Software wird in loser Folge weiter aufgebohrt, inzwischen hab ich Sonnenauf- und Untergangs -Zeit, Mondauf- und Untergang und die Mondphasen auf dem Display (dafür sind die Verlaufs-Diagramme erstmal weg, die kommen später vielleicht auf nen zweiten Bildschirm), und es wird die höchste und die tiefste je gemessene Temperatur in ner csv-Datei protokolliert.
Theoretisch könnte man mit dem Gerüst jetzt auch ne komplette Statistik machen, ich will aber nicht zu viel auf der Micro-SD-Karte herum schreiben, daher erstmal nicht.
Grüssle, Sly
..dem Inschenör ist nix zu schwör..
Lesezeichen