HTTP_PHP<<>> SECURE_LOOPBACK_PYTHON_APP<<>>串行端口

时间:2017-08-11 18:36:55

标签: php python

我正在我的覆盆子pi上运行一个python脚本,它从arduino读取串行输入。这是通过while循环完成的。我试图找出如何停止读取并调用函数或其他脚本从我的PHP代码向arduino写入数据。

我创建了两个不同的脚本,一个读取脚本和一个编写脚本,我需要在需要时从PHP代码调用编写脚本。但在我看来,这可以通过更有效,更简单的方式来完成。

阅读Scipt。

while True:

data = serial.readline().decode('ascii')

if data.find("#UID") != -1 :
    print("UID found" + data)
elif data.find("#USER") != -1:
    UpdateUser(data)
elif data.find("#ALARM") != -1:
    UpdateAlarm(data)
elif data.find("#INHABITANTS") != -1:
    if FindUserHome() == False:
        serial.write(b'NO#')
    else:
        serial.write(b'YES#')

编写脚本

import serial
import sys
import time

serial = serial.Serial("/dev/ttyACM0", baudrate = 9600, timeout = 1)
time.sleep(3)
name = sys.argv[1]
print(sys.argv[1])
serial.reset_output_buffer()
serial.write(b"WRITE:"+name.encode() + b"________#")
exit()

PHP

 <?php
include_once "../DataAcces/Database_Functions.inc";
if (isset($_POST["submit"]) && isset($_POST["idPerson"]) && isset($_GET["query"])) 
{
    $firstName = getFirstName($_POST["idPerson"])[0];
    system("sudo python /home/pi/Python_Scripts/writing.py " . escapeshellarg($firstName));
    system("sudo python /home/pi/Python_Scripts/reading.py");
} else if (!isset($_GET["query"]) && is_null($_GET["query"]))
    header("redirect: Person.php");
else system("sudo killall python");
?>
<!doctype html>

0 个答案:

没有答案