Raspberry CPU Temperatur auslesen und übergeben

Einklappen
X
 
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge
  • roadi
    MS Profi
    • 26.08.2015
    • 558

    #1

    Raspberry CPU Temperatur auslesen und übergeben

    Hallo Leute

    Ich würde gerne die Temperatur meiner Raspis auslesen und dann per virtuellen Eingang meine Rack-Lüfter steuern.

    Ist das für einen absoluten Raspi Anfänger wie mich lösbar?

    Oder muss man da scripte oder sowas schreiben?

    lg. Christoph
    Loxone: 1x Miniserver, 8x Extension, 2x Dimmer, 1x Relay 2x 1Wire, 1x DMX, 1x Fröling, 1x AirBase, 1x NanoIO Air, 1x RemoteAir, 2x Multi Extension Air
    Dmx4all:4x X9, 1x MaxiRGBW, 1x RGB
    Synology: DS414, 4x4TB WD red,
    Intel NUC7I3BNK: Proxmox, MusikServer4Lox, Win10, loxberry, Verstärker für 10 Zonen Eigenbau
    Fritzbox: 7490
    Rasenmäher: Husqvarna Automower 420 (2017), Robonect HX R3 Modul
  • romildo
    Lebende Foren Legende
    • 25.08.2015
    • 5161

    #2
    Hallo Christoph

    Irgendwas wirst Du schon schreiben müssen.

    Beispielsweise könntest Du die Temperatur im Raspberry überwachen und bei Überschreitung eines bestimmten Wertes über UDP an Loxone senden.
    In Loxone über einen UDP Eingang dann den Wert auslesen.

    Hier ein Beispiel wie so ein Script in Python aussehen könnte:
    Code:
    import socket
    import os
    UDP_IP = "IP von Miniserver"
    UDP_PORT = xxxx
    
    def getCpuTemperature():
     tempFile = open( "/sys/class/thermal/thermal_zone0/temp" )
     cpu_temp = tempFile.read()
     tempFile.close()
     return float(cpu_temp)/1000
    
    CPU_Temp = getCpuTemperature()
    if CPU_Temp >= 46:
      MESSAGE = "CPU_Temp " + str(CPU_Temp)
    
      sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) # UDP
      sock.sendto(MESSAGE, (UDP_IP, UDP_PORT))
    lg Romildo

    Kommentar


    • svethi
      svethi kommentierte
      Kommentar bearbeiten
      Iihh, jetzt kommt auch noch Python ins Spiel ;-)
  • roadi
    MS Profi
    • 26.08.2015
    • 558

    #3
    Hallo und danke mal dafür. Gibt es eine Möglichkeit das ich die Temperatur alle Minuten schicke? Oder überlastet das den kleinen?

    :-)
    Loxone: 1x Miniserver, 8x Extension, 2x Dimmer, 1x Relay 2x 1Wire, 1x DMX, 1x Fröling, 1x AirBase, 1x NanoIO Air, 1x RemoteAir, 2x Multi Extension Air
    Dmx4all:4x X9, 1x MaxiRGBW, 1x RGB
    Synology: DS414, 4x4TB WD red,
    Intel NUC7I3BNK: Proxmox, MusikServer4Lox, Win10, loxberry, Verstärker für 10 Zonen Eigenbau
    Fritzbox: 7490
    Rasenmäher: Husqvarna Automower 420 (2017), Robonect HX R3 Modul

    Kommentar

    • romildo
      Lebende Foren Legende
      • 25.08.2015
      • 5161

      #4
      Weiss zwar nicht wozu das gut sein soll, aber du kannst ja versuchsweise eine "while" Schleife einbauen um zu testen.
      Wenn die Zeit Deinen Vorstellungen entspricht, würde ich dafür dann einen Cronjob eintrag machen und die "while" Schleife entfernen.

      #!/usr/bin/env python

      import time
      import socket
      import os
      UDP_IP = "IP von Miniserver"
      UDP_PORT = xxxx

      while True:

      def getCpuTemperature():
      tempFile = open( "/sys/class/thermal/thermal_zone0/temp" )
      cpu_temp = tempFile.read()
      tempFile.close()
      return float(cpu_temp)/1000

      CPU_Temp = getCpuTemperature()
      # if CPU_Temp >= 46:
      MESSAGE = "CPU_Temp " + str(CPU_Temp)

      print MESSAGE
      sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) # UDP
      sock.sendto(MESSAGE, (UDP_IP, UDP_PORT))

      time.sleep(60)
      lg Romildo

      Kommentar

      • roadi
        MS Profi
        • 26.08.2015
        • 558

        #5
        Hallo Romildo

        irgendwas stimmt mit der line 11 --> def getCpuTemperature(): nicht.

        Da kommt immer IndentationError: expected an indented block
        Loxone: 1x Miniserver, 8x Extension, 2x Dimmer, 1x Relay 2x 1Wire, 1x DMX, 1x Fröling, 1x AirBase, 1x NanoIO Air, 1x RemoteAir, 2x Multi Extension Air
        Dmx4all:4x X9, 1x MaxiRGBW, 1x RGB
        Synology: DS414, 4x4TB WD red,
        Intel NUC7I3BNK: Proxmox, MusikServer4Lox, Win10, loxberry, Verstärker für 10 Zonen Eigenbau
        Fritzbox: 7490
        Rasenmäher: Husqvarna Automower 420 (2017), Robonect HX R3 Modul

        Kommentar

        • romildo
          Lebende Foren Legende
          • 25.08.2015
          • 5161

          #6
          Hallo Christoph
          Das kommt wenn man die Struktur falsch hat. Die Zeilen müssen wie im Beispiel eingerückt sein.
          Ich habe den Code versehentlich als QUOTE und nicht als CODE eingefügt, dann löscht er die Tabs.
          Also einfach den Code mit den TAB's davor so eingeben, dass die Struktur wie im CODE aussieht.

          Code:
          #!/usr/bin/env python
          
          import time
          import socket
          import os
          UDP_IP = "IP vom Miniserver"
          UDP_PORT = xxxx
          
          while True:
          
                  def getCpuTemperature():
                          tempFile = open( "/sys/class/thermal/thermal_zone0/temp" )
                          cpu_temp = tempFile.read()
                          tempFile.close()
                          return float(cpu_temp)/1000
          
                  CPU_Temp = getCpuTemperature()
                  MESSAGE = "CPU_Temp " + str(CPU_Temp)
          
                  print MESSAGE
                  sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) # UDP
                  sock.sendto(MESSAGE, (UDP_IP, UDP_PORT))
          
                  time.sleep(60)

          Nachtrag:
          Du startest das Programm ja auf der Raspberry-Konsole vielleicht auch noch über Putty.

          Die Zeile
          print MESSAGE
          im Script git die Werte in der Raspberry Konsole aus.
          mit CTRL + c kannst du das Script stoppen.
          Zuletzt geändert von romildo; 15.07.2016, 14:01.
          lg Romildo

          Kommentar

          • roadi
            MS Profi
            • 26.08.2015
            • 558

            #7
            Vielen Dank. Ich mach das über putty ja.

            Wie gesagt bin ja kompletter Anfänger wie man sieht :-(


            Weisst du ob es irgendwelche Probleme mit UDP gibt?

            Seit ich die UDP Eingänge erstellt habe, friert fast stündlich der miniserver ein und bootet dann neu.

            seit 13.00 uhr hab ich sie jetzt entfernt und jetzt läufts anscheinend. Mal schauen.

            Loxone: 1x Miniserver, 8x Extension, 2x Dimmer, 1x Relay 2x 1Wire, 1x DMX, 1x Fröling, 1x AirBase, 1x NanoIO Air, 1x RemoteAir, 2x Multi Extension Air
            Dmx4all:4x X9, 1x MaxiRGBW, 1x RGB
            Synology: DS414, 4x4TB WD red,
            Intel NUC7I3BNK: Proxmox, MusikServer4Lox, Win10, loxberry, Verstärker für 10 Zonen Eigenbau
            Fritzbox: 7490
            Rasenmäher: Husqvarna Automower 420 (2017), Robonect HX R3 Modul

            Kommentar

            • roadi
              MS Profi
              • 26.08.2015
              • 558

              #8
              Kann das was damit zu tun haben? Der Raspi schickt ja noch gar nichts.
              Loxone: 1x Miniserver, 8x Extension, 2x Dimmer, 1x Relay 2x 1Wire, 1x DMX, 1x Fröling, 1x AirBase, 1x NanoIO Air, 1x RemoteAir, 2x Multi Extension Air
              Dmx4all:4x X9, 1x MaxiRGBW, 1x RGB
              Synology: DS414, 4x4TB WD red,
              Intel NUC7I3BNK: Proxmox, MusikServer4Lox, Win10, loxberry, Verstärker für 10 Zonen Eigenbau
              Fritzbox: 7490
              Rasenmäher: Husqvarna Automower 420 (2017), Robonect HX R3 Modul

              Kommentar

              • romildo
                Lebende Foren Legende
                • 25.08.2015
                • 5161

                #9
                So pauschal kann man das nicht beantworten.
                Ich habe einige UDP Eingänge in Betrieb und keine Probleme damit.
                Es kann schon sein, dass der MS abstürzt wenn du ihn mit UDP zu bombardierst.

                Du musst halt dafür sorgen, dass dies nicht geschieht. Mit einem UDP Signal pro Minute ist dies sicher nicht der Fall.
                lg Romildo

                Kommentar

                • roadi
                  MS Profi
                  • 26.08.2015
                  • 558

                  #10
                  Irgendwas stimmt bei mir mit dem UDP nicht. Sobald ich den Eingang hinzufüge fängt er an zu zicken.

                  Das positive: Dein Programm funktioniert. Ich seh im UDP Monitor die Werte. Vielen Dank erstmal dafür.


                  Komisch nur das der immer rebootet. Ich hab jetzt die Eingänge wieder entfernt. Und werde auch mal kurz das Programm vom Raspi nochmal runterlöschen. Vielleicht schickt der zweite gerade noch was.

                  Oder meine SD Karte gibt gerade den Geist auf hmmmm



                  Nachtrag: Irgendwas ist da mitn Weather Server. Ich hab das irgendwann mal getestet und den Wetter Server nicht mehr rausgelöscht. Ich hoffe das hört jetzt auf mit den Reboots. Weil das wird jetzt schon fad. Sicher schon 15mal heute.
                  Zuletzt geändert von roadi; 15.07.2016, 16:25.
                  Loxone: 1x Miniserver, 8x Extension, 2x Dimmer, 1x Relay 2x 1Wire, 1x DMX, 1x Fröling, 1x AirBase, 1x NanoIO Air, 1x RemoteAir, 2x Multi Extension Air
                  Dmx4all:4x X9, 1x MaxiRGBW, 1x RGB
                  Synology: DS414, 4x4TB WD red,
                  Intel NUC7I3BNK: Proxmox, MusikServer4Lox, Win10, loxberry, Verstärker für 10 Zonen Eigenbau
                  Fritzbox: 7490
                  Rasenmäher: Husqvarna Automower 420 (2017), Robonect HX R3 Modul

                  Kommentar

                  • romildo
                    Lebende Foren Legende
                    • 25.08.2015
                    • 5161

                    #11
                    Wenn Du einen UDP Eingang anlegst, wirst Du ja die Senderadresse (IP von Raspberry) und den Port angeben.
                    Im UDP Eingangs Befehl kommt unter Befehlserkennung: CPU_Temp \v
                    lg Romildo

                    Kommentar

                    • roadi
                      MS Profi
                      • 26.08.2015
                      • 558

                      #12
                      So hab jetzt wieder getestet.

                      wenn ich das programm starte und dann auf den miniserver was neues speichere hängt sich der miniserver auf und startet in 2 minuten takt neu. Der miniserver und alle extensions blinken dabei durcheinand orange.

                      Ich glaub ich warte jetzt mal auf config 8.

                      Ich kann das ganze eh nicht nachvollziehen.

                      ich hab jetzt das raspi programm beendet und den miniserver neu gestartet und jetzt geht wieder alles normal.

                      Ausserdem ist heute anscheinend eh nicht mein Tag, ich werde mir jetzt noch was zu essen machen und dabei hoffen das mir die bude nicht abfackelt ....
                      Loxone: 1x Miniserver, 8x Extension, 2x Dimmer, 1x Relay 2x 1Wire, 1x DMX, 1x Fröling, 1x AirBase, 1x NanoIO Air, 1x RemoteAir, 2x Multi Extension Air
                      Dmx4all:4x X9, 1x MaxiRGBW, 1x RGB
                      Synology: DS414, 4x4TB WD red,
                      Intel NUC7I3BNK: Proxmox, MusikServer4Lox, Win10, loxberry, Verstärker für 10 Zonen Eigenbau
                      Fritzbox: 7490
                      Rasenmäher: Husqvarna Automower 420 (2017), Robonect HX R3 Modul

                      Kommentar

                      • romildo
                        Lebende Foren Legende
                        • 25.08.2015
                        • 5161

                        #13
                        Vielleicht schreibst Du mal, welche Config Version Du hast und was Du genau in der Config machst.
                        Du könntest auch mal im Gerätestatus schauen ob alles auf grün ist.
                        Ständiges Reboot kommt meistens von Programmbausteinen oder einer defekten SD-Karte.
                        Ich kann mir nicht vorstellen, dass UDP daran schuld sein soll.
                        lg Romildo

                        Kommentar

                        • roadi
                          MS Profi
                          • 26.08.2015
                          • 558

                          #14
                          Hallo romildo

                          Meine Config ist die aktuelle 7.4.4.14.

                          Heute hatte ich den ganzen Tag keine Probleme mit reboots. Nachdem ich mich jetzt am Abend mit dem Miniserver verbunden habe und nur die Config geladen habe, fing es schon wieder an.

                          Jetzt habe ich daweil meine alte SD-Karte hergenommen und neu formatiert mit der Sicherung von gestern. Und jetzt hab ich sicher schon 2 Stunden programmiert und keinen einzigen reboot. Ich vermute fast das die SD Karte das ständige hin und her programmieren(wir sind erst im Dezember eingezogen) nicht mehr ertragen wollte. Warscheinlich würde das mit dem UDP jetzt auch funktionieren.

                          So jetzt war der ganze Text unnötig. In dieser Sekunde hatte ich den nächsten reboot. Ich hol mir morgen mal schnell eine neue SD von einem Freund und probiers mit der nochmal. Irgendwas hunzt da kräftig rein.

                          und ich hab immer wieder die 2 Sachen im log. Ist das normal nach einem reboot?


                          Weiters hab ich jetzt mal das Netzwerkkabel abgeschlossen. Vielleicht hilfts ja.
                          Loxone: 1x Miniserver, 8x Extension, 2x Dimmer, 1x Relay 2x 1Wire, 1x DMX, 1x Fröling, 1x AirBase, 1x NanoIO Air, 1x RemoteAir, 2x Multi Extension Air
                          Dmx4all:4x X9, 1x MaxiRGBW, 1x RGB
                          Synology: DS414, 4x4TB WD red,
                          Intel NUC7I3BNK: Proxmox, MusikServer4Lox, Win10, loxberry, Verstärker für 10 Zonen Eigenbau
                          Fritzbox: 7490
                          Rasenmäher: Husqvarna Automower 420 (2017), Robonect HX R3 Modul

                          Kommentar

                          • roadi
                            MS Profi
                            • 26.08.2015
                            • 558

                            #15
                            Komischerweise tritt es auch nur auf wenn ich mich kurz vorher mit dem Miniserver verbunden habe. Kanns an Loxone Config liegen?
                            Das ist jetzt echt nimmer ganz witzig
                            Loxone: 1x Miniserver, 8x Extension, 2x Dimmer, 1x Relay 2x 1Wire, 1x DMX, 1x Fröling, 1x AirBase, 1x NanoIO Air, 1x RemoteAir, 2x Multi Extension Air
                            Dmx4all:4x X9, 1x MaxiRGBW, 1x RGB
                            Synology: DS414, 4x4TB WD red,
                            Intel NUC7I3BNK: Proxmox, MusikServer4Lox, Win10, loxberry, Verstärker für 10 Zonen Eigenbau
                            Fritzbox: 7490
                            Rasenmäher: Husqvarna Automower 420 (2017), Robonect HX R3 Modul

                            Kommentar

                            Lädt...