gpt4 book ai didi

python - 当按下按钮时,python 脚本在 Raspberry Pi 上自动运行

转载 作者:行者123 更新时间:2023-11-28 22:40:00 26 4
gpt4 key购买 nike

在线找不到教程。

当我按下一个按钮时,我想要运行一些 python 脚本。我不想先在 Raspberry Pi 的终端上运行 python 脚本,然后像一些教程提到的那样等待按钮被按下。我还希望整个脚本在我按下按钮后运行,而不是我必须在整个脚本运行期间按下按钮。

基本上,我希望脚本无需连接到 Raspberry Pi 或 GUI 的 HDMI 显示器或鼠标即可运行。只需按下一个按钮。

此外,如果有人有关于如何使用 GPIO 和代码设置按钮的图表,那将非常有帮助。

我该怎么做?我在上面找不到任何东西,它看起来很简单。

最佳答案

轮询的更有效替代方法是使用中断:

#!/usr/bin/env python2.7  
# script by Alex Eames http://RasPi.tv/
# http://raspi.tv/2013/how-to-use-interrupts-with-python-on-the-raspberry-pi-and-rpi-gpio
import RPi.GPIO as GPIO
GPIO.setmode(GPIO.BCM)

# GPIO 23 set up as input. It is pulled up to stop false signals
GPIO.setup(23, GPIO.IN, pull_up_down=GPIO.PUD_UP)

print "Make sure you have a button connected so that when pressed"
print "it will connect GPIO port 23 (pin 16) to GND (pin 6)\n"
raw_input("Press Enter when ready\n>")

print "Waiting for falling edge on port 23"
# now the program will do nothing until the signal on port 23
# starts to fall towards zero. This is why we used the pullup
# to keep the signal high and prevent a false interrupt

print "During this waiting time, your computer is not"
print "wasting resources by polling for a button press.\n"
print "Press your button when ready to initiate a falling edge interrupt."
try:
GPIO.wait_for_edge(23, GPIO.FALLING)
print "\nFalling edge detected. Now your program can continue with"
print "whatever was waiting for a button press."
except KeyboardInterrupt:
GPIO.cleanup() # clean up GPIO on CTRL+C exit
GPIO.cleanup() # clean up GPIO on normal exit

(来自 http://raspi.tv/2013/how-to-use-interrupts-with-python-on-the-raspberry-pi-and-rpi-gpio)

关于python - 当按下按钮时,python 脚本在 Raspberry Pi 上自动运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34149547/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com