venerdì 12 luglio 2013

Shutdown Raspberry via pulsante

Questo progetto e' stato copiato da questo link per evitare uno dei problemi piu' fastidiosi della Raspberry (ovvero di Linux) ovvero la corruzione del file system in caso di arresto brutale dell'elaboratore

In questo esempio viene implementato un pulsante fisico che permetta di eseguire (ove possibile) uno shutdown corretto della macchina

Sono possibili due schemi elettrici



Io ho usato il metodo del secondo schema perche' nel primo la porta GPIO e' sempre sottotensione (stato logico 1) mentre nel secondo esempio lo stato logico e' 0

il programma per gestire il pulsante e' il seguente: se il pin 17 acquisisce uno stato logico 1 viene lanciato il comando di shell per lo shtdown. Le resistenze, come nello schema, sono da 1 e 10 KOhm

------------------------------------------------------
import RPi.GPIO as GPIO
import time
import os
GPIO.setmode(GPIO.BCM)
GPIO.setup(17, GPIO.IN)
while True:
if (GPIO.input(17)):
os.system("sudo shutdown -h now")
break
time.sleep(1)
------------------------------------------------------

Nella foto il cavo rosso e' collegato al pin di 3.3 V, il cavo nero al GND mentre il cavo giallo e' collegato alla porta 17


vistodall'alto



Ed ecco un breve video


5 commenti:

  1. Ciao volevo fare lo spegnimento di raspberry ma non capisco quelle righe di comando dove le devo scrivere ?? grazie

    RispondiElimina
    Risposte
    1. Sono righe Python
      le copi in un file testo e le esegui con Python
      dopo di cio' il programma rimane in attesa della pressione del programma per fare lo shutdown
      L

      Elimina
  2. ciao scusa per la domanda sono innesperto..... io copio la stringa su text editor e salvo su desktop poi tasto destro apri con python 2 o 3? dopo di che cosa devo fare?

    RispondiElimina
  3. io francamente sono abituato alla shell e non saprei farla con un DE
    comunque una volta salvata il file si manda in esecuzione lo script con
    python
    una volta in esecuzione il programma, se i collegamenti sono stati fatti bene, basta premere il pulsante per vedere Raspberry che esegue lo shutdown

    saluti
    Luca

    RispondiElimina

Dockerizza Flask

Un esempio semplice per inserire in un container Docker una applicazione Flask Partiamo da una semplice applicazione che ha un file app.py ...