Beiträge von Gnom

    Und nun die Wettervorhersage für morgen:
    8.00 - 21,4 °C

    8.01 - 21,4 °C

    8.02 - 21,4 °C

    8.03 - 21,4 °C

    8.04 - 21,5 °C

    8.05 - 21,4 °C

    8.06 - 21,4 °C

    8.07 - 21,4 °C

    ...


    Halt mich für ignorant, aber ich glaube, du verrennst dich da in was. Der Sensor hat ohnehin nur eine Genauigkeit von +/- 0,5°. Dazu kommen Messschwankungen und Störeinflüsse. Was erwartest du in den 5 Mio Messwerten dann zu finden? Klingt mir, als woltest du eine Stecknadel in einem Haufen Stecknadeln suchen. (AHHH, schau, um 7.12 ist die Temperatur von 21,2, auf 21,3° C gestiegen... Könnte aber auch eine Messschwankung sein...)
    Ist denn eine Temperaturveränderung von 0,2 ° für dich ernsthaft interessant? Kann ich mir nicht vorstellen.
    Ich würd in halben (höchstens viertel) Temperaturgraden stufen und nur einen neuen Wert speichern, wenn eine Stufe für mehrere Messungen nacheinander überschritten/unterschritten ist. So filterst du Messstörungen und kurzzeitige Schwankungen raus.
    Alternativ könntest du auch mit einer Hysterese bei der Erfassung arbeiten. Bei fallender Temperatur unter 20,2 ° registriert er 20 °. Erst bei 20, 3 geht er wieder auf 20,5 ° - also eine Hysterese von 0,1 °.
    Auf beide Arten erhältst du nur die relevanten Messwerte, wenn sich die Temperatur wirklich verändert und nicht hunderttausende gleichartiger Messwerte mit geringfügigen Schwankungen, die sich mit stromsparenden Batteriegeräten nicht handhaben lassen. Die wenigen Messwerte, die letztlich relevant sind, kann der ATmega speichern und gelegentlich per Funk übertragen. Und du verlierst dabei auch keine wesentliche Information. Wenn um 8.23 die Temperatur "schlagartig" von 21,1 auf 21,3 ° ansteigt, wird das erfasst (jedoch nicht bei 20,8° auf 21,2° - was beides als 21° C erfasst wird). Man neigt dazu, es "möglichst genau" zu haben - aber was bringts, wenn man dann am Ende nur noch das Rauschen des A/D-Wandlers analysiert.

    Du kannst prinzipiell auch den ESP auf sehr geringen Stromverbrauch trimmen - vorausgesetzt, du überträgst nicht in kurzen Abständen Daten per WLAN, denn das Funkmodul ist der eigentliche Stromfresser. Trotzdem denke ich, dass man mit einem ATmega weiter kommt.

    Minütliche Messung ist bei Raumtemperaturen wenig sinnig. Jeder Messwert wird wegen Messabweichungen mehr schwanken, als sich die Temperatur real in einer Minute ändert... Vorübergehende Änderungen (z.B. weil jemand vorbeigeht und der Luftzug etwas kühlt) sind auch eher irrelavant.

    Bei 10 Sensoren und minütlicher Messung hast du nach einem Jahr 5 Millionen Messwerte... ich bezweifele, dass das sinnhaft ist und hätte folgende Anregung.

    Überleg mal, ob es nicht doch mit Atmega und Batterie/Akku sinnvoll ist. Lass das Teil im Minutentakt messen und nur relevante Messwertänderungen (z. B. +/- 0,5° K) zunächst im RAM speichern. Alle Stunde überträgst du die Messungen per Funk zum ESP und weiter zum Pi. So solltest du gute Batterielaufzeiten erreichen und zugleich sinnvolle Messdatenmengen erzeugen.


    Ansonsten: Von Selbstbau-Netzteilen würde ich auch dringend abraten. 3-V-Schaltnetzteile sollten sich doch finden lassen. Sonst doch lieber 5 V plus Spannungsregler.

    500 mA ist etwas hoch gegriffen - das Datenblatt sagt 170 mA beim Senden. Es handelt sich dabei aber um sehr kurze Spitzen, die mit einem Kondensator ein Stück weit abgefangen werden. Ein kleineres Netzteil würde also auch genügen.
    Ansonsten spricht nichts gegen die Lösung. Vorteilhaft ist ein Steckernetzteil aus Sicherheitsgründen allemale - im Vergleich mit irgendwelchen mehr oder minder offenen und gefährlichen 220-V-Bastellösungen.


    Wenn ich mich recht erinnere läuft der ESP8266 mit 2,5-3,6 Volt, der BME280 mit 3-5 Volt - vielleicht genügt auch ein 3-V-Netzteil und du sparst dir den Spannungsregler. Einen Versuch wäre es sicher wert.


    Anregung am Rande: Wenn es um mehrere Sensoren in räumlich akzeptabler Nähe geht, die relativ selten (z.B. halbstündlich) Messwerte liefern sollen, bietet sich auch an, stromsparendere Mikrocontroller (z.B. Atmega328P) und Funkmodule (RFM69) zu nehmen und die einzelnen Sensoren doch mit Batterien zu betreiben. Laufzeiten bis zu 2 Jahren sollten kein Problem sein. Ein einzelner netzbetriebener ESP3288 empfängt diese Daten und sendet sie per WLAN weiter.

    Mit Verbrutzeln hat das wenig zu tun.
    Der Pullup (oder Pulldown) hält den EIngang auf 3,3 V(oder 0 Volt), wenn kein anderes (sozusagen stärkeres) Signal am Eingang liegt.
    Schließt du an den Eingang einen Taster der nach GND schaltet, hast du 0 V am Eingang, wenn du den Taster drückst. Wenn du ihn aber nicht drückst, ist nicht definiert, welche Spannung am Eingang liegt, weil er "in der Luft hängt", also nirgends angeschlossen ist. In diesem Fall zieht ein (relativ großer) Pullup-Widerstand den Eingang auf 3,3 Volt.
    Statt der internen, programmierbaren Pullups/-down kann man auch extern physische Widerstände anschließen.

    Es ist ein etwas ungewöhnlicher Ansatz, wenn du das alles mit Shell-Befehlen umsetzen willst.

    Gewöhnlich nutzen Einsteiger Python für die ersten Programmierversuche. Das solltest du vielleicht auch probieren. Python als Programmiersprache bietet dir wesentlich mehr Möglichkeiten und ist bequemer und flexibler als Shell-Scripte.

    Ähmm, wer ist denn hier eigentlich der Threadowner?

    Da sollten wir mal den Streifenhasen fragen, ob es ihm auf ein paar Cent mehr oder weniger ankommt und wo er den Kram einbauen will.

    Wenn z. B. R2 abraucht oder sich einer seiner Anschlüsse löst, hast du 24 V am Pi.

    Da reicht schon ein kleiner Wackler am Breadboard. Und dann gute Nacht.

    Ich hab nichts gegen Spannungsteiler - aber sicherer ist ein Optokoppler auf jeden Fall.
    Wenn ich dran denke, was für ein Dogma hier aus der 2 mA-Grenze für GPIOs gemacht wird, finde ich den Umgang mit 24 V dagegen vergleichsweise fahrlässig.

    Auf der Sicheren Seite bist du mit einem Optokoppler. Dann besteht keine Gefahr, dass du die 24 Volt irgendwie auf den Pi kriegst.
    Wenn dein Signal ein digitales Gleichspannungssignal mit 24 V ist:
    - hundsgewöhnlicher Optokoppler Typ 817

    - Vorwiderstand 6 bis 10 KOhm

    - Eingangswiderstand für den GPIO 1 bis 2 KOhm


    flyppo: Spannungsteiler ist immer gerne gesehen, aber sehr riskant. Wenn die Verbindung zu GND abbricht, sind 24 V am Pi, dann ist er hin.

    Letzteres könnte man ja mal austesten, indem man das Ganze ein paar Tage in ein anderes Gebäude stellt. Am besten ein recht neues mit zeitgemäßer Stromversorgung.


    Testweise mal das Ganze mit einem frischen oder ganz anderen Betriebssystem und in Python aufsetzen, um zu sehen, ob es dann auch noch passiert. Dann würde ich auch auf externe Störungen tippen.


    Testweise mal eine Steckdosenleiste mit Netzfilter vor den Pi klemmen.


    Oder mal abends ein Oszi (sofern vorhanden) anschließen und schauen, ob da was ankommt.


    (Im Datenblatt nachsehen, ob der Sensor in der Gewerkschaft ist... vielleicht verweigert er Nachtarbeit. ;-) )

    Am Rande: Betr die Zeichnung von fred0815 #10.

    Sind 10 nF nicht etwas wenig? Das gibt ne Zeitkonstante von 0,02 ms. Ein hgw-Schalter prellt bis zu mehrere Millisekunden.

    Ich nehme an, das sollte eher µF heißen - dann wären es 20 ms - das klappt eher.

    Ich hab mal ne kleine Testplatine mit entprellten Tastern gelötet - da hab ich sogar 100 µF genommen. Klappt prima.

    Hm... Relais-Ausgang... ja, man kann mit dem Ausgang alles mögliche Schalten, auch Relais/Türschlösser oder so.

    Nur der vermeintliche Eingang sagt mir nichts. Könnte sein, dass das Ding auf eine bestimmte Frequenz reagiert...

    Unabhängig von dem Hochfrequenzkram, der an den Pins 2 und 3 hängt...

    Die kleine Schaltung rechts von Pin 4 legt 5 V an den Eingang 2 des Logic-Arrays (GAL20V8). Wenn du pin 4 und 5 kurzschließt, wird dieser Eingang auf low gezogen. Vielleicht ist das die Pager-Ansteuerung, die du meinst.

    Rechts ist relativ einfach: Es ist eine oder vielmehr es sind zwei Open-Collector-Schaltungen. Also im Grunde nur zwei Schalter, die die Codeschloss-Elektronik schalten, indem sie S1 oder S2 nach GND (S0) durchschalten. Welche Ströme dort fließen, wird durch die dranhängende Schaltung bestimmt. Vermutlich werden damit nur zwei Eingänge der Codeschlosselektronik gesteuert.


    Der linke Teil sagt mir nicht viel. Scheint irgendwas hochfrequentes zu sein. Preamp? Ein Vorverstärker? Ist das ein Audiogerät?

    Das liegt dann ja beim TO, wie er das Sognal weiter verarbeitet. Sicher kommt da ein mehr oder weniger zyklisches Signal raus. Ein Interrupt würde dann womöglich 100 mal in der Sekunde ausgelöst - sicher sollen dann nicht 100 Nachrichten an Alexa gesendet werden... Auch dann nicht, wenn jemand Sturm läutet und in fünf Sekunden 20 mal auf den Knopf drückt. Das muss also sowieso durch die Software abgefangen werden.

    Wenn das Signal gepullt wird, spielt es eh eine geringere Rolle (sollte nur sicher sein, dass beim Pullen nicht gerade das Wellental erwischt wird...)

    An dem einen Kondensator, der sich zur Glättung noch anbietet, wird der TO hoffentlich nicht scheitern.