====== Objectif ======
Rendre un raspberry inaccessibe tant qu'un GPIO n'est pas mis a la masse
====== Comment qu'on fait ? ======
Une grosse recommendation, pendant la bascule, maintenez un acces console, au cas où
PI ce script ne tue pas les session ssh en cours... Attention !!!!
===== Le Script a activer =====
#!/usr/bin/env python3
import RPi.GPIO as GPIO
import time
import syslog
import os
Button=XXX
GPIO.setmode(GPIO.BCM)
GPIO.setup(Button, GPIO.IN,pull_up_down=GPIO.PUD_UP)
maint=None
def changedornot(status):
global maint
if status is not maint:
maint=status
if maint:
syslog.syslog(syslog.LOG_INFO, "SSH:on")
os.system('service ssh start')
else:
syslog.syslog(syslog.LOG_INFO, "SSH:off")
os.system('service ssh stop')
while True:
inputValue = GPIO.input(Button)
changedornot(inputValue == False)
time.sleep(0.3)
===== Parametrage systeme =====
[Unit]
Description=Maintenance Mode On gpio Pin UP
After=network.target auditd.service
[Service]
ExecStart=/usr/local/sbin/MaintenanceModeOnPinUp
Restart=always
[Install]
WantedBy=multi-user.target
Alias=mmopu.service
===== Lancement de la chose =====
systemctl daemon-reload
systemctl start mmopu.service