bash — использование сценария PHP с веб-сервера для доступа к выводам GPIO на RPI и выполнения команд GPIO в определенное время

Я использую DialogFlow для создания чат-бота, и я подключил его к Raspberry Pi 3 Model B Vi.2. DialogFlow отправляет действие, которое index.php на Pi использует инструкцию switch-case, чтобы решить, какое действие предпринять. Я хотел бы получить доступ к выводам GPIO в определенное время, хотя именно здесь у меня возникают трудности. Пример показан ниже:

switch ($action) {
case "kitchenOn":
echo shell_exec('sh script.sh');
sendMessage(array(
"source" => $update["result"]["source"],
"speech" => "Kitchen light: on",
"displayText" => "Hello from",
"contextOut" => array()
));
break;
}

Файл «script.sh» содержит следующее:

#!/bin/bash

echo "gpio -1 mode 7 out" | at 20:00
echo "gpio -1 write 7 1" | at 20:00

Скрипт работает, когда я запускаю его непосредственно из моего Pi, но не когда он выполняется из скрипта PHP. Кто-нибудь может сказать мне, почему это?

Спасибо заранее.

Обновить

Я использовал exec () и печатает код выхода:

sh:0: Can't open script2.sh

Файл сценария находится в домашнем каталоге, поэтому он должен указывать прямо на это, есть идеи?

0

Решение

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

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

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

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