Talaan ng mga Nilalaman:

Button na Power-off para sa Raspberry Pi: 3 Hakbang
Button na Power-off para sa Raspberry Pi: 3 Hakbang

Video: Button na Power-off para sa Raspberry Pi: 3 Hakbang

Video: Button na Power-off para sa Raspberry Pi: 3 Hakbang
Video: How to Turn Raspberry Pi Pico into PLC | Beremiz4Pico 2024, Nobyembre
Anonim
Button na Power-off para sa Raspberry Pi
Button na Power-off para sa Raspberry Pi

Ang Raspberry Pi ay isang lubhang kapaki-pakinabang na platform ng computing na nagbibigay-daan sa paglikha ng iba't ibang mga IoT / robotics / smart-home /… application ng proyekto. Ang isang bagay na wala dito, ihambing sa isang normal na computer, ay isang shutdown na power-off button. Kaya paano natin malilikha ang isa sa ating sarili? Sige, sama-sama nating gawin!

Para sa tutorial na ito, kakailanganin mo ang sumusunod:

  • Naka-configure na ang 1 Raspberry Pi at handa nang gamitin
  • 1 breadboard o isang bagay na magbibigay-daan sa iyo upang lumikha ng electronic circuit
  • 1 push-button
  • 2 mga jumper wires

Kung hindi ka pa nakakagamit ng isang Raspberry Pi, maaari mong suriin ang aking tutorial sa kung paano at kung ano ang gagawin upang mai-configure ito:

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

Hakbang 1: Electronic Circuit

Elektronikong Circuit
Elektronikong Circuit
Elektronikong Circuit
Elektronikong Circuit
Elektronikong Circuit
Elektronikong Circuit

Walang sobrang kumplikado dito, ito ay isang prangka na circuit. Ang 2 larawan sa itaas ay nagpapaliwanag ng circuit build. Maaari mong gamitin ang alinmang GPIO pin na gusto mo para sa pag-input ng pindutan, kakailanganin mong tiyakin na i-update ang code upang maipakita iyon.

Mabilis nating ipaliwanag kung paano ito gagana:

  • ang RED wire ay kumukuha ng 3.3V sa isang dulo ng push button.
  • ang BLACK cable ay kumukonekta sa kabilang dulo ng pindutan ng push sa isang Pi GPIO na gagamitin bilang input.
  • bilang default ang pindutan ay bukas, kaya walang boltahe na dumadaan dito. Kaya't ang BLACK cable ay nasa 0V kapag ang pindutan ay hindi pinindot. Nangangahulugan ito na ang lohikal na estado ng input ng Pi GPIO ay 0.
  • kapag ang pindutan ay pinindot, ang boltahe ay dumaan dito at ang BLACK cable ay maiugnay sa 3.3V. Makikita ng Raspberry Pi ang boltahe na 3.3V sa input nito, na naaayon sa isang lohikal na estado ng 1.

Hakbang 2: Python Code

Code ng Python
Code ng Python

Ngayon na ang circuit ay handa nang magamit, kailangan naming isulat ang code na tatakbo nito, at gumagamit ako ng Python sa isang kapaligiran sa PyCharm dito. Na-configure ko ang pindutan upang i-power-off lamang ang Raspberry Pi kapag pinindot ito nang higit sa 3 segundo dahil dito. Ang dahilan kung bakit ko ginagawa ito ay napakadali na mapilitan ito nang hindi sinasadya, at hindi mo nais na isara ang iyong Pi nang hindi sinasadya.

Ang printscreen sa itaas ay mula sa aking kapaligiran sa PyCharm, at ang code ay ang sumusunod (na may isang maliit na pagkakaiba sa linya 26 na naka-link sa isa pang proyekto ngunit hindi kinakailangan dito):

