gpt4 book ai didi

python - Raspberry PI 通过 URL 向 PHP 脚本发送数据

转载 作者:太空宇宙 更新时间:2023-11-04 04:30:34 27 4
gpt4 key购买 nike

我正在做一个有趣的项目。我需要将数据发送到我的 PHP 脚本,该脚本将使用 MySQLi 将其写入 MySQL 数据库。当跟踪的输入引脚收到打开信号时,我的 Raspberry PI 需要通过 url 将数据发送到脚本。

Python 代码:

import RPi.GPIO as GPIO # Import Raspberry Pi GPIO library

def button_callback1(channel):
print("Left(07) energized.")

def button_callback2(channel):
print("Right(13) energized.")

GPIO.setwarnings(False) # Ignore warning for now
GPIO.setmode(GPIO.BOARD) # Use physical pin numbering

GPIO.setup(07, GPIO.IN, pull_up_down=GPIO.PUD_DOWN) # Set pin 07 to be an input pin and set initial value to be pulled low (off)
GPIO.add_event_detect(07,GPIO.RISING,callback=button_callback1) # Setup event on pin 07 rising edge

GPIO.setup(13, GPIO.IN, pull_up_down=GPIO.PUD_DOWN) # Set pin 13 to be an input pin and set initial value to be pulled low (off)
GPIO.add_event_detect(13,GPIO.RISING,callback=button_callback2) # Setup event on pin 13 rising edge

message = input("Press enter to quit\n\n") # Run until someone presses enter
GPIO.cleanup() # Clean up

在我的回调中,我需要以“localhost/datagrab.php?pin=#PIN#&status=1”每当引脚通电时。

我计划在未来进一步扩展这一点,让 python 脚本访问相同的链接,如果在 15 秒内没有打开信号,则将变量状态传递为 0。

请把我引向正确的方向

谢谢

山姆

最佳答案

如果您想真正打开网页并查看它,或者只是用更新的信息调用它,您的问题有点不清楚?以下是两者的选项。

像脚本一样调用它:

import subprocess

# if the script doesn't need output.
subprocess.call("php /path/to/your/script.php?pin=#" + pin + "#&status=1")
#obviously modify '+ pin +' to match your variable

# if you want output
proc = subprocess.Popen("php /path/to/your/script.php?pin=#" + pin + "#&status=1", shell=True,
stdout=subprocess.PIPE)
script_response = proc.stdout.read()

如果在插入失败等情况下抛出某种错误,输出可能会有用。

如果你真的想让你的 Python 在调用时打开浏览器,你会想做这样的事情——使用“webbrowser”模块:

import webbrowser

webbrowser.open("http://your/php/script.php?pin=#"+ pin +"#&status=1")
# open the file in the browser with your variable matched to your script

这里在堆栈和其他地方有很多对这些方法的引用,但这是开始构建回调部分的一个简单的地方。

关于python - Raspberry PI 通过 URL 向 PHP 脚本发送数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52711780/

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