Komputery jednopłytkowe, takie jak Raspberry Pi, nie są na ogół wyposażone w przycisk zasilania, szczególnie taki, który pozwalałby na bezpieczne dla systemu operacyjnego wyłączanie systemu. Wiele osób, które dopiero co zaczęły korzystać z komputera jednopłytkowego wciąż szukać mogą przycisku zasilania. Rozwiązaniem jest odłączanie wtyczki microUSB lub zamontowanie na tej linii przełącznika. O ile pozwoli to wyłączyć minikomputer, to może doprowadzić do uszkodzenia karty SD czy systemu operacyjnego.
Poprawne wyłączanie Raspberry Pi
Komputer jednopłytkowy Raspberry Pi, jak każdy inny komputer, wymaga poprawnego zamknięcia systemu operacyjnego, przed odłączeniem od niego zasilania. Podczas tego procesu system operacyjny zamyka otwarte na karcie pamięci pliki, wyłącza uruchomione programy i procesy, aby na końcu zamknąć bezpiecznie samego siebie. Jeśli system nie przejdzie tej procedury, to pliki zapisane na karcie pamięci mogą ulec uszkodzeniu, co może doprowadzić do uszkodzenia samego systemu operacyjnego – przy kolejnym uruchomieniu powitać może nas Kernel Panic – krytyczny błąd jądra systemu spowodowany m.in. niemożnością wczytaniem jednego z plików systemowych.
Podczas poprawnej procedury wyłączania komputera Raspberry Pi musimy wydać systemowi odpowiednie polecenie, zanim odłączymy kabel zasilający. Jeśli korzystamy z interfejsu graficznego, naciskamy czerwony przycisk zasilania w prawej dolnej części menu. Z kolei w przypadku korzystania z linii komend (w systemie bez zainstalowanego systemu okien lub w przypadku zdalnego dostępu z pomocą SSH) wpisać musimy następujące polecenie:
W naszym projekcie wykorzystamy linię GPIO18, która wyprowadzona jest na pinie 12 złącza rozszerzeń. Linia ta jest wygodna do wykorzystania, ponieważ zaraz obok niej znajduje się pin podłączony do masy (na 14 pinie złącza). Przycisk podłączmy tak, jak pokazano na diagramie na rysunku 2. Pin GPIO18 musi mieć skonfigurowane wewnętrzne podciągnięcie go do poziomu wysokiego. W ten sposób pin domyślnie znajdować będzie się w stanie wysokim, a po zwarciu z masą, w stanie niskim.
Skrypt obsługujący przycisk
Teraz musimy stworzyć skrypt, który obsługiwać będzie nasz przycisk i będzie wydawał systemowi, w momencie naciśnięcia przycisku, komendę wyłączającą komputer. Skrypt napisany zostanie w języku Python. Aby stworzyć skrypt i rozpocząć jego edycję w terminalu wpisujemy kolejno:
Nikodem Czechowski