Posts by wend

    starte das Programm mit sudo ./gaszaehler und die Datendatei wird erzeugt und mit Werten gefüllt. Wenn ich jedoch das Powershell-Fenster schließe, werden keine Daten mehr erfasst. Wie kann ich das Programm dauerhaft laufen lassen?

    Das hatte ich oben im Thread schon geschildert. Am besten, Du benutzt das Programm screen dafür. Das kannst Du auch manuell starten, darin dann den gaszaehler starten, dann mit CTRL-A CTRL-D verlassen, und der gaszaehler läuft weiter. Noch besser ist es natuerlich, das ganze per cron-job automatisch zu staerten, immer dann, wenn der Raspberry Pi neu gebootet hat. s.o.


    Manuell:

    Einfach sowas hier eingeben:

    Code
    screen -m -d sudo /home/pi/gaszaehler/src/gaszaehler

    Hm. Nach den 60 Sekunden warten nochmal einen Puls nachschicken und dann abbruch. (?)


    Sicher, dass es der richtige Pin ist? GPIO 27 ?

    Sicher, dass der Widerstand auch 1kOhm ist und nicht etwa >10kOhm ?


    Du kannst probehalber den GPIO auch mal (mit dem 1kOhm Widerstand) mit den 3.3V verbinden. Vielleicht sind die internen Pull-Down widerstaende eingeschaltet....




    Es hat doch mal funktioniert, oder?



    Ansonsten um das zu debuggen, füge in den Programmcode noch zeilen ein wie:


    printf("Hier im If Block\n");


    oder


    printf("Hier im else Block\n");

    Ich nehme an, Du guckst Dir das Datenfile an, während die Datennahme noch läuft.


    Die Datenfiles sind erst dann vollständig, wenn entweder der Tag vorbei ist oder das gaszähler-Programm beendet wurde (CTRL-c).

    An der Konsole kann man das ebenfalls nicht beurteilen, da nicht jede Zeile immer sofort ausgegeben wird.


    Probier mal folgendes:

    gaszaehler programm frisch starten, dann genau 5 Pulse geben, dann mit CTRL-c beenden, dann das File anschauen.


    Beziehungsweise kleine Ergänzung: Der letzte Puls wird sofort in das File geschrieben, wenn der davor mehr als 30 Sekunden her ist.

    Das soll verhindern, dass zu oft auf eine (empfindliche) SD-Karte geschrieben wird. Deshalb werden normalerweise vom Betriebsystem aus immer 4096 Bytes gesammelt, bis die dann auf die SSD geschrieben werden.



    Wenn Du sicher bist, dass es das nicht ist, dann achte noch drauf, dass die System-load < 1 ist, also dass nicht noch zu viele andere Programme das System auslasten. Allerdings ist das bei diesen langsamen Pulsen unwahrscheinlich, dass welche verloren gehen. Da muss der Prozessor schon total überlastet sein.

    Bei mir sieht das (für den Gaszähler) heute so aus:



    Die erste Spalte hat die Sekunden ab Mitternacht UTC. 16559 s ist also ca. 04:35 Uhr.

    In der nächsten Spalte die Zeit seit dem letzten Puls (0-zu-1 oder 1-zu-0) in Sekunden.,

    in der nächsten Spalte die Zeit seit dem letzten Puls mit der gleichen Flanke (0-zu-0 oder 1-zu-1) in Sekunden,

    danach die Flanke des Pulses (0 oder 1),

    dann die Gesamtzahl der bereits gezählten Pulse. (= Zählerstand*100)


    Also: Mein Zählerstand ist heute bei 3150.700 Kubikmeter, und der Verbrauch um 04:40 war etwa bei 31 Kubikmeter/Tag (natürlich nur Kurzzeitig, wenn der Warmwasserbeuler morgens ab 04:35 aufheizt).


    0.01 pro 28 Sekunden, also 0.01/28*60*60*24=30.85...




    Wenn Du den Zählerstand über die Zeit auftragen willst, dann Spalte 5 gegen Spalte 1,

    Wenn Du den Momentanverbauch auftragen willst, dann 1 durch Spalte 3 gegen Spalte 1.

    Hallo toom,

    aus der Fehlermeldung würde ich eher ein permission error rauslesen, aber das mit der Timer-Adresse kann natuerlich auch sein.


    Hast Du gaszaehler mit "sudo" gestartet?


    Probier mal, ob /dev/mem vorhanden ist und lesbar für den user pi. Wenn nicht lesbar, dann muss gaszaehler mit sudo gestartet werden.


    bei mir:

    Code
    crw-r----- 1 root kmem 1, 1 Jul 21  2021 /dev/mem


    Ich starte den gaszaehler mit:


    Code
    screen -m -d sudo /home/pi/gaszaehler/src/gaszaehler

    EIn Teil der Rechner läuft sogar schon mit jessie, aber da ist dasselbe Problem:

    Code
    pi@gaspower:/home/pi>apt-cache policy libssl-dev                        
    libssl-dev:
      Installiert:           1.0.1t-1+deb8u12
      Installationskandidat: 1.0.1t-1+deb8u12
      Versionstabelle:
     *** 1.0.1t-1+deb8u12 0
            500 http://archive.raspbian.org/raspbian/ jessie/main armhf Packages
            100 /var/lib/dpkg/status

    Oder war jessie noch älter?

    Du könntest Dir einen eigenen Mailserver aufbauen, der noch TLS1.0/1.1 entgegennimmt und über den die Mails an Web.de senden.

    Dafür brauchst Du natürlich einen weiteren Pi oder sonst einen kleinen Rechner, hast aber den Vorteil, das die vorhandenen Pi nicht angepasst werden müssen (außer der Mailadresse).

    Interessant wird es dann erst wieder, wenn alle Mailprovider auf 2FA umsteigen (so wie gmail das schon gemacht hat).


    Gruss

    Ja, hab ich auch schon überlegt. Dann wäre es aber einfacher, mir ne andere Mailadresse zu besorgen, wo das TLS 1.0 noch geht. Dann brauche ich nur die zu ändern. Aber das ist wahrscheinlich keine nachhaltige Lösung, wenn die dann auch umstellen. Ist echt mist.



    Wie wärs mit ner Bastellösung: Ich besorg mir nen binary von der neuen libssl, und nenne die dann um? Geht wahrscheinlich auch nicht, wenn sich die API geaendert hat.

    Ja. Das ist suboptimal. ich kann nicht riskieren, das nach einem Upgrade was anderes nicht mehr geht. Die Systeme laufen seit 5 Jahren praktisch wartungsfrei. Trotzdem Danke erstmal. Vielleicht gibt es ja noch andere Ideen? s-nail aus den Quellen kompilieren? Wahrscheinlich wird eine neue TLS library benötigt. Das kann kompliziert werden...

    Hallo zusammen, ich hoffe, es gibt einen Trick: web.de hat mitgeteilt, dass TLS 1.1 nicht mehr unterstützt wird.

    "Deaktivierung der Verschlüsselungs­protokolle TLS 1.0 und TLS 1.1"


    Soweit OK. Nun gehen aber eine Scripte nicht mehr. Dort verwende ich heirloom-mailx und offenbar das alte Protokoll. Ich bekomme:

    Code
    sendmail: Cannot open mail.web.de:587

    Kann man das wieder gängig machen?

    Ja. Du könntest einfach einen kleineren Kondensator verwenden. z.B. 50nF oder 20nF. Dann entläd der sich schneller. Allerdings sind Millisekunden schon recht lange. Da hat der Raspberry Pi wohl einen sehr hohen Innenwiderstand. Welche Version des Pis ist es denn?

    Wenn es nur daran liegt, dann kannst Du du einen echten 50kOhm Widerstand einbauen, so wie im Schaltplan. Aber ich fürchte , dann unterscheiden sich die Zeiten für Hell und Dunkel nicht mehr so gut. ALso würde ich dann den Phototransistor / Photodiode gegen einen anderen tauschen.

    Aus dem Vortrag oben geht hervor, dass die relevanten Partikelgrößen <5µm betragen. Also dachte ich, man haette vielleicht mit dem PM2.5 Signal eine chance. Leider wird nicht so gut erläutert, wie die Messgeräte funktionieren. Und ich konnte nicht herausfonden, auf welche Partikelgrößen die Rauchmelder ansprechen.