Durdur / uyandır düğmesi oluşturuluyor mu?


10

5 ve 6 numaralı pinleri kullanarak bir durdurma modundan çıkma düğmesi ayarladım. Bu iki pin, bağlandığında gücü sıfırlar ve durma süresinden yeniden başlatılır. Aynı düğmeyi, mümkünse, basıldığında bilgisayarı kullanarak kapatacak bir komut çalıştırmak için kullanmak istiyorum sudo halt. Bu mümkün mü? İçin sudo haltdüğme, o zaman, butona GPIO 1 bağlanmak GPIO 6 (öğütülmüş) ve genel GPIO pimine bölmek gerekir. GPIO 5'i buna bağlamanın mümkün / güvenli olup olmadığını bilmiyorum.

Yanıtlar:


8

Başka GPIO pinleri eklemenize gerek yok. Durdurma düğmeniz için aynı iğneleri kullanabilirsiniz.

İşte pim 5'i yoklayacak bazı python kodu. Düğmeye basıldığında pim 5 toprağa çekilir (pim 6) ve kod DÜŞÜK okunur. Bu durumda haltkomutu çalıştırır

#!/usr/bin/python
import RPi.GPIO as GPIO
import time
import subprocess

GPIO.setmode(GPIO.BOARD)
# set pin 5 to input, and enable the internal pull-up resistor
GPIO.setup(5, GPIO.IN, pull_up_down=GPIO.PUD_UP)

oldButtonState1 = True
while True:
    buttonState1 = GPIO.input(5)

    if buttonState1 != oldButtonState1 and buttonState1 == False :
        # print "Button 1 pressed"
        subprocess.call("halt", shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)

    oldButtonState1 = buttonState1

    time.sleep(.1)

PS. Halt'tan Uyandırma işlevini bilmiyordum. Teşekkürler şimdi biliyorum! Çok teşekkürler.


1
Parlak! Hepsini sadece 5 ve 6'da yapabileceğimin farkında değildim. Teşekkürler! :)
Ryan McClure

Yani, ikimiz de bugün bir şeyler öğrendik (-:
Gerben

Kendime bir not daha. Hatta bir basının yeniden başlatılması ve kapatma yapmak için basılı tutması için kodu değiştirebilirsiniz (veya tam tersi).
Gerben

Senaryonuz hangi şekilde sürekli çalışıyor, örn. Film izlerken performansta herhangi bir düşüş fark ettiniz mi?
athanassis

1
Gerçekten de, çok uzun zaman, ancak CPU, birkaç saniye boyunca% 100 isabet ettiğinde değil, örneğin bir tam HD filmin kodunu çözerken. Deneyeceğim, test asla acıtmaz. Geri dönüşünüz için teşekkür ederiz!
athanassis

2

Pi'nin sıfırlanabileceği P6 başlığına bir sıfırlama düğmesi eklenebilir. P6'nın iki pimini geçici olarak kısaltmak CPU'nun yumuşak bir şekilde sıfırlanmasına neden olur (bu da Pi'yi durma / kapatma durumundan 'uyandırabilir')

cf


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.