Ahududu Pi güvenle nasıl kapatılır?


30

Genellikle bir masaüstü bilgisayarla çalışırsam sudo shutdown -P now, bilgisayar tamamen kapanır ve bir düğme ile tekrar açabilirim. (Aynı şekilde, bilgisayar çökerse, güç düğmesini 5 saniye basılı tutarak yeniden başlatmayı zorlayabilirim.)

Ahududu Pi'nin bir güç düğmesi yok. Aslında, eğer kaçarsam sudo shutdown -P now, güç ledi hala yanıyor gibi görünüyor ve tekrar başlatmak için, fişini çekip tekrar takmam gerekiyor gibi görünüyor. Bu, Windows'un eski sürümlerinde "Bilgisayarınızı kapatmak artık güvenlidir" e benziyor.

Hangi noktada Ahududu Pi üzerindeki fişi çekmek güvenlidir? Yanlış bir şey mi yapıyorum?


2
Kırmızı led sadece oi'nin güç aldığını gösterir. Dikkat etmek istediğin şey yeşil olanı. Yanıp sönüyorsa, oi, microSD karta erişiyor demektir. Kapattığın zaman izle. 4-10 kez yanıp sönmelidir. Bu gerçekleştiğinde, fişi çekmek güvenlidir.
TheXed

1
SD kartınızın ext4 biçiminde (veya FS diğeri diğer dergilerde) biçimlendirilmesi koşuluyla, pi sadece boşta otururken onu kapatmak, kesinlikle daha az güvenlidir. En azından bir Windows95 bilgisayarı kapatmaktan daha güvenli. (Güvenlik kritik uygulamalar için tavsiye etmiyorum ... ama bir pi o zaman tam olarak ideal değildir.)
leftaroundabout

4
@leftaroundabout, altta yatan araç bir elektrik kesintisini temiz bir şekilde idare edemediğinde günlük kaydı pek bir şey yapmaz. Bir elektrik kesintisinden sonra SD kartlarımı tekrar biçimlendirmem gerekiyor.
Mark

@Mark: mümkün. Komplikasyon olmadan güvensizce güçlendiğim bir pi'm var, ancak aslında bu kart sadece önyükleyici için kartı kullanıyor ve USB sabit diskte başka her şeye sahip.
leftaroundabout

@Mark Aynı zamanda bir veri yazısının ortasındayken pek bir şey ifade etmez. Hala verilerinizi kaybedeceksiniz. Sadece dosya sistemi tutarlılığını garanti ediyordu.
Bob,

Yanıtlar:


18

Yanlış bir şey yapmıyorsun.

Etkinlik LED'i kapanmadan hemen önce 3 veya 4 kez yanıp sönmelidir. Daha sonra gücü kesmek güvenlidir.

Genelde kapanır, birkaç dakika uzaklaşır ve sonra güç kablosunu çıkarırım.


15

Pi'yi yeniden başlatmak için gücü kesmenize gerek yoktur. SD Kartın yanında bir çift ped var (Sanırım sıfırlama etiketli muhtemelen çalışıyor - Pi'mde göremiyorum çünkü hepsi kart üzerinde lehimlenmiştir.) Yeniden başlatmak için kısa bir süre.

Son Rasbpian'ın kapatma için yerleşik bir süreci var (işleyen systemd-logind)

Aşağıdakini ekleyin /boot/config.txt

dtoverlay=gpio-shutdown,gpio_pin=5

Bu, Pi'nin düzenli bir şekilde kapatılmasını başlatmak için pim 29 (GPIO 5) ve pim 30 (Gnd) arasında bağlanan bir anahtarı etkinleştirir.

Neredeyse herhangi bir pin kullanılabilir - varsayılan değer pin 5'tir (GPIO 3), ancak bu genellikle I²C için ,gpio_pin=21kullanılır, ancak kod 40 pininde (GPIO 21) ve pin 39'da (Gnd) kullanılan pinleri kullanır.

sudo poweroffPi'yi kapatmanı tavsiye ederim . Yaptığınız işte yanlış bir şey yok, ancak poweroffyeşil LED'in güçlenmesi güvenli olduğunda 1 saniye aralıklarla 10 kez yanıp sönmesine neden oluyor.

Pi'yi bir buton ile kapatacak bir Python senaryosuna sahibim.

