Это мой код, который определяет положение ребенка и вставляет его в мою базу данных, которая состоит только из 1 строки. Я использую лимит, чтобы удалить старую строку и остаться последней строкой.
#!/usr/bin/python
import RPi.GPIO as GPIO
import time
import MySQLdb
db = MySQLdb.connect("localhost", "root", "raspberry", "cribdb")
GPIO.setmode(GPIO.BOARD)
GPIO.setup(12, GPIO.IN) #Right level-1
GPIO.setup(16, GPIO.IN) #Right level-2
GPIO.setup(18, GPIO.IN) #Right level-3
last_status = None
while True:
input12 = GPIO.input(12)
input16 = GPIO.input(16)
input18 = GPIO.input(18)
if (input12 == 1 and input16 == 0 and input18 == 0):
status = "Lying down"
elif (input12 == 1 and input16 == 1 and input18 == 0):
status = "Sitting"
elif (input12 == 1 and input16 == 1 and input18 == 1):
status = "Standing"
elif (input12 == 0 and input16 == 1 and input18 == 1):
status = "Trying to climb out"
elif (input12 == 0 and input16 == 0 and input18 == 1):
status = "Almost out"
else:
status = "Out of the crib"
time.sleep(1)
if status != last_status:
print(status)
last_status = status
curs = db.cursor()
curs.execute(
"""INSERT INTO tbstatus values(NULL, %s)""", (status,)
)
db.commit()
number_of_rows= curs.execute("SELECT * FROM tbstatus")
if (number_of_rows >= 2:
curs.execute("""DELETE FROM tbstatus order by id LIMIT 1""")
db.commit()
print("\n 1st row deleted ")
Это мой код в PHP, который отображает данные из базы данных. Он просто получает значения статуса в базе данных и отображает их на веб-странице.
<?php require("connection.php"); ?>
<!DOCTYPE html>
<html>
<head>
<title> BABY MONITORING SYSTEM </title>
<link rel="stylesheet" href="css/styles.css">
</head>
<body>
<div id="wrapper">
<?php
$sql_cmd = "SELECT * FROM tbstatus ORDER BY id desc";
$stmt = $con->prepare($sql_cmd);
$stmt->execute();
echo "<table>";
echo "<tr>";
echo "<td>STATUS OF THE BABY: </td>";
echo "</tr>";
while ($result = $stmt->fetch(PDO::FETCH_ASSOC)) {
echo "<tr>";
echo "<td>" . $result['status'] . "</td>";
echo "</tr>";
}
echo "</table>";
?>
</div>
</body>
<script src="js/jquery-3.3.1.min.js"></script>
<script src="js/main.js"></script>
</html>
Как веб-страница перезагрузится, когда моя база данных получит новый статус от моих датчиков?