# Ito ay isang code upang i-poweroff ang Raspberry Pi kapag pinipindot at hinahawakan ang isang tinukoy na pindutan # External module import importport RPi. GPIO bilang GPIOimport timeimport os # Raspberry Pi pin & variable variable & hold_time = 3 # Hold time in sec to poweroffbutton_poweroff = 1 # Push button upang patayin ang Raspberry PiGPIO.setwarnings (Maling) GPIO.setmode (GPIO. BCM) # Broadcom pin-numbering schemeGPIO.setup (button_poweroff, GPIO. IN, pull_up_down = GPIO. PUD_DOWN) # Button set as input Sementara Totoo: GPIO.wait_for_edge (button_poweroff, GPIO. RISING) start = time.time () time.s Sleep (0.2) # Lumipat ng debounce habang GPIO.input (button_poweroff) == 1: time.s Sleep (0.01) haba = time.time () - magsimula kung haba > hold_time: os.system ("sudo poweroff")

Ang unang bagay, kung nakakonekta mo ang pindutan ng itulak sa ibang GPIO, ay i-update ang linya 11 sa itaas na printscreen na may kaugnay na input ng GPIO:

button_poweroff = GPIO_X # I-update gamit ang tamang GPIO na ginamit sa iyong circuit

Gayundin, pinapayagan ka ng variable ng hold_time na baguhin ang oras ng paghihintay na nagpapalitaw upang ma-shut down ang Pi.

Hakbang 3: Paano Ilunsad ang Awtomatikong Script Pagkatapos ng Pamamaraan ng Boot

Paano Ilunsad ang Script nang Awtomatiko Pagkatapos ng Pamamaraan ng Boot
Paano Ilunsad ang Script nang Awtomatiko Pagkatapos ng Pamamaraan ng Boot
Paano Ilunsad ang Script nang Awtomatiko Pagkatapos ng Pamamaraan ng Boot
Paano Ilunsad ang Script nang Awtomatiko Pagkatapos ng Pamamaraan ng Boot

Ngayon na handa na namin ang code, kailangan lang namin itong isagawa. Ngunit, magiging maginhawa kung maaari naming ipatupad ang script na ito sa tuwing mag-boot ang Pi, sa isang awtomatikong paraan, kaya gagana ang pindutan nang hindi namin pinapatakbo ang script sa bawat oras. Maraming paraan upang magawa ito. Naidagdag ko dito ang isang linya sa rc.local file na matatagpuan sa / etc / folder ng iyong Pi. Isinasagawa ito bilang bahagi ng pagkakasunud-sunod ng boot.

Kailangan mong buksan ang isang linya ng utos at i-type ang mga sumusunod na utos (1st printscreen sa itaas):

cd /

cd atbp sudo nano rc.local

Dadalhin ka ng unang utos mula sa iyong direktoryo / bahay / pi patungo sa root one, na kung saan ay /.

Dadalhin ka ng pangalawang utos sa direktoryo / etc /.

Sa wakas, bubuksan ng pangatlo ang rc.local file bilang isang superuser, na may ganap na mga karapatan sa pag-edit, na kailangan mong baguhin ang file.

Sa sandaling nasa file, kailangan mo lamang magdagdag ng isang linya sa dulo nito, ngunit bago ang pahayag ng exit 0 (ika-2 printscreen sa itaas):

# Idagdag ang linyang ito sa rc.local file upang ilunsad ang script

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

Mayroong ilang mga bagay na kailangan mong bigyang pansin, dito:

  1. ang pangalan ng iyong file: sa linya sa itaas, ipinapalagay ko na ang file ay shutdown_with_hold.py. Ngunit maaaring maging kahit anong gusto mo, i-update mo lang ang pangalan sa iyo.
  2. kung saan mo nai-save ang iyong file: sa linya sa itaas, ipinapalagay kong nai-save ito sa iyong direktoryo / tahanan / pi / Mga dokumento. Ngunit muli, maaari itong maging kahit saan. Kailangan mo lamang tiyakin na ilagay ang ganap na landas sa iyong file dito.
  3. ang character na "&" sa dulo nito: mahalaga ito, at pinapayagan nitong tumakbo sa background ang utos na ito

At yun lang! Kaya ngayon, ang script ay papatayin sa tuwing magiging ON ang iyong Pi, at pipindutin mo lamang ang higit sa 3 segundo sa pindutan upang mapatay ito.

Inirerekumendang: