İçindekiler:
- Adım 1: Elektronik Devre
- 2. Adım: Python Kodu
- Adım 3: Önyükleme Prosedüründen Sonra Komut Dosyasını Otomatik Olarak Başlatma
Video: Raspberry Pi için Kapatma Düğmesi: 3 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:16
Raspberry Pi, çeşitli IoT/robot/akıllı ev/… proje uygulamaları oluşturmaya izin veren çok kullanışlı bir bilgi işlem platformudur. Normal bir bilgisayarla karşılaştırıldığında sahip olmadığı tek şey, kapatma kapatma düğmesidir. Peki kendimiz nasıl yaratabiliriz? Tamam, birlikte yapalım!
Bu eğitim için aşağıdakilere ihtiyacınız olacak:
- 1 Raspberry Pi yapılandırılmış ve kullanıma hazır
- 1 adet breadboard veya elektronik devreyi oluşturmanıza izin verecek bir şey
- 1 basma düğmesi
- 2 atlama teli
Ahududu Pi'yi hiç kullanmadıysanız, onu nasıl ve ne şekilde yapılandırmanız gerektiğine dair eğiticime göz atabilirsiniz:
www.instructables.com/How-to-Setup-a-Raspberry-Pi-and-Start-Using-It/
Adım 1: Elektronik Devre
Burada süper karmaşık bir şey yok, oldukça basit bir devre. Yukarıdaki 2 resim devre yapısını açıklamaktadır. Düğme girişi için istediğiniz GPIO pinini kullanabilirsiniz, sadece kodu bunu yansıtacak şekilde güncellemeniz gerekir.
Bunun nasıl olacağını hızlıca açıklayalım:
- KIRMIZI kablo, 3.3V'yi basmalı düğmenin bir ucuna alıyor.
- SİYAH kablo, basmalı düğmenin diğer ucunu giriş olarak kullanılacak bir Pi GPIO'ya bağlar.
- varsayılan olarak düğme açıktır, bu nedenle içinden voltaj geçmez. Yani düğmeye basılmadığında SİYAH kablo 0V'dadır. Bu, Pi GPIO girişinin mantıksal durumunun 0 olduğu anlamına gelir.
- butona basıldığında üzerinden voltaj geçecek ve SİYAH kablo 3.3V'a bağlanacaktır. Raspberry Pi daha sonra girişinde mantıksal 1 durumuna karşılık gelen 3.3V'luk bir voltaj görecektir.
2. Adım: Python Kodu
Artık devre kullanıma hazır olduğuna göre onu çalıştıracak kodu yazmamız gerekiyor ve burada Python'u bir PyCharm ortamında kullanıyorum. Düğmeyi, yalnızca sonuç olarak 3 saniyeden fazla basıldığında Raspberry Pi'yi kapatacak şekilde yapılandırdım. Bunu yapmamın nedeni, yanlışlıkla basılmasının çok kolay olması ve Pi'nizi yanlışlıkla kapatmak istememenizdir.
Yukarıdaki baskı ekranı PyCharm ortamımdan alınmıştır ve kod aşağıdaki gibidir (26. satırda başka bir projeye bağlı ancak burada gerekli olmayan küçük bir farkla):
# Bu, tanımlanmış bir düğmeyi basılı tutarken Raspberry Pi'yi kapatmak için kullanılan bir koddur# Harici modül importsimport RPi. GPIO as GPIOimport timeimport os# Raspberry Pi pini ve değişken tanımları &hold_time = 3 # Kapatmak için saniye cinsinden bekleme süresibutton_poweroff = 1 # Basma düğmesi Raspberry PiGPIO.setwarnings(False)GPIO.setmode(GPIO. BCM) # Broadcom pin-numaralandırma şemasıGPIO.setup(button_poweroff, GPIO. IN, pull_up_down=GPIO. PUD_DOWN) # Buton giriş olarak ayarlanırken True: GPIO.wait_for_edge(button_poweroff, GPIO. RISING) start = time.time() time.sleep(0.2) # Debounce while GPIO.input(button_poweroff) == 1: time.sleep(0.01) uzunluk = time.time() - uzunluk ise başla > hold_time: os.system("sudo poweroff")
Basmalı düğmeyi farklı bir GPIO'ya bağladıysanız, yapılacak ilk şey, yukarıdaki baskı ekranındaki 11. satırı ilgili GPIO girişi ile güncellemektir:
button_poweroff = GPIO_X # Devrenizde kullanılan doğru GPIO ile güncelleyin
Ayrıca hold_time değişkeni, Pi'nin kapanmasını tetikleyen bekleme süresini değiştirmenize olanak tanır.
Adım 3: Önyükleme Prosedüründen Sonra Komut Dosyasını Otomatik Olarak Başlatma
Şimdi kodumuz hazır olduğuna göre, sadece çalıştırmamız gerekiyor. Ancak, bu komut dosyasını Pi her başlatıldığında otomatik olarak çalıştırabilirsek uygun olur, böylece düğme her seferinde komut dosyasını çalıştırmak için biz olmadan çalışır. Bunu yapmanın birçok yolu var. Pi'nizin /etc/ klasöründe bulunan rc.local dosyasına buraya bir satır ekledim. Önyükleme sırasının bir parçası olarak yürütülür.
Bir komut satırı açmanız ve aşağıdaki komutları yazmanız gerekir (yukarıdaki 1. baskı ekranı):
cd /
cd vb sudo nano rc.local
İlk komut sizi /home/pi dizininden kök dizine, yani / dizinine götürecektir.
İkinci komut sizi /etc/ dizinine götürecektir.
Son olarak, üçüncüsü, rc.local dosyasını, dosyayı değiştirmeniz gereken tam düzenleme haklarına sahip bir süper kullanıcı olarak açacaktır.
Dosyaya girdikten sonra, sonuna bir satır eklemeniz yeterlidir, ancak çıkış 0 ifadesinden önce (yukarıdaki 2. baskı ekranı):
# Komut dosyasını başlatmak için bu satırı rc.local dosyasına ekleyin
sudo python /home/pi/Documents/shutdown_with_hold.py &
Burada dikkat etmeniz gereken birkaç şey var:
- dosyanızın adı: yukarıdaki satırda, dosyanın shutdown_with_hold.py olduğunu varsayıyorum. Ama ne istersen olabilir, sadece adını kendinle güncelle.
- dosyanızı kaydettiğiniz yer: yukarıdaki satırda, /home/pi/Documents dizininize kaydedildiğini varsayıyorum. Ama yine, her yerde olabilir. Dosyanızın mutlak yolunu buraya koyduğunuzdan emin olmanız yeterlidir.
- sonundaki "&" karakteri: bu önemlidir ve bu komutun arka planda çalışmasına izin verir
Ve bu kadar! Şimdi, komut dosyası Pi'niz her AÇIK olduğunda yürütülecek ve kapatmak için düğmeye 3 saniyeden fazla basmanız yeterli olacak.
Önerilen:
Doğru Kapatma için Yedek Güç Kaynağı: 5 Adım
Doğru Kapatma için Yedek Güç Kaynağı: Yedek güç kaynağı, ana güç kaynaklarının kesilmesi durumunda cihazlara güç sağlayan bir devredir. Bu durumda, bu yedek güç kaynağı, cihazın kapatma prosedürünü gerçekleştirebilmesi için yalnızca birkaç saniyeliğine güç sağlama amaçlıdır
Bisiklet için Gecikmeli Kapatma Zamanlayıcısı: 5 Adım
Bisiklet için Gecikmeli Kapanma Zamanlayıcısı: Sorun: Bisikletime farklı cihazlar ekledim. Sorun ya doğrudan aküye bağlı olup kaçak akım çekiyorlar ya da ana şalterden sonra ve bisikletimi kapattığımda kullanılamıyorlar.Örnekler: Şarj etmeniz gerekiyor
PLC Güvenliği için Kablosuz Güvenlik Düğmesi: 6 Adım (Resimlerle)
PLC Güvenliği için Kablosuz Güvenlik Düğmesi: Bu proje, tehlikeli üretim tesisleri için ek bir güvenlik katmanı oluşturmak için IoT ve (nihayetinde) robotik kullanma konseptimin kanıtıdır. Bu düğme, sinyal kontrolü de dahil olmak üzere birden fazla işlemi başlatmak veya durdurmak için kullanılabilir
Kerbal Space Programı için Fiziksel Bir Aşama Düğmesi ile Uzay Lansmanınızı Yükseltin: 6 Adım
Uzay Lansmanınızı Kerbal Space Programı için Fiziksel Evreleme Düğmesi ile Yükseltin: Geçenlerde Kerbal Space Programının demo versiyonunu aldım. Kerbal Space Program, roketler tasarlamanıza ve fırlatmanıza ve onları uzak aylara ve gezegenlere yönlendirmenize izin veren bir simülatör oyunudur. Hala aya başarılı bir şekilde inmeye çalışıyorum (o
Raspberry Pi için Dokunmatik Güç Düğmesi: 3 Adım
Raspberry Pi için Dokunmatik Güç Düğmesi: Bu davayı Retropie'm için yazdırıp kullanmaya başladığımdan beri, her zaman bir güç düğmesinin nasıl yapıldığını hayal ettim. Fikir, hareket düğmesini yapmak için tasarımı değiştirmek ve ardından bir anahtarı hareket ettirmekti. Sonunda, kasayı değiştirmeye gerek duymadığım başka bir fikrim vardı