Sadržaj:

Dugme za isključivanje za Raspberry Pi: 3 koraka
Dugme za isključivanje za Raspberry Pi: 3 koraka

Video: Dugme za isključivanje za Raspberry Pi: 3 koraka

Video: Dugme za isključivanje za Raspberry Pi: 3 koraka
Video: Автомобильный генератор для генератора с самовозбуждением с использованием ДИОДА 2024, Juli
Anonim
Dugme za isključivanje za Raspberry Pi
Dugme za isključivanje za Raspberry Pi

Raspberry Pi je vrlo korisna računalna platforma koja omogućuje stvaranje različitih IoT/robotika/pametnih kuća/… projektnih aplikacija. Jedina stvar koju nema, u poređenju sa normalnim računarom, je dugme za isključivanje. Pa kako ga možemo sami stvoriti? U redu, učinimo to zajedno!

Za ovaj vodič trebat će vam sljedeće:

  • 1 Raspberry Pi je već konfiguriran i spreman za upotrebu
  • 1 ploča ili nešto što će vam omogućiti stvaranje elektroničkog kola
  • 1 dugme
  • 2 kratkospojne žice

Ako nikada niste koristili Raspberry Pi, možete pogledati moje uputstvo o tome kako i šta učiniti da ga konfigurirate:

www.instructables.com/How-to-Setup-a-Raspberry-Pi-and-Start-Using-It/

Korak 1: Elektroničko kolo

Elektronsko kolo
Elektronsko kolo
Elektronsko kolo
Elektronsko kolo
Elektronsko kolo
Elektronsko kolo

Ovdje nema ništa komplicirano, to je prilično jednostavan krug. Gornje 2 slike objašnjavaju konstrukciju kola. Za unos dugmeta možete koristiti bilo koji GPIO pin koji želite, samo trebate ažurirati kôd kako bi to odražavao.

Objasnimo brzo kako će ovo funkcionirati:

  • CRVENA žica vodi 3.3V na jedan kraj tipke.
  • CRNI kabel povezuje drugi kraj tipke s Pi GPIO -om koji će se koristiti kao ulaz.
  • prema zadanim postavkama tipka je otvorena, tako da napon ne prolazi kroz nju. Dakle, CRNI kabel je na 0V kad dugme ne pritisnete. To znači da je logičko stanje ulaza Pi GPIO 0.
  • kada se dugme pritisne, napon će proći kroz njega, a CRNI kabel će biti spojen na 3.3V. Raspberry Pi će tada na svom ulazu vidjeti napon od 3,3 V, što odgovara logičkom stanju 1.

Korak 2: Python kod

Python kod
Python kod

Sada kada je kolo spremno za upotrebu, moramo napisati kôd koji će ga pokrenuti, a ja ovdje koristim Python u PyCharm okruženju. Konfigurirao sam dugme za isključivanje Raspberry Pi-a samo nakon pritiska na više od 3 sekunde. Razlog zašto to radim je taj što je vrlo lako slučajno pritisnuti i ne želite slučajno isključiti svoj Pi.

Gornji ekran za štampanje je iz mog okruženja PyCharm, a kôd je sljedeći (sa manjom razlikom na liniji 26 koja je povezana sa drugim projektom, ali ovdje nije potrebna):

# Ovo je kôd za isključivanje Raspberry Pi -a pri pritisku i držanju definiranog gumba # Vanjski modul importira import RPi. GPIO kao GPIOimport timeimport os # Raspberry Pi pin i varijable definitons & hold_time = 3 # Vrijeme zadržavanja u sekundama za poweroffbutton_poweroff = 1 # Pritisnite gumb za isključivanje Raspberry PiGPIO.setwarnings (Netačno) GPIO.setmode (GPIO. BCM) # Broadcom shema numeriranja PIN-ovaGPIO.setup (button_poweroff, GPIO. IN, pull_up_down = GPIO. PUD_DOWN) # Dugme postavljeno kao ulaz dok je True: GPIO.wait_for_edge (button_poweroff, GPIO. RISING) start = time.time () time.sleep (0.2) # Prebaci debounce dok je GPIO.input (button_poweroff) == 1: time.sleep (0.01) length = time.time () - start if length > hold_time: os.system ("sudo poweroff")

Prva stvar, ako ste pritisnuli dugme na drugi GPIO, je da ažurirate red 11 na gornjem ekranu za štampanje odgovarajućim GPIO ulazom:

button_poweroff = GPIO_X # Ažurirajte ispravnim GPIO -om koji se koristi na vašem krugu

Također, varijabla hold_time omogućuje vam da promijenite vrijeme čekanja koje pokreće isključivanje Pi.

Korak 3: Kako automatski pokrenuti skriptu nakon procedure pokretanja

Kako automatski pokrenuti skriptu nakon procedure pokretanja
Kako automatski pokrenuti skriptu nakon procedure pokretanja
Kako automatski pokrenuti skriptu nakon procedure pokretanja
Kako automatski pokrenuti skriptu nakon procedure pokretanja

Sada kada imamo kod spreman, samo ga moramo izvršiti. Ali, bilo bi zgodno ako bismo mogli izvršiti ovu skriptu svaki put kada se Pi pokrene, na automatski način, tako da bi dugme radilo bez nas da svaki put pokrenemo skriptu. Postoji mnogo načina za to. Ovdje sam dodao jedan red u datoteku rc.local koja se nalazi u / etc / folderu vašeg Pi -a. Izvršava se kao dio niza pokretanja.

Morate otvoriti komandnu liniju i upisati sljedeće naredbe (prvi ekran za ispis gore):

cd /

cd itd. sudo nano rc.local

Prva naredba će vas odvesti iz vašeg /home /pi direktorija u glavni, a to je /.

Druga naredba će vas odvesti u / etc / direktorij.

Konačno, treći će otvoriti datoteku rc.local kao superkorisnik, s punim pravima uređivanja, koja vam je potrebna za izmjenu datoteke.

Jednom u datoteci, samo trebate dodati redak na kraju, ali prije naredbe exit 0 (drugi gornji ekran za ispis):

# Dodajte ovu liniju u datoteku rc.local da biste pokrenuli skriptu

sudo python /home/pi/Documents/shutdown_with_hold.py &

Ovdje morate obratiti pažnju na nekoliko stvari:

  1. naziv vaše datoteke: u gornjoj liniji pretpostavljam da je datoteka shutdown_with_hold.py. Ali moglo bi biti što god želite, samo ažurirajte ime sa svojim.
  2. gde ste sačuvali datoteku: u gornjem redu pretpostavljam da je sačuvana u vašem/home/pi/Documents direktoriju. Ali opet, može biti bilo gdje. Ovdje samo trebate staviti apsolutni put do datoteke.
  3. znak "&" na njegovom kraju: ovo je važno i omogućava da se ova naredba izvodi u pozadini

I to je to! Dakle, sada će se skripta izvršavati svaki put kada vaš Pi bude UKLJUČEN, i samo ćete morati pritisnuti dugme duže od 3 sekunde da biste ga isključili.

Preporučuje se: