嗨,我一直负责使用被动红外传感器和Raspberry PI在线计数器。我需要能够在我自己创建的网页上发布计数。但是,我无法获得我用python编码到我的网页的计数器输出。Raspberry Pi输出到PHP网页
我已经尝试使用计数(输出),exec()和shell_exec(),它没有奏效。
是否有可能不尝试使用烧瓶?因为我对网页设计和python很陌生。
我不擅长编码python或php。
这是我写
import RPi.GPIO as GPIO #1
import math
import os
import threading
import subprocess
import time
import os.path
import MySQLdb
db = MySQLdb.connect(host="localhost", user="root", passwd="brandon",
db="menagerie")
cur =db.cursor()
GPIO.setmode(GPIO.BOARD)
GPIO.setup(12,GPIO.IN)
GPIO.setup(11,GPIO.IN) #16
peoplecount=0 #18
while(1):
if GPIO.input(12):
time.sleep(2)
peoplecount = peoplecount+1
time.sleep(1.5)
cur.execute("INSERT INTO people(vistor,Date) VALUES(1,now())")
db.commit()
print peoplecount
print "hello" #30
if(peoplecount < 1):
peoplecount=0
elif GPIO.input(11):
time.sleep(2)
peoplecount = peoplecount-1
time.sleep(1.5)
print peoplecount
print "come back again"
conn.commit()
cur.close()
这些都是我的网页代码蟒蛇代码:
<!DOCTYPE html>
<html>
<head>
<style>
table,th,td {
border:1px solid black;
}
</style>
</head>
<body>
<?php
echo "welcome to PI LAB<br>";
echo date ('y-m-d H:i:s');
$conn = new mysqli("localhost","root","brandon","menagerie");
if($conn->connect_error)
{
die("connection failed:" . $conn->connect_error);
}
$sql = "SELECT * FROM people";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
echo "<table><tr><th>Vistor</th><th>Entry</th></tr>";
while($row = $result->fetch_assoc()) {
echo "<tr><td>" . $row["vistor"]. " </td><td> " . $row["Date"]. "</td>
</tr>";
}
echo"</table>";
}
$conn->close();
?>
</body>
</html>
要清楚,如果您打开直接使用PHPMyAdmin或使用mysql shell直接启动数据库 - “人员”表中是否有数据? –
人员表中有数据。我能够显示我从我创建的网页获取的数据。 – nurul98
那究竟是什么问题呢?如果页面显示数据,你究竟想要达到什么目的? –