
Satura rādītājs:
2025 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2025-01-23 14:59

Raspberry Pi ir ļoti noderīga skaitļošanas platforma, kas ļauj izveidot dažādas IoT/robotikas/viedās mājas/… projektu lietojumprogrammas. Viena lieta, kas tai nav, salīdzinot ar parasto datoru, ir izslēgšanas poga. Tātad, kā mēs to varam izveidot paši? Labi, darīsim to kopā!
Šai apmācībai jums būs nepieciešams:
- 1 Raspberry Pi jau ir konfigurēts un gatavs lietošanai
- 1 maizes dēlis vai kaut kas, kas ļaus jums izveidot elektronisko shēmu
- 1 spiedpoga
- 2 džemperu vadi
Ja jūs nekad neesat izmantojis Raspberry Pi, varat apskatīt manu pamācību par to, kā un ko darīt, lai to konfigurētu:
www.instructables.com/How-to-Setup-a-Raspberry-Pi-and-Start-Using-It/
1. darbība: elektroniskā shēma



Šeit nav nekas īpaši sarežģīts, tā ir diezgan vienkārša shēma. Iepriekš redzamie 2 attēli izskaidro ķēdes uzbūvi. Pogas ievadīšanai varat izmantot jebkuru GPIO tapu, kas jums jāreģistrē, jums vienkārši jāatjaunina kods.
Ātri paskaidrosim, kā tas darbosies:
- SARKANAIS vads ved 3.3V uz vienu spiedpogas galu.
- melnais kabelis savieno spiedpogas otru galu ar Pi GPIO, kas tiks izmantots kā ieeja.
- pēc noklusējuma poga ir atvērta, tāpēc caur to nav sprieguma. Tātad, ja poga netiek nospiesta, melnais kabelis ir pie 0 V sprieguma. Tas nozīmē, ka Pi GPIO ieejas loģiskais stāvoklis ir 0.
- kad poga tiks nospiesta, spriegums iet caur to un MELNAIS kabelis tiks savienots ar 3.3V. Pēc tam Raspberry Pi ieejā redzēs 3,3 V spriegumu, kas atbilst loģiskajam stāvoklim 1.
2. darbība: Python kods

Tagad, kad ķēde ir gatava lietošanai, mums ir jāraksta kods, kas to darbinās, un es šeit izmantoju Python PyCharm vidē. Es konfigurēju pogu, lai izslēgtu Raspberry Pi tikai tad, kad tas tiek nospiests vairāk nekā 3 sekundes. Iemesls, kāpēc es tā daru, ir tas, ka ir ļoti viegli to nejauši nospiest un jūs nevēlaties nejauši izslēgt savu Pi.
Iepriekš redzamais izdrukas ekrāns ir no manas PyCharm vides, un kods ir šāds (ar nelielu atšķirību 26. rindā, kas ir saistīta ar citu projektu, bet šeit nav nepieciešama):
# Šis ir kods, lai izslēgtu Raspberry Pi, nospiežot un turot noteiktu pogu. # Ārējais modulis importē RPi. GPIO kā GPIOimport laikaimportēšana os # Raspberry Pi pin & mainīgie lai izslēgtu Raspberry PiGPIO.setwarnings (nepatiess) GPIO.setmode (GPIO. BCM) # Broadcom pin-numerācijas shēmaGPIO.setup (button_poweroff, GPIO. IN, pull_up_down = GPIO. PUD_DOWN) # Poga iestatīta kā ievades vērtība True: GPIO.wait_for_edge (button_poweroff, GPIO. RISING) start = time.time () time.sleep (0.2) # Slēdzis debounce, kamēr GPIO.input (button_poweroff) == 1: time.sleep (0.01) length = time.time () - sākt, ja garums > hold_time: os.system ("sudo izslēgšana")
Pirmā lieta, ja spiedpogu esat pievienojis citam GPIO, ir atjaunināt 11. rindu iepriekš redzamajā ekrānā, izmantojot attiecīgo GPIO ieeju:
button_poweroff = GPIO_X # Atjauniniet, izmantojot jūsu ķēdē izmantoto pareizo GPIO
Arī mainīgais hold_time ļauj mainīt gaidīšanas laiku, kas izraisa Pi izslēgšanu.
3. darbība. Kā automātiski palaist skriptu pēc sāknēšanas procedūras


Tagad, kad kods ir gatavs, mums tas vienkārši jāizpilda. Bet būtu ērti, ja mēs varētu šo skriptu izpildīt katru reizi, kad Pi tiek startēts, automātiskā veidā, tāpēc poga darbotos bez mums, lai skriptu palaistu katru reizi. Ir daudz veidu, kā to izdarīt. Šeit esmu pievienojis vienu rindiņu rc.local failā, kas atrodas jūsu Pi mapē / etc /. Tas tiek izpildīts kā sāknēšanas secības daļa.
Jums ir jāatver komandrinda un jāievada šādas komandas (1. izdrukas ekrāns iepriekš):
cd /
cd utt sudo nano rc.local
Pirmā komanda aizvedīs jūs no jūsu /home /pi direktorijas uz saknes direktoriju, kas ir /.
Pēc tam otrā komanda aizvedīs uz direktoriju / etc /.
Visbeidzot, trešais atvērs rc.local failu kā superlietotāju ar pilnām rediģēšanas tiesībām, kas jums jāmaina.
Kad esat failā, jums vienkārši jāpievieno rinda tā beigās, bet pirms izejas 0 paziņojuma (2. izdrukas ekrāns iepriekš):
# Pievienojiet šo rindu rc.local failam, lai palaistu skriptu
sudo python /home/pi/Documents/shutdown_with_hold.py &
Šeit ir dažas lietas, kurām jums jāpievērš uzmanība:
- faila nosaukums: augšējā rindā es pieņemu, ka fails ir shutdown_with_hold.py. Bet tas var būt viss, ko vēlaties, vienkārši atjauniniet nosaukumu ar savu.
- kur esat saglabājis savu failu: augšējā rindā es pieņemu, ka tas ir saglabāts jūsu/home/pi/Documents direktorijā. Bet atkal tas var būt jebkur. Jums vienkārši jāpārliecinās, ka šeit ir jānorāda sava faila absolūtais ceļš.
- rakstzīme "&" tās beigās: tas ir svarīgi, un tas ļauj šai komandai darboties fonā
Un tas arī viss! Tātad tagad skripts tiks izpildīts katru reizi, kad jūsu Pi būs ieslēgts, un jums vienkārši būs jānospiež poga vairāk nekā 3 sekundes, lai to izslēgtu.
Ieteicams:
Microsoft Teams izslēgšanas poga: 4 soļi

Microsoft Teams skaņas izslēgšanas poga: izveidojiet viegli sasniedzamu pogu, lai izslēgtu/ieslēgtu skaņu, kamēr atrodaties Microsoft Teams zvanā! Tā kā 2020. gads. Šis projekts izmanto Adafruit Circuit Playground Express (CPX) un lielu spiedpogu, lai izveidotu karsēšanas taustiņu Microsoft Teams, izmantojot karsto taustiņu
Mobilās pilnas uzlādes automātiskā izslēgšanās: 20 soļi

Mobilās pilnas uzlādes automātiskā izslēgšanās: mobilā tālruņa uzlādes pārtraukums automātiski, kad tas ir pilnībā uzlādēts. Neuztraucieties par akumulatora darbības laiku, pat ja to būtu atstājis nakti. Mobilos tālruņus darbina baterijas. Lai gan baterijas ir ērti lietojamas, to lietošanai ir nepieciešami arī daži piesardzības pasākumi. A ma
Raspberry Pi izslēgšanas indikators: 6 soļi

Raspberry Pi izslēgšanas indikators: tā ir ļoti vienkārša shēma aveņu pi darbības stāvokļa parādīšanai (turpmāk-RPI). Varbūt tas ir noderīgi, ja RPI izmantojat kā bezgalvu (bez monitora). Dažreiz mani uztrauc, kad ir īstais laiks pilnīgai izslēgšanai. pēc RPI izslēgšanas
Tālummaiņas fiziskā izslēgšanas poga: 7 soļi (ar attēliem)

Sapulču tālummaiņas fiziskā izslēgšanas poga: ja izmantojat tālummaiņas sapulces darbam vai skolai, šī poga ir paredzēta jums! Nospiediet pogu, lai pārslēgtu skaņu, vai turiet nospiestu pogu, lai izietu no sapulces (vai beigtu to, ja esat saimnieks). Lieliski ir tas, ka tas darbojas pat tad, ja jūsu Zoom windo
Raspberry Pi barošanas poga: 3 soļi

Raspberry Pi barošanas poga: ja jūs esat tāds kā es, iespējams, meklējāt internetu, meklējot labāko risinājumu, kā droši ieslēgt un izslēgt Raspberry Pi, nospiežot pogu. Lai gan pastāv daudzi risinājumi, lielākajai daļai ir nepieciešams lejupielādēt Python skriptu un likt to izpildīt