#!/usr/bin/env python2.7
#-------------------------------------------------------------------------------
# Name:         Shutdown Daemon
#
# Purpose:      This program gets activated at the end of the boot process by
#               cron. (@ reboot sudo python /home/pi/shutdown_daemon.py)
#               It monitors a button press. If the user presses the button, we
#               Halt the Pi, by executing the poweroff command.
#
#               The power to the Pi will then be cut when the Pi has reached the
#               poweroff state (Halt).
#               To activate a gpio pin with the poweroff state, the
#               /boot/config.txt file needs to have :
#               dtoverlay=gpio-poweroff,gpiopin=27
#
# Author:      Paul Versteeg
#
# Created:     15-06-2015, revised on 18-12-2015
# Copyright:   (c) Paul 2015
# https://www.raspberrypi.org/forums/viewtopic.php?p=864409#p864409
#-------------------------------------------------------------------------------

import RPi.GPIO as GPIO
import subprocess
import time

GPIO.setmode(GPIO.BCM) # use GPIO numbering
GPIO.setwarnings(False)

# I use the following two GPIO pins because they are next to each other,
# and I can use a two pin header to connect the switch logic to the Pi.
# INT = 17    # GPIO-17 button interrupt to shutdown procedure
# KILL = 27   # GPIO-27 /KILL : this pin is programmed in /boot/config.txt and cannot be used by any other program
INT = 21    # GPIO button interrupt to shutdown procedure

# use a weak pull_up to create a high
GPIO.setup(INT, GPIO.IN, pull_up_down=GPIO.PUD_UP)

def main():

    while True:
        # set an interrupt on a falling edge and wait for it to happen
        GPIO.wait_for_edge(INT, GPIO.FALLING)
#       print "button pressed"
        time.sleep(1)   # Wait 1 second to check for spurious input
        if( GPIO.input(INT) == 0 ) :
            subprocess.call(['poweroff'], shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)

if __name__ == '__main__':
    main()

Bu python kodunu referans olarak ekleyebilir misiniz, peki güç kaynağını verirsem otomatik olarak pi veya başka bir şey başlatacak mı?
Gaurav Dave

4

Hiç kimse bu soruyu cevaplamış gibi görünmüyor: "Ahududu Pi'nin fişini çekmek hangi noktada güvenlidir?"

Düzgün kapanmak için

sudo shutdown

Bunu yaptığınızda, "ACT" ışığının (yeşil ışık) 10 kez (0,5 saniye aralıklarla) sürekli yanıp söndüğünü göreceksiniz. Yanıp sönmeyi bıraktıktan sonra yeşil ışık sönecektir. Bu noktada, gücü kesmek veya fişi çekmek güvenlidir.

Pi'ye uygulanan güç olduğu sürece kırmızı ışık yanmaya devam edecektir.

Kapattıktan sonra, gücü kesmeniz ve Pi'yi çalıştırmak için gücü tekrar uygulamanız gerekir.


2

Önceki cevapların belirttiği gibi, kırmızı led, pi'nin yeşil ledin olduğu gibi güç aldığı anlamına gelir (disk aktivitesine inanıyorum)

Bir kapatma komutundan sonra yeşil led yanıp sönmeyi bıraktığında fişi çekebilir veya tahtadaki run / reset pedlerini kısa devre yapabilirsiniz

Bu web sitesinde birkaç pimi lehimleme konusunda istekliyseniz, donanım sıfırlama anahtarı ekleme konusunda harika talimatlar vardır.

Sabit sıfırlamayı kullanırsanız, yalnızca durdurulduktan veya sistemin kapatılmasından sonra veya işlemciyi hemen yeniden başlattıktan son çare olarak kullandığınızdan emin olun, SD kartınıza yazıyorsanız, güç kesmek gibi potansiyel olarak bozabilirsiniz çalışırken


2

İşte gerçekten basit bir kapatma python betiği.

import RPi.GPIO as GPIO 
import os 
channel=11 
GPIO.setmode(GPIO.BOARD) 
#Pin 11 & Gnd 

GPIO.setup(channel, GPIO.IN, pull_up_down=GPIO.PUD_UP) 
GPIO.wait_for_edge(channel, GPIO.FALLING) 
os.system("sudo shutdown -h now")
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.