Tạo nút dừng / đánh thức?


10

Tôi đã điều chỉnh nút đánh thức bằng cách sử dụng chân 5 và 6. Hai chân này khi được kết nối sẽ thiết lập lại nguồn và khởi động lại từ trạng thái dừng. Tôi muốn sử dụng cùng một nút này, nếu tôi có thể, để chạy một lệnh mà khi nhấn, sẽ tắt máy tính bằng cách sử dụng sudo halt. Điều này sẽ có thể? Đối với sudo haltnút, tôi sẽ cần kết nối từ GPIO 1 với nút, sau đó tách thành GPIO 6 (mặt đất) và pin GPIO chung. Tôi cũng không biết có thể kết nối GPIO 5 với điều này hay không.

Câu trả lời:


8

Không cần thêm các chân GPIO khác. Bạn chỉ có thể sử dụng các chân tương tự cho nút dừng của bạn.

Dưới đây là một số mã python sẽ thăm dò pin 5. Khi nhấn nút 5, pin 5 được kéo xuống đất (chân 6) và mã sẽ đọc THẤP. Trong trường hợp đó là sẽ chạy haltlệnh

#!/usr/bin/python
import RPi.GPIO as GPIO
import time
import subprocess

GPIO.setmode(GPIO.BOARD)
# set pin 5 to input, and enable the internal pull-up resistor
GPIO.setup(5, GPIO.IN, pull_up_down=GPIO.PUD_UP)

oldButtonState1 = True
while True:
    buttonState1 = GPIO.input(5)

    if buttonState1 != oldButtonState1 and buttonState1 == False :
        # print "Button 1 pressed"
        subprocess.call("halt", shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)

    oldButtonState1 = buttonState1

    time.sleep(.1)

Tái bút Tôi không biết về chức năng Wake from Halt. Nhờ bạn mà tôi biết bây giờ! Cảm ơn


1
Xuất sắc! Tôi đã không nhận ra rằng tôi có thể làm tất cả chỉ trong 5 và 6. Cảm ơn bạn! :)
Ryan McClure

Vì vậy, cả hai chúng tôi đã học được điều gì đó ngày hôm nay (-:
Gerben

Thêm một lưu ý cho bản thân mình. Bạn thậm chí có thể sửa đổi mã để báo chí thực hiện khởi động lại và nhấn và giữ để thực hiện tắt máy (hoặc ngược lại).
Gerben

Theo cách nào thì tập lệnh của bạn chạy liên tục, nghĩa là được tạo ra? Bạn có nhận thấy bất kỳ sự giảm hiệu suất khi xem phim?
athan Khung

1
Thật vậy, đó là thời gian rất dài, nhưng không phải khi CPU đạt 100% trong vài giây khi, ví dụ, giải mã một bộ phim full HD. Tôi sẽ thử, thử nghiệm không bao giờ đau. Cảm ơn vì bạn đã phản hồi!
athan Khung

2

Nút đặt lại có thể được gắn vào tiêu đề P6, trong đó Pi có thể được đặt lại. Việc rút ngắn hai chân của P6 trong giây lát sẽ gây ra sự thiết lập lại mềm của CPU (cũng có thể 'đánh thức' Pi khỏi trạng thái dừng / tắt máy)

cf


Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.