Pi sem cabeça: como confirmar que o Pi está desligado

16

Estou executando meu Pi sem cabeça conectado ao meu roteador sem fio usando um cabo Ethernet. Eu queria desligar o pi remotamente, mesmo quando não estou conectado a ele usando o SSH / Putty para desligá-lo exclusivamente.

Coloquei uma pergunta aqui: Desligando meu Pi com segurança e seguindo a solução fornecida.

Agora existe uma maneira de verificar se o Pi é desligado quando o roteador é desligado? É possível alguma indicação de LED?

ATUALIZAR:

Tentei observar o LED no HDD USB conectado e não vi alterações (ele já estava no modo de espera).

Acabei de ver isso: http://www.raspberrypi.org/forums/viewtopic.php?f=72&t=58098

Existe alguém neste site que tentou e testou isso? Eu não tenho um jumper pronto para testá-lo agora. Mas quando eu fizer, atualizarei isso.

Atualização Adicional

Finalmente parei de trabalhar em uma implementação para criar o indicador para mostrar que o Pi está desligado. Isso porque, confio no cron e o verifiquei visualmente várias vezes. Portanto, dentro de dois minutos após o desligamento do roteador ( eth=down), vejo os 10 piscando continuamente do LED ACT e o Pi pára. Eu estou tão feliz. Sinto muito por ter uma dúvida sobre o meu Pi fofo!

Kangkan
fonte
Você pode ser ainda mais explícito sobre o que deseja? O que eu acho que você está dizendo é que você quer uma versão de hardware do desligamento seguro. Isso está correto? e você quer que isso seja controlado pelo roteador de alguma forma? Existem outras condições? tudo é possível, mas não tenho certeza do que você quer.
j0h
Só quero saber se uma inspeção visual no Pi pode me informar se já foi encerrada. Como estou sem cabeça, não recebo nenhuma indicação.
Kangkan
Eu direi que sim, você pode fazer isso, com lógica externa.
j0h
@ j0h: Você seria capaz de adicionar uma resposta com detalhes adequados? Ou isso é apenas um pressentimento?
precisa saber é o seguinte
Sim, mas preciso fazer algumas medições e desenhar um diagrama lógico. Estou longe do meu pi no momento, então não posso fazê-lo. Além disso, você planeja ter essa luz "nó desligado" em vários nós? se sim, quantos?
j0h

Respostas:

9

Sua solução é simples, use um inversor e um script de inicialização. Quando o script for executado, faça com que um pino de E / S fique alto, o que forçará o LED a apagar. Quando o sistema operacional está desligado e o script que aciona o pino de E / S está desligado, o LED acende.

Ainda não voltei à minha localização Pi, mas pode ser possível fazer isso sem um inversor.

Você adicionaria seu script para executar configurando

sudo vim /etc/rc.local

Na parte inferior, logo acima da saída 0, adicionaremos uma chamada ao nosso script.

python /home/pi/run.py

Seu script seria algo parecido com isto:

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

Recue a última linha.

Você pode ver que estou assumindo o nome run.pye que você tem um diretório de usuário chamado/home/pi

Aqui está uma imagem do esquema.

Inverter saída

Agora, se você quiser ter um pouco mais de sofisticação, poderá ter um LED verde e vermelho, um de cada lado do inversor. Quando o sistema operacional está ativado, um led estará conduzindo alto o LED verde e baixo no LED vermelho baixo. quando o sistema operacional estivesse desligado, o led verde apagaria e o led vermelho acenderia. (Eu acho que seria legal.) Ou não. faça o que quiser.

j0h
fonte
pelo amor de deus onde diabos é o botão de código neste fórum? alguém pode entrar aqui e formatar o bloco de código corretamente para mim?
j0h
Obrigado! Também foi adicionado o bloco de código como em seu comentário (as duas chaves funcionar como o botão de código.
Kangkan
Acabei de criar e testar esta solução e ela parece funcionar conforme solicitado.
J0h 09/08
Este não é um fórum, mas uma sessão de perguntas e respostas :) Infelizmente, não há nenhum bloco de código (use um texto pré-formatado) e as alterações não podem ser feitas até que as perguntas e respostas saiam da versão beta. Envie suas sugestões no Pi Meta para que seja considerado.
Piotr Kula
Duely observou ppumkin
j0h
5

No Raspberry Pi 3, você pode desligar o LED PWR com

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

Se o Pi for desligado, o LED acenderá novamente.

cristão
fonte
1
No meu caso, o LED PWR (vermelho) é led1. led0é a E / S (verde).
Alexis Wilke
1

Estritamente não, a menos que você realmente testemunhe o desligamento; nesse caso, a luz do ACT pisca rapidamente várias vezes (10 acho) em um intervalo estável.

Se você quer ver o Pi e saber se foi inicializado ou não, o fato de o LED de energia (vermelho) estar aceso, mas os LEDs da rede estarem apagados é geralmente uma boa indicação (desde que o dispositivo de rede o Pi está conectado tem um tempo de atividade bastante estável).

Lendo sua pergunta original, parece que o segundo caso não será aplicável e o primeiro é mais provável.


fonte
Os outros LEDs se apagam quando eu desligo o roteador conectado. E o Pi deve sentir o status do eth0 e desligar se estiver inoperante. Então, eu estou em uma correção.
Kangkan