Как отправить команды на USB-реле, подключенное к RPi, используя PHP и Python?

Я пытаюсь переключить реле, подключенное через USB к RPi, используя команду PHP. Я использую дополнительную плату реле USB-8, рядом со всеми доступными GPIO-контактами на RPi.
Я могу переключать оба (все 8) USB-реле на плате вместе с (всеми 28) GPIO-подключенными реле на GPIO-реле-платах, используя только 1 скрипт Python.
Соответствующие инструкции Python в test.py-файлы являются:

os.system("gpio write 25 1")
os.system("usbrelay HW554_1=1")

Это работает все нормально, когда вызывается напрямую через python3 test.py

Тем не менее, когда я использую скрипт PHP (для адресации действия через веб-сайт), использую инструкцию PHP:

$command = escapeshellcmd('/usr/custom/test.py');
$output = shell_exec($command);
echo $ output;

Результатом является (… я думаю) полное выполнение PHP-скрипта, где на RPi, через Python, только инструкция os.system("gpio write 25 1") эффективно выполняется (реле переключается), в то время как инструкция os.system("usbrelay HW554_1=1") кажется выполненным (так как при использовании time.sleep() Команды до и после os.system()-instruction), но на самом деле это не приводит к переключению USB-реле. Я также пытался использовать bash-shell-file test.sh (с правами на исполнение), что не было решением.
Как обратиться к USB-реле через PHP & питон & RPi, пока он работает напрямую через Python & RPi?

#!/usr/bin/env python
import os
import time

os.system("gpio write 25 1")
time.sleep(1)
os.system("gpio write 25 0")
time.sleep(1)
os.system("usbrelay HW554_1=1")
time.sleep(1)
os.system("usbrelay HW554_1=0")

<?php
$command = escapeshellcmd('/usr/custom/test.py');
$output = shell_exec($command);
echo $output;
>?

2

Решение

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

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

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

По вопросам рекламы [email protected]