• Benvenuti su RaspberryItaly!
Benvenuto ospite! Login Login con Facebook Registrati Login with Facebook


Valutazione discussione:
  • 0 voto(i) - 0 media
  • 1
  • 2
  • 3
  • 4
  • 5

[-]
Tags
spegnimento da esterno anche tv accensione per pulsante

Accensione/spegnimento da pulsante esterno anche per TV
#1
Wink 
Buonasera,

sono nuovo sul forum e spero di non commettere errori.

Ho seguito la guida per spegnere e accendere il mio Raspberry pi 4 e funziona alla perfezione, solo oltre che questa funzione avrei necessità, nel caso il raspberry fosse spento da pulsante, che la TV andasse in standby.


Ho cercato sulla rete e ho trovato cec-client, che da terminale mi fa mandare in standby la TV scrivendo:

Codice:
echo 'standby' 0.0.0.0 | cec-client -s -d 1


Qualche idea o aiuto?
Grazie  Big Grin
Risposta
#2
prima di tutto di direi (forse in modo superfluo) di esplorare le funzioni del tv per verificare se è presente una tale impostazione (quando manca il segnale di ingresso, vai in stand-by dopo tot tempo).
se non c'è, il comando funziona?
Se si, non dovrai far altro che metterlo in uno script d ispegnimento.

Se nella guida hai creato lo script di spegnimento:
Codice:
#!/usr/bin/python
from gpiozero import Button
from subprocess import check_call
from signal import pause

def shutdown():
   check_call(['sudo', 'poweroff'])

shutdown_btn = Button(3, hold_time=2)
shutdown_btn.when_held = shutdown

pause()
non ti resta che aggiungerlo, facendolo diventare
Codice:
#!/usr/bin/python
from gpiozero import Button
from subprocess import check_call
from signal import pause

def shutdown():
   ceck_call(['echo', '"standby'"', '0.0.0.0', '| cec-client', '-s', '-d', '1'])
   check_call(['sudo', 'poweroff'])

shutdown_btn = Button(3, hold_time=2)
shutdown_btn.when_held = shutdown

pause()
Risposta
#3
Ciao zZed grazie dell'aiuto,

ho provato a mettere la riga di codice da te inserita, ma oltre che non funzionare mi compromette l'utilizzo del
pulsante facendo il debug dice:

Python 3.7.3 (/usr/bin/python3)
>>> %FastDebug spegnimento.py
Traceback (most recent call last):
  File "/home/pi/spegnimento.py", line 7
    ceck_call(['echo', '"standby'"', '0.0.0.0', '| cec-client', '-s', '-d', '1'])
                                                                                ^
SyntaxError: EOL while scanning string literal
>>>

Grazie infinite
Max
Risposta
#4
ok, c'è da sistemare la sintassi della stringa del comando. il ^ indica il punto di errore
probabilmente il carattere pipe (|) non viene riconosciuto
l'alternativa veloce così su due piedi, è mettere il comando in uno script (un file di testo .sh) e lancire questo script da python invece di mettere il comando dentro Pyhtpn.
Se non hai capito, dimmi che ti spiego passo passo
Risposta
#5
Grazie zZED,

Sad  sinceramente non saprei da dove iniziare, mi sono approcciato da poco a questo fantastico mondo.
Risposta
#6
Bene, non preoccuparti.
Accedi al terminale, dovresti essere dove hai creato anche lo script Python per lo spegnimento.
Andiamo a creare un file di testo con l'editor nano, con
Codice:
nano spegniti.sh
dentro ci scriviamo
Codice:
#!/bin/bash

echo 'standby' 0.0.0.0 | cec-client -s -d 1
supo poweroff
salva con CTRL+X, conferma che vuoi salvare e mantieni lo stesso nome.
ora facciamo diventare eseguibile lo script di comandi appena creato:
Codice:
sudo chmod +x spegniti.sh

adesso, se scrivi ./spegniti.sh dovrebbero spegnersi televisore e Raspberry Pi
se funziona (scritto di getto).. puoi andare a richiamarlo da dentro lo script python che diventerà:
Codice:
#!/usr/bin/python
from gpiozero import Button
from subprocess import check_call
from signal import pause

def shutdown():
   ceck_call("./spegniti.sh", shell=True)

shutdown_btn = Button(3, hold_time=2)
shutdown_btn.when_held = shutdown

pause()
Risposta
#7
Ciao zZED,

grazie infinite, funziona tutto con qualche piccola modifica. Visto che sono riuscito nell'intento (non mi hai chiesto cosa stavo facendo, però ci tengo a mostrartelo) ecco una foto del mio piccolo progetto un info point con:

Raspberry pi4
TV
carcassa dibon
Led

Ti ho chiesto la possibilità di spegnere da pulsante anche la TV, perché ho messo i led alla prese usb che si alimentano quando accesso e quindi la scritta info point si accende... Nel mio albergo fa un figurone  Big Grin

Grazie ancora!!

PS Non guardate la grafica, visto che mostra un sito (che ha un admin dedicato solo per lui)

[Immagine: zZed.jpg]
Risposta
#8
Molto bello, complimenti!
Risposta
#9
Che figata! complimenti!

"non mi hai chiesto cosa stavo facendo, però ci tengo a mostrartelo"
Ricordo a tutti, che siamo tutti curiosi di sapere come sperimentate con il RaspberryPi!
Abbiamo una sezione " Progetti" che aspetta solo di venir riempita.
https://forum.raspberryitaly.com/forumdi...php?fid=43
Heart Libro  | Blog EnricoSartori.it | Idea YouTube
Se un utente ti è stato utile, aumenta la sua reputazione! premi il Pollicione! 
Risposta
  


Vai al forum:


Navigazione: 1 Ospite(i)
Forum con nuovi Post
Forum senza nuovi post
Forum bloccato
Forum Redirect