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

2024-01-05

网上找不到教程。

当我按下按钮时,我想要运行一些 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  

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

当按下按钮时,python 脚本会在 Raspberry Pi 上自动运行 的相关文章

  • 如何手动计算分类交叉熵?

    当我手动计算二元交叉熵时 我应用 sigmoid 来获取概率 然后使用交叉熵公式并平均结果 logits tf constant 1 1 0 1 2 labels tf constant 0 0 1 1 1 probs tf nn sigm
  • 与区域指示符字符类匹配的 python 正则表达式

    我在 Mac 上使用 python 2 7 10 表情符号中的标志由一对表示区域指示符号 https en wikipedia org wiki Regional Indicator Symbol 我想编写一个 python 正则表达式来在
  • 使用 Python 从文本中删除非英语单词

    我正在 python 上进行数据清理练习 我正在清理的文本包含我想删除的意大利语单词 我一直在网上搜索是否可以使用像 nltk 这样的工具包在 Python 上执行此操作 例如给出一些文本 Io andiamo to the beach w
  • 使用 kivy textinput 的 'input_type' 属性的问题

    您好 我在使用 kivy 的文本输入小部件的 input type 属性时遇到问题 问题是我制作了两个自定义文本输入 其中一个称为 StrText 其中设置了 input type text 然后是第二个文本输入 名为 NumText 其
  • 使用Python请求登录Google帐户

    在多个登录页面上 需要谷歌登录才能继续 我想用requestspython 中的库以便让我自己登录 通常这很容易使用requests库 但是我无法让它工作 我不确定这是否是由于 Google 做出的一些限制 也许我需要使用他们的 API 或
  • Pandas Merge (pd.merge) 如何设置索引和连接

    我有两个 pandas 数据框 dfLeft 和 dfRight 以日期作为索引 dfLeft cusip factorL date 2012 01 03 XXXX 4 5 2012 01 03 YYYY 6 2 2012 01 04 XX
  • 使用 xlrd 打开 BytesIO (xlsx)

    我正在使用 Django 需要读取上传的 xlsx 文件的工作表和单元格 使用 xlrd 应该可以 但因为文件必须保留在内存中并且可能不会保存到我不知道如何继续的位置 本例中的起点是一个带有上传输入和提交按钮的网页 提交后 文件被捕获req
  • Python 2:SMTPServerDisconnected:连接意外关闭

    我在用 Python 发送电子邮件时遇到一个小问题 me my email address you recipient s email address me email protected cdn cgi l email protectio
  • 从Python中的字典列表中查找特定值

    我的字典列表中有以下数据 data I versicolor 0 Sepal Length 7 9 I setosa 0 I virginica 1 I versicolor 0 I setosa 1 I virginica 0 Sepal
  • 在Python中检索PostgreSQL数据库的新记录

    在数据库表中 第二列和第三列有数字 将会不断添加新行 每次 每当数据库表中添加新行时 python 都需要不断检查它们 当 sql 表中收到的新行数低于 105 时 python 应打印一条通知消息 警告 数量已降至 105 以下 另一方面
  • pyspark 将 twitter json 流式传输到 DF

    我正在从事集成工作spark streaming with twitter using pythonAPI 我看到的大多数示例或代码片段和博客是他们从Twitter JSON文件进行最终处理 但根据我的用例 我需要所有字段twitter J
  • Cython 和类的构造函数

    我对 Cython 使用默认构造函数有疑问 我的 C 类 Node 如下 Node h class Node public Node std cerr lt lt calling no arg constructor lt lt std e
  • 从 NumPy ndarray 中选择行

    我只想从 a 中选择某些行NumPy http en wikipedia org wiki NumPy基于第二列中的值的数组 例如 此测试数组的第二列包含从 1 到 10 的整数 gt gt gt test numpy array nump
  • Pandas 将多行列数据帧转换为单行多列数据帧

    我的数据框如下 code df Car measurements Before After amb temp 30 268212 26 627491 engine temp 41 812730 39 254255 engine eff 15
  • 在本地网络上运行 Bokeh 服务器

    我有一个简单的 Bokeh 应用程序 名为app py如下 contents of app py from bokeh client import push session from bokeh embed import server do
  • 使用for循环时如何获取前一个元素? [复制]

    这个问题在这里已经有答案了 可能的重复 Python 循环内的上一个和下一个值 https stackoverflow com questions 1011938 python previous and next values inside
  • 模拟pytest中的异常终止

    我的多线程应用程序遇到了一个错误 主线程的任何异常终止 例如 未捕获的异常或某些信号 都会导致其他线程之一死锁 并阻止进程干净退出 我解决了这个问题 但我想添加一个测试来防止回归 但是 我不知道如何在 pytest 中模拟异常终止 如果我只
  • Scipy Sparse:SciPy/NumPy 更新后出现奇异矩阵警告

    我的问题是由大型电阻器系统的节点分析产生的 我基本上是在设置一个大的稀疏矩阵A 我的解向量b 我正在尝试求解线性方程A x b 为了做到这一点 我正在使用scipy sparse linalg spsolve method 直到最近 一切都
  • Pandas 每周计算重复值

    我有一个Dataframe包含按周分组的日期和 ID df date id 2022 02 07 1 3 5 4 2022 02 14 2 1 3 2022 02 21 9 10 1 2022 05 16 我想计算每周有多少 id 与上周重
  • 使用随机放置的 NaN 创建示例 numpy 数组

    出于测试目的 我想创建一个M by Nnumpy 数组与c随机放置的 NaN import numpy as np M 10 N 5 c 15 A np random randn M N A mask np nan 我在创建时遇到问题mas

