2017-06-20 2 views
1

Hallo ich bin beauftragt worden, einen Online-Zähler mit passiven Infrarot-Sensor und einem Raspberry PI zu tun. Ich muss in der Lage sein, die Zählung auf einer Webseitenseite zu posten, die ich selbst erstellen musste. Jedoch ist es mir nicht möglich, die Zählerausgabe, die ich in Python codiert hatte, auf meine Webseitenseite zu bekommen.Raspberry Pi-Ausgabe auf eine PHP-Webseite

Ich habe versucht mit count (output), exec() und shell_exec() und es hat nicht funktioniert.

Ist es möglich, nicht zu versuchen, Flasche zu verwenden? Wie ich bin sehr neu auf Webpage-Design und Python.

Ich bin nicht sehr gut in der Codierung von Python oder PHP.

Dies ist die Python-Codes i

meiner Webseite Codes geschrieben haben
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() 

Diese sind:

<!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> 
+0

Um klar zu sein, wenn Sie öffnen up Ihre Datenbank direkt - entweder mit PHPMyAdmin oder mit der MySQL-Shell - gibt es irgendwelche Daten in der 'people' Tabelle? –

+0

Es gibt Daten in der People-Tabelle. Ich kann die Daten, die ich von der Webseite erhalte, die ich erstellt habe, anzeigen. – nurul98

+0

Also, was ist das Problem genau? Wenn die Seite die Daten anzeigt, was versuchen Sie eigentlich zu erreichen? –

Antwort

0

enter image description here Ich bin ich nicht ganz sicher verstehen, was Sie wollen, aber wenn Sie nur wollen eine Gesamtzahl Besucher, und Sie haben eine Zeile in Ihrer Tabelle pro Besucher:

+0

Hallo Herr Es tut mir leid, dass ich miserabel zu beschreiben bin, aber ich bin mir nicht sicher, wie man die Zählung, die die Raspberry Pi in dieser Webseite gezählt hat, anzeigen. Wenn es möglich ist, mach die Zählung live. Ich bin sehr dankbar, dass du versucht hast, eine Lösung anzubieten. – nurul98

+0

Um den Zähler live zu schalten, müssen Sie JS/AJAX verwenden. Der einfachste Weg wäre, die Seite automatisch für einige Sekunden zu aktualisieren. –

+0

Aber ich kann die Zählung nicht auf der Seite – nurul98