Pi Headless: Jak potwierdzić, że Pi jest wyłączony

16

Używam mojego Pi bez głowy podłączonego do routera bezprzewodowego za pomocą kabla Ethernet. Chciałem wyłączyć pi zdalnie, nawet jeśli nie jestem z nim połączony za pomocą SSH / Putty, aby wyłączyć go wyłącznie.

Zadaję tutaj pytanie: Bezpieczne wyłączanie mojego Pi i postępowanie zgodnie z dostarczonym rozwiązaniem.

Czy jest teraz sposób na sprawdzenie, czy Pi jest wyłączane, gdy router jest wyłączony? Czy jest możliwe wskazanie LED?

AKTUALIZACJA:

Próbowałem obserwować diodę LED na podłączonym dysku twardym USB i nie zauważyłem żadnych zmian (był już w trybie gotowości).

Właśnie to widziałem: http://www.raspberrypi.org/forums/viewtopic.php?f=72&t=58098

Czy jest ktoś na tej stronie, kto próbował i przetestował to? Nie mam gotowego skoczka do przetestowania go teraz. Ale kiedy to zrobię, zaktualizuję to.

Dodatkowa aktualizacja

W końcu przestałem pracować nad implementacją, aby utworzyć wskaźnik pokazujący, że Pi jest zamknięty. Jest tak, ponieważ mam zaufanie do crona i sprawdziłem go wizualnie wiele razy. Tak więc w ciągu dwóch minut od wyłączenia routera ( eth=down) widzę 10 ciągłych mrugnięć diody ACT i Pi przestaje działać. Jestem taki szczęśliwy. Przykro mi, że miałem wątpliwości co do mojego uroczego pi!

Kangkan
źródło
Czy możesz jeszcze dokładniej powiedzieć, czego chcesz? Myślę, że mówisz, że chcesz sprzętowej wersji bezpiecznego wyłączania. Czy to jest poprawne? i chcesz, żeby to było jakoś kontrolowane przez router? Czy są inne warunki? wszystko jest możliwe, ale nie jestem pewien, czego chcesz.
j0h
Chcę tylko wiedzieć, czy kontrola wizualna Pi może dać mi znać, czy została już zamknięta. Ponieważ biegam bez głowy, nie otrzymuję żadnych wskazówek.
Kangkan,
Powiem tak, możesz to zrobić za pomocą zewnętrznej logiki.
j0h
@ j0h: Czy byłbyś w stanie dodać odpowiedź z odpowiednimi szczegółami? Czy to tylko przeczucie?
Kangkan,
Tak, ale muszę zrobić kilka pomiarów i narysować schemat logiczny. W tej chwili jestem z dala od mojego pi, więc nie mogę tego zrobić. Czy planujesz także wyłączyć to światło na wielu węzłach? jeśli tak to ile?
j0h

Odpowiedzi:

9

Twoje rozwiązanie jest proste, użyj falownika i skryptu uruchamiania. Po uruchomieniu skryptu należy ustawić wysoki poziom IO, co spowoduje wyłączenie diody LED. Gdy system operacyjny jest wyłączony, a skrypt sterujący stykiem IO jest wyłączony, dioda LED zaświeci się.

Nadal nie wróciłem do lokalizacji Pi, ale może to być możliwe bez falownika.

Dodaj skrypt do uruchomienia, konfigurując

sudo vim /etc/rc.local

Na dole, tuż nad wyjściem 0, dodamy wywołanie do naszego skryptu.

python /home/pi/run.py

Twój skrypt wyglądałby mniej więcej tak:

import RPi.GPIO as GPIO
pinNum = 8
GPIO.setup(pinNum,GPIO.OUT) 
GPIO.output(pinNum,GPIO.HIGH)

Wcięcie ostatniej linii.

Widać, że przyjmuję nazwę run.pyi że masz katalog użytkowników o nazwie/home/pi

Oto zdjęcie schematu.

Odwróć wyjście

Teraz, jeśli chcesz uzyskać trochę dodatkowej fantazji, możesz mieć zieloną i czerwoną diodę LED, po jednej stronie falownika. Gdy system operacyjny jest włączony, jedna dioda LED świeci wysoko zieloną diodą LED, a słabo czerwoną diodą LED. wtedy, gdy system operacyjny był wyłączony, zielona dioda LED byłaby wyłączona, a czerwona dioda LED - włączona. (Myślę, że byłoby fajnie.) Lub nie. rób, co chcesz.

j0h
źródło
na miłość boską, gdzie do cholery jest przycisk kodu na tym forum? czy ktoś może tu wejść i odpowiednio sformatować blok kodu?
j0h
Dzięki! Dodano również blok kodu, jak w komentarzu (dwa nawiasy klamrowe działają jak przycisk kodu.
Kangkan
Właśnie zbudowałem i przetestowałem to rozwiązanie i wydaje się, że działa zgodnie z wymaganiami.
j0h,
To nie jest forum, ale pytania i odpowiedzi :) Niestety nie ma bloku kodu (zamiast tego użyj wstępnie sformatowanego tekstu) i nie można wprowadzać zmian, dopóki pytania nie wyjdą z wersji Beta. Prześlij swoje sugestie w Pi Meta, aby można je było rozważyć.
Piotr Kula,
Duely zauważył ppumkin
j0h
5

W Raspberry Pi 3 możesz obciąć diodę PWR za pomocą

echo 0 | sudo tee /sys/class/leds/led0/brightness

Jeśli Pi zostanie wyłączone, dioda LED ponownie się zaświeci.

chrześcijanin
źródło
1
W moim przypadku dioda PWR (czerwona) jest led1. led0to I / O (zielony).
Alexis Wilke
1

Zupełnie nie, chyba że faktycznie jesteś świadkiem wyłączenia, w którym to przypadku zobaczysz, że światło ACT błyska szybko kilka razy (chyba 10) w stałym odstępie czasu.

Jeśli masz na myśli, że chcesz móc spojrzeć na Pi i stwierdzić, czy jest on uruchomiony, czy nie, to fakt, że dioda LED zasilania (czerwona) jest włączona, ale wszystkie diody sieciowe są wyłączone, jest zwykle dobrym wskazaniem (pod warunkiem, że urządzenie sieciowe Pi jest podłączony do ma dość stabilny czas pracy).

Po przeczytaniu pierwotnego pytania wydaje się, że drugi przypadek nie będzie miał zastosowania, a pierwszy jest bardziej prawdopodobny.


źródło
Pozostałe diody LED wyłączają się, gdy wyłączam podłączony router. A Pi ma wyczuwać status eth0 i wyłączać się, jeśli jest wyłączony. Więc jestem w naprawie.
Kangkan,