Zum Inhalt wechseln

Als Gast hast du nur eingeschränkten Zugriff!


Anmelden 

Benutzerkonto erstellen

Du bist nicht angemeldet und hast somit nur einen sehr eingeschränkten Zugriff auf die Features unserer Community.
Um vollen Zugriff zu erlangen musst du dir einen Account erstellen. Der Vorgang sollte nicht länger als 1 Minute dauern.

  • Antworte auf Themen oder erstelle deine eigenen.
  • Schalte dir alle Downloads mit Highspeed & ohne Wartezeit frei.
  • Erhalte Zugriff auf alle Bereiche und entdecke interessante Inhalte.
  • Tausche dich mich anderen Usern in der Shoutbox oder via PN aus.
 

   

Foto

[RPI] DECT per Bash steuern

- - - - -

  • Bitte melde dich an um zu Antworten
Eine Antwort in diesem Thema

#1
CyberFlash

CyberFlash

    Moderator

  • Moderator
  • Likes
    119
  • 133 Beiträge
  • 43 Bedankt
Hallo an alle..
 
Heute wollte ich mal mit meinem Raspi auf welchem Kodi läuft, mein Lüfter per Dect Steckdose von AVM steuern.
Der Hintergrund ist wie folgt. Ich habe ein RPI3 in meinem Schlafzimmer, mit welchem ich gelegentlich via Zattoo Life & Comeback Tv schaue.
Ein ungerades mal auch per UPNP Filme von meinem Rechner Streame. Da mein PC ebenfalls im Schlafzimmer steht, und der meinst 24/7 läuft, habe ich schon genug Lüfter Sound zum einschlafen.
So sollte also der RPI nur gekühlt werden, wen er gebraucht wird bzw. eine Gewisse Temp. übersteigt. Da ich keine Lüfter für die GPIO Schnittstelle übrig hatte, habe ich mir ein altes Netzteil von nem PC geholt, und diesem Lüfter per 240V Anschluss
an die Steckdose gehängt. Dazwischen dann noch eine DECT Steckdose von AVM (Fritzbox) und wie folgt Bash Scripte erstellt :
 
Steuerung.sh
#!/usr/bin/env bash

TEMP_DATEI="/sys/class/thermal/thermal_zone0/temp";

Max_Temp=55000;

U_Temp=40000;

while [ true ]

do

        for Temperatur in $(cat $TEMP_DATEI); do

echo $Temperatur

                if [ $Temperatur -gt $Max_Temp ]; then

                        #Luefter anschalten

                        /home/pi/luefterein.sh;

                elif [ $Temperatur -le $U_Temp ]; then

                        #Luefter ausschalten

                        /home/pi/luefteraus.sh;

                fi

        done

        sleep 10

done
 
 
Beschreibung :
 
Bei einer Temp der CPU des RPI von 55° wird der Lüfter per DECT aktiviert und kühlt auf 40° runter.
Das Script prüft alle 10 Sekunden die Temp, und Kühlt weiter, oder stoppt den Lüfter wieder.
 
Lüfter Ausschalten :
 

#Config start

fbox="FRITZBOX URL"

USER="USER"

PASSWD="PASSWD"

SID=$(curl --insecure -s $fbox/login_sid.lua | sed 's/.*<SID>\(.*\)<\/SID>.*/\1/                                                                                                                                                             ')

challenge=$(curl --insecure -s $fbox/login_sid.lua | grep -o "<Challenge>[a-z0-9                                                                                                                                                             ]\{8\}" | cut -d'>' -f 2)

CPSTR="$challenge-$PASSWD"

hash=`echo -n $CPSTR | iconv -f ISO8859-1 -t UTF-16LE | md5sum -b | awk '{print                                                                                                                                                              substr($0,1,32)}'`

RESPONSE="$challenge-$hash"

POSTDATA="?username=$USER&response=$RESPONSE"

SID=$(curl --insecure --data "$POSTDATA" -s $fbox/login_sid.lua | sed 's/.*<SID>                                                                                                                                                             \(.*\)<\/SID>.*/\1/')

#Config Ende

CURLCMD="curl --insecure -s $fbox/webservices/homeautoswitch.lua"

RESULT=$($CURLCMD"?sid=$SID&switchcmd=getswitchlist")

#echo AIN-Liste: $RESULT

STATE=$($CURLCMD"?sid=$SID&ain=087610382241&switchcmd=setswitchoff")

#Geräte Liste

#TV LED : ****ID****

#RPI Lüfter : ****ID****
 
Lüfter Einschalten :
 

Variable abändern von : "setswitchoff" zu "setswitchon"



STATE=$($CURLCMD"?sid=$SID&ain=087610382241&switchcmd=setswitchon")
 
Anmerkung :
 
Ich habe mir absichtlich die An und Abschalt Funktion in einzelnen Scripten erstellt, um bei einem Shutdown / Reboot nur das Stop Script einzubinden.
Das ganze wird nun als Cronjob mit Hilfe @Reboot /Pfad/zuScript.sh automatisch bei jedem Boot Vorgang gestartet.
 
@ Toolbase :
 
Ich bin ein Hobby Bastler, kein Programmierer.
Diesen Thread habe ich 1 zu 1 in meinem eigenem Forum gepostet, und ist für Hobby Bastler gedacht, nicht für Coding Genies.
Also seit Nachsichtig ;)

  • DR.zydz und PadX18 gefällt das

#2
PadX18

PadX18

    Hacktivist

  • Premium Member
  • Likes
    40
  • 58 Beiträge
  • 15 Bedankt
  • Android [root]
  • Windows, Linux

Nette Idee mit der DECT Steckdose, so bleiben die GPIO's frei und man spart sich das Relais, duraus interessante Herangehensweise :)





Dieses Thema wurde von 1 Mitglied(ern) gelesen


    Bot4ng
Die besten Hacking Tools zum downloaden : Released, Leaked, Cracked. Größte deutschsprachige Hacker Sammlung.