Ai nevoie doar de buton și fire. Le conectezi la GND și GPIO 3 (la Pi 3B+ sunt pinii 5 și 6), clonezi repository ăsta, faci modificările pentru a „asculta” pe pinul corect: $vim shutdown_button.py
- use_button=27
+ use_button=6
După care îl instalezi cum zice în repository:
sudo apt install python3-gpiozero
sudo mkdir -p /usr/local/bin
chmod +x shutdown_button.py
sudo cp shutdown_button.py /usr/local/bin
sudo cp shutdown_button.service /etc/systemd/system
sudo systemctl enable shutdown_button.service
sudo systemctl start shutdown_button.service
Cum merge?§
Scriptul de shutdown este de fapt un watcher ce verifică permanent dacă GPIO specificat este conectat la GND sau nu (adică dacă butonul este sau nu apăsat).
După ce primește comanda de shutdown, Raspberry intră în halt mode
, un mod în care este aproape oprit. Și se trezește când primește semnal doar pe GPIO3
+ GND
.
Haha, chiar acum 3 zile căutam o soluție la chestia asta și găsisem tot ceva de genul. Oricum, mi se pare aiurea că nu i-au pus din fabrică o sărăcie de buton de on/off.
@Silviu: din câte am citit, cardurile SD sunt foarte sensibile la oprirea forțată (cum ar fi butonul on/off). În plus, Raspberry per se nu este neapărat o soluție pentru enduser și s-a mers pe ieftinire maximă.
Dar găsești alimentatoare cu buton pe cablu
@Ionuț Staicu: Eh, speram și eu la un buton care să acționeze SIGKILL, nu să taie țărănește curentul 😁
Până una-alta, sms gateway-ul meu nu prea are nevoie de opriri, dar când mă va lua plictiseala, o să meșteresc și eu soluția ta.