PiPHP может получить доступ к выводу GPIO только со второй попытки

При включении булавки с библиотекой PiPHP я увидел нечто действительно странное. Когда я загрузил свою малину и попытался открыть страницу, которая включала контакт 2, я получил ошибку.

Неустранимая ошибка: Uncaught RuntimeException: fopen (/ sys / class / gpio / gpio2 / direction): не удалось открыть поток: в доступе отказано в /var/www/html/vendor/piphp/gpio/src/FileSystem/FileSystem.php:69

Но потом я обновил страницу, и она заработала.

Это проблема, потому что я пытаюсь запустить скрипт php при запуске, чтобы включить контакты, которые сохраняются в базе данных. Код выглядит так:

$services = $database->select('service','*',['onEvent' => 0]);
foreach ($services as $service){
$pin = intval($service['pin']);
$pin = $gpio->getOutputPin($pin);

if ($service['status'] == "1")
$pin->setValue(PinInterface::VALUE_HIGH);
else
$pin->setValue(PinInterface::VALUE_LOW);
}

Чтобы заставить его работать, я должен написать команду вручную:

php /var/www/html/startup.php

Пока я не получаю ошибок.

WWW-данные пользователя Apache находятся в группе gpio, и для группы в файлах gpio установлены права доступа 7:

pi @ raspberrypi: ~ $ cd / sys / class / gpio

pi @ raspberrypi: / sys / class / gpio $ ls -l

всего 0

-rwxrwx — 1 root gpio 4096 16 марта 19:31 экспорт

lrwxrwxrwx 1 root gpio 0 16 марта 19:31 gpio2

lrwxrwxrwx 1 root gpio 0 13 марта 16:17 gpiochip0

lrwxrwxrwx 1 root gpio 0 13 марта 16:17 gpiochip100

lrwxrwxrwx 1 root gpio 0 13 марта 16:17 gpiochip128

-rwxrwx — 1 root gpio 4096 13 марта 16:17

pi @ raspberrypi: / sys / class / gpio $ groups www-data

www-data: www-data gpio

0

Решение

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

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

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

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