随机推荐

  • Rails 4 - simple_form 和从 url 预填充字段

    我正在使用 simple form 我想在表单中预先填充几个字段 在表单的链接中 我将几个值传递给 URL 中的参数 当我尝试将值传递给整数或关联字段时 就会出现麻烦 无论哪种情况 该字段都不会预先填充 下面的示例 前两个字段填充得很好 但
  • std::pow 给出小数指数的错误近似值

    这就是我想要做的事情 double x 1 1402 double pow 1 3 std pow x pow 1 结果是 0 但我期望 0 4465 方程是 1 x 3 1 1402 find x 1 3 是 0 这是整数除法 Try d
  • 当 Ionic 2 中的值发生变化时检索本地存储值

    我正在使用 ionic 2 框架 并且尝试使用本地存储来存储网络状态 this local new Storage LocalStorage this local set status this status 有两个值 强 和 弱 可以动态
  • Nginx 和 FastCGI 下载 PHP 文件而不是处理它们

    我在 Windows 7 64 位 PHP 5 4 12 和 Nginx 1 5 8 上运行 我已经阅读了许多有关设置和解决此问题的教程 即当从本地主机请求 PHP 文件时 它将其作为文件下载 而不是显示 PHP 页面 下面是我的 ngin
  • 按日期顺序全局搜索文件?

    我的 python 脚本中有这行代码 它在特定目录中的所有文件中搜索 cycle log for searchedfile in glob glob cycle log 这工作得很好 但是当我将脚本运行到网络位置时 它不会按顺序搜索它们 而
  • 水晶报表自定义纸张尺寸?

    我需要水晶报告中的自定义纸张尺寸 例如宽度 5 英寸和高度 7 英寸 是否可以 IIRC 您在打印机上设置自定义纸张尺寸 然后当您在设计时在报告中设置打印机时 Crystal 会拉出自定义尺寸
  • 通过 Kafka 报告 (prometheus) 指标

    我正在寻找一种将 Prometheus 与应用程序解耦的方法 通过在中间放置 Kafka 来实现如下目标 Application metrics gt Kafka gt Prometheus 为了解决这个问题我有两个问题 是否有任何 Jav
  • Firestore社交网络数据结构

    如何构建社交网络数据库结构 例如twitter我们可以在我们的时间线中关注用户并获取他们的所有推文 我已经检查过了Firestore 如何构建 feed 和 follow 系统 https stackoverflow com questio
  • 检查序言列表元素的关系

    可以说我有关系 Happy james Happy harry unhappy Tom unhappy Ben unhappy Dick 然后是人员名单 Ben James Harry Tom Dick 如何迭代列表并检查每个列表元素的布尔
  • Jetpack Compose 记住的实际功能是什么?它在幕后是如何工作的?

    查看 Codelab 的基本教程 其中有一个片段可以在单击时增加按钮上的计数器 Composable fun MyScreenContent names List
  • 手动调用 MVC 3 客户端验证以进行 ajax 帖子

    我正在创建一个 MVC 3 Web 应用程序 我想在实体类上使用数据注释 然后在回发到服务器之前使用不显眼的客户端验证 这在发常规帖子时效果很好 如果任何字段无效 我会收到验证和验证摘要 但是 我想通过ajax和json回发信息 我如何首先
  • 如何在Scala中编写极限函数?

    在想知道我的第一个 Scala 应用程序中的某些错误后 我发现我的 limit 函数根本不起作用 所以这是我的第一次尝试 def limit x Double min Double max Double if x lt min min if
  • 使用 XLIFF 改进 Android 字符串资源

    我见过一些使用 XLIFF 标签来包装变量的 Google 应用程序和代码示例 我看到这样做有一些很大的优势 特别是对于替换非描述性格式参数 例如 1 s 不幸的是 XLIFF 似乎并没有很好地集成到 ADT 中 以以下字符串资源为例
  • 通过 Python Socket 向 Maya 发送多行命令

    我想知道有没有办法通过python套接字和Maya自己的 commandPort 命令向maya发送多行命令 我使用下面的代码将代码发送到 Maya message 值是命令 import socket HOST 192 168 1 122
  • 在指定目录启动 JFileChooser 并仅显示特定类型的文件

    我有一个使用 JFileChooser 的程序 简而言之 完整的程序是一个 GUI 允许用户操作 PNG 和 JPG 我想让 JFileChooser 立即打开图片目录 Windows 当用户打开 JFileChooser 时 它将直接打开
  • 如何让函数在 python 中返回图形(使用 matplotlib)?

    假设我有一些数据 并且我想通过将其传递给自定义绘图函数 myplot 来创建该数据的绘图 我在 myplot 中使用 matplotlib 的模块 我希望 myplot 返回图形的句柄 并且在调用此函数时不显示绘图 以下是 iPython
  • SQL Server - 创建针对数据库中所有表运行的单个触发器

    我试图在 SQL Server 2005 中创建一个在 INSERT UPDATE 和 DELETE 上运行的触发器 但针对数据库中的所有表 用于审计目的 是否有可能做到这一点 目前 我们为数据库中的每个表都有单独的触发器 并且由于它们都执
  • 从 Spring.NET xml 配置访问 ConfigurationManager.AppSettings 值

    我有一个要求 要求我使用 Spring net 获取存储在 app config 中的连接字符串 然后将检索到的连接字符串注入到实例化对象中 我如何使用 Spring net 的 xml 配置来做到这一点 例如 我的代码不这样做 Sprin
  • SQLSTATE[HY000] [2002] php_network_getaddresses: getaddrinfo 失败: 提供节点名或服务名,或未知

    我在跑步时保留这个php artisan migrate SQLSTATE HY000 2002 php network getaddresses getaddrinfo 失败 提供节点名或服务名 或未知 我的环境 Laravel 框架版本
  • 当按下按钮时,python 脚本会在 Raspberry Pi 上自动运行

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