Isi kandungan:
- Langkah 1: Litar Elektronik
- Langkah 2: Kod Python
- Langkah 3: Cara Melancarkan Skrip Secara Automatik Selepas Prosedur Boot
Video: Butang Matikan untuk Raspberry Pi: 3 Langkah
2024 Pengarang: John Day | [email protected]. Diubah suai terakhir: 2024-01-30 11:06
Raspberry Pi adalah platform pengkomputeran yang sangat berguna yang membolehkan membuat pelbagai aplikasi projek IoT / robotik / rumah pintar /…. Satu perkara yang tidak dimiliki, dibandingkan dengan komputer biasa, adalah butang mematikan. Jadi bagaimana kita boleh membuatnya sendiri? Baiklah, mari kita buat bersama!
Untuk tutorial ini, anda memerlukan perkara berikut:
- 1 Raspberry Pi sudah dikonfigurasikan dan siap digunakan
- 1 papan roti atau sesuatu yang membolehkan anda membuat litar elektronik
- 1 butang tekan
- 2 wayar pelompat
Sekiranya anda tidak pernah menggunakan Raspberry Pi, anda boleh melihat tutorial saya tentang bagaimana dan apa yang harus dilakukan untuk mengkonfigurasinya:
www.instructables.com/How-to-Setup-a-Raspberry-Pi-and-Start-Using-It/
Langkah 1: Litar Elektronik
Tidak ada yang rumit di sini, ini adalah litar yang mudah. 2 gambar di atas menerangkan binaan litar. Anda boleh menggunakan pin GPIO mana yang anda mahukan untuk input butang, anda hanya perlu memastikan untuk mengemas kini kod untuk menggambarkannya.
Mari terangkan dengan cepat bagaimana ini berfungsi:
- wayar MERAH mengambil 3.3V ke satu hujung butang tekan.
- kabel HITAM menghubungkan hujung lain butang tekan ke Pi GPIO yang akan digunakan sebagai input.
- secara lalai butang terbuka, jadi tidak ada voltan yang melaluinya. Jadi kabel HITAM berada pada 0V apabila butang tidak ditekan. Ini bermaksud bahawa keadaan logik input Pi GPIO adalah 0.
- apabila butang akan ditekan, voltan akan melaluinya dan kabel HITAM akan dihubungkan ke 3.3V. Raspberry Pi kemudian akan melihat voltan 3.3V pada inputnya, sepadan dengan keadaan logik 1.
Langkah 2: Kod Python
Sekarang litar siap digunakan, kita perlu menulis kod yang akan menjalankannya, dan saya menggunakan Python di persekitaran PyCharm di sini. Saya mengkonfigurasi butang untuk mematikan Raspberry Pi hanya apabila ditekan lebih dari 3 saat. Sebab mengapa saya melakukannya adalah sangat mudah untuk menekannya secara tidak sengaja, dan anda tidak mahu menutup Pi anda secara tidak sengaja.
Skrin cetak di atas adalah dari persekitaran PyCharm saya, dan kodnya adalah yang berikut (dengan perbezaan kecil pada baris 26 yang dihubungkan dengan projek lain tetapi tidak diperlukan di sini):
# Ini adalah kod untuk mematikan Raspberry Pi ketika menekan dan menahan butang yang ditentukan # Modul luaran mengimport RPi. GPIO sebagai GPIOimport waktu import os # Raspberry Pi pin & variabel definitons & hold_time = 3 # Tahan masa dalam beberapa saat ke butang poweroff_poweroff = 1 # Butang tekan untuk mematikan Raspberry PiGPIO.setwarnings (Salah) GPIO.setmode (GPIO. BCM) # Skema penomboran pin BroadcomGPIO.setup (button_poweroff, GPIO. IN, pull_up_down = GPIO. PUD_DOWN) # Butang ditetapkan sebagai input sementara Benar: GPIO.wait_for_edge (button_poweroff, GPIO. RISING) start = time.time () time.sleep (0.2) # Switch debounce sementara GPIO.input (button_poweroff) == 1: time.sleep (0.01) length = time.time () - mulakan jika panjang > hold_time: os.system ("sudo poweroff")
Perkara pertama, jika anda telah menyambungkan butang tekan ke GPIO yang berbeza, adalah mengemas kini baris 11 pada skrin cetak di atas dengan input GPIO yang berkaitan:
button_poweroff = GPIO_X # Kemas kini dengan GPIO yang betul yang digunakan pada litar anda
Juga, pemboleh ubah hold_time membolehkan anda mengubah masa menunggu yang memicu Pi ditutup.
Langkah 3: Cara Melancarkan Skrip Secara Automatik Selepas Prosedur Boot
Sekarang kita sudah mempunyai kodnya, kita hanya perlu melaksanakannya. Tetapi, akan lebih baik jika kita dapat menjalankan skrip ini setiap kali Pi melakukan boot, dengan cara automatik, jadi butang akan berfungsi tanpa kita menjalankan skrip setiap kali. Terdapat banyak cara untuk melakukannya. Saya telah menambahkan satu baris ke dalam fail rc.local yang terletak di / etc / folder Pi anda. Ia dilaksanakan sebagai sebahagian daripada urutan boot.
Anda perlu membuka baris perintah dan ketik perintah berikut (skrin cetak pertama di atas):
cd /
cd dll sudo nano rc.local
Perintah pertama akan membawa anda dari direktori / home / pi anda ke root, iaitu /.
Perintah kedua kemudian akan membawa anda ke direktori / etc /.
Akhirnya, yang ketiga akan membuka fail rc.local sebagai superuser, dengan hak edit penuh, yang anda perlukan untuk mengubah suai fail tersebut.
Setelah masuk ke fail, anda hanya perlu menambahkan baris di hujungnya, tetapi sebelum pernyataan keluar 0 (skrin cetak ke-2 di atas):
# Tambahkan baris ini ke fail rc.local untuk melancarkan skrip
sudo python /home/pi/Documents/shutdown_with_hold.py &
Terdapat beberapa perkara yang perlu anda perhatikan, di sini:
- nama fail anda: pada baris di atas, saya mengandaikan bahawa fail tersebut shutdown_with_hold.py. Tetapi itu boleh menjadi apa sahaja yang anda mahukan, cukup kemas kini namanya dengan nama anda.
- di mana anda telah menyimpan fail anda: pada baris di atas, saya menganggapnya disimpan di direktori / home / pi / Documents anda. Tetapi sekali lagi, ia boleh berada di mana sahaja. Anda hanya perlu memastikan meletakkan jalan mutlak ke fail anda di sini.
- watak "&" di hujungnya: ini penting, dan ia membenarkan arahan ini berjalan di latar belakang
Dan itu sahaja! Jadi sekarang, skrip akan dijalankan setiap kali Pi anda AKTIF, dan anda hanya perlu menekan lebih dari 3 saat pada butang untuk mematikannya.
Disyorkan:
Beban USB untuk Menghentikan Power Bank Dari Matikan Auto: 4 Langkah
Beban USB untuk Menghentikan Bank Kuasa Dari Matikan Auto: Saya mempunyai beberapa bank kuasa, yang berfungsi dengan baik, tetapi saya menghadapi masalah semasa mengecas wayarles wayar telinga akan ditutup secara automatik, kerana arus pengecasan yang terlalu kecil. Oleh itu, saya memutuskan untuk membuat penyesuai USB dengan beban kecil untuk mengekalkan daya
Pemasa Matikan Tertunda untuk Basikal: 5 Langkah
Pemasa Matikan Kelewatan untuk Basikal: Masalah: Saya telah menambah peranti yang berbeza pada basikal saya. Masalahnya ialah sama ada mereka disambungkan secara langsung ke bateri dan mereka mengeluarkan arus kebocoran atau selepas suis utama dan tidak tersedia semasa saya mematikan basikal saya. Contoh: Anda perlu mengecas
Raspberry Pi Hidupkan / Matikan Dengan Sebarang Alat Kawalan Jauh: 3 Langkah (dengan Gambar)
Raspberry Pi Hidupkan / Matikan Dengan Sebarang Alat Kawalan Jauh: Mengawal kuasa ke Raspberry Pi dengan alat kawalan jauh IR
Gunakan 1 Input Analog untuk 6 Butang untuk Arduino: 6 Langkah
Gunakan 1 Input Analog untuk 6 Butang untuk Arduino: Saya sering bertanya-tanya bagaimana saya boleh mendapatkan lebih banyak Input Digital untuk Arduino saya. Baru-baru ini saya terfikir bahawa saya boleh menggunakan salah satu Input Analog untuk membawa pelbagai input digital. Saya melakukan carian pantas dan mendapati di mana orang berada
Programkan PC Anda untuk Matikan Secara Automatik dengan Menentukan Masa Yang Anda Inginkan Melakukannya: 4 Langkah
Programkan PC Anda untuk Dimatikan Secara Automatik dengan Menentukan Masa Yang Anda Inginkan Melakukannya: hei, itu instrumen lain yang diambil dari kehidupan seharian saya … kali terakhir saya harus memuat turun banyak perisian ke PC saya dan saya terpaksa membiarkannya memuat turun semalaman, saya tidak mahu komputer saya sentiasa dihidupkan sepanjang malam setelah selesai memuat turun dan di