HTTP_PHP & lt; & lt; & gt; & gt; SECURE_LOOPBACK_PYTHON_APP & lt; & lt; & gt; & gt; ПОСЛЕДОВАТЕЛЬНЫЙ ПОРТ

Я использую скрипт Python на моем Raspberry Pi, который читает последовательный ввод с Arduino. Это делается с помощью истинного цикла. Я пытаюсь выяснить, как я могу прекратить чтение и вызвать функцию или другой скрипт для записи данных в arduino из моего кода PHP.

Я создал два разных сценария, сценарий чтения и записи, и при необходимости вызываю сценарий записи из кода PHP. Но мне кажется, что это можно сделать более эффективным и более простым способом.

Чтение Скипта.

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

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector