я имею ввиду сдедующее: Код (Bash): igor@Moxa:/home$ ls -al drwxrwxrwx 7 root root 4096 Apr 20 2016 . drwxr-xr-x 15 root root 0 Jan 1 1970 .. drwxr-xr-x 2 root root 4096 Oct 8 2014 .__lib drwxr-sr-x 5 fanuc1 fanuc1 4096 Oct 16 2015 fanuc1 drwxrwsrwx 30 www-data www-data 4096 Feb 8 16:00 httpd drwxrwxr-x 22 igor igor 4096 Apr 7 2016 igor drwxr-sr-x 3 mpi mpi 4096 Aug 12 2015 mpi Видите я зашел как gor@Moxa (В данном случае Moxa а не малина - но что там, что там линукс) видите: drwxrwsrwx 30 www-data www-data 4096 Feb 8 16:00 httpd в моём случае папкой httpd владеет пользователь www-data тоесть apache и соответственно WEB страницы из браузера. Мне - пользователю igor там ничего нельзя делать (если только нет разрешения для всех). И apache ничего не сможет сделать в моей папке. Вы должны войти в систему от имени APACHE (я говорил уже несколько постов назад - в моём случае пользователь www-data). И если от его имени заработает в консоли... фактически заработает порт, то будет работать и из PHP. Если нет, то придётся пользователю www-data(apache) давать разрешение на работу с портом ввода-вывода.. ну или включать его в группу того, чей этот порт. Отсутствие разрешения будет сопровождаться сообщением в той же консоли!
apache запущен от имени www-data сделал так: Код (Bash): sudo -u www-data `cat /sys/class/gpio/gpio14/value` Результат Permission denied
То есть этому пользователю нельзя! Воспользуйтесь ну к примеру usermod для включения разрешения(включение в группу) пользователя www-data. Тогда ему будет можно! Ну или через sudo для пользователя, которому можно. Правда, как и существования самого sudo это не правильно с точки зрения linux и unix.
в sudoers можно не добавлять. Помогло добавление www-data в группу gpio Код (Bash): sudo usermod -aG gpio www-data Из консоли доступ есть, а вот из php файла все еще нет((( Другие команды выполняет из файла. Пользователь www-data точно в группе gpio, права на директории и фалы /sys/class/gpio/gpio14/value разрешены пользователям группы gpio. Не пускает в директорию gpio из браузера
утром заработала конструкция PHP: $cmd = 'echo 1 > /sys/class/gpio/gpio14/value'; $res = shell_exec($cmd); echo "<pre>"; echo ($res); echo "</pre>"; Причем малинку не перезагружал
Теперь обнаружил, что подача сигнала с малинки на reset пин ардуинки никакого эффекта не производит. Только замыкание на землю производит перезагрузку. Прошу совета как лучше сделать? Пришел в голову пока 1 вариант: землю пустить на пин reset через транзистор КТ315. Ну и на него уже подавать питание с малинки. Может есть проще варианты?
В текущем соединении изменений не будет. Только после переподключения(пользователя - сам apache тоже пользователь)... ну или перезапуска apache.
Самое простое решение... на базу (как Вы говорили кт315) ограничительный (330 ом) резистор. эмиттер на корпус(общий), коллектор на reset... как вы и говорили.
Так конечно я после каждого изменения не только ресет апаче, а ресет малинки делал. Но почему то не работало. Как говорится: утро вечера мудренее
А к зачем ток зря терять? Пин Reset на плате притянут к Vcc 5Вольт резистором 10кОм. Чтобы сделать сброс нужно на управляющий сбросом пин малинки отправить 0. А остальное время держать его в высокоимпедансном состоянии (Input) чтобы ток не шел зазря.
Если в режим сменяется input, то оптимальнее применить кт361(p-n-p), а эмиттер на RESET... коллектор же на корпус. Но эмитер ещё на базу килоом эдак на 6,8. база же через 0.91... 2.7 кОм на вывод малины. Сигнал активный будет низкого уровня... нейтральное состояние (без активности) это Z-состояние... ну или вход. Для морального успокоения ещё диод с этого вывода малины на её 3.3в питания - анод на выход, а катод на 3.3в(как говорят в обратном направлении - если уровень выше питания малины).
Хотя про диод - это не очень... напряжение 3.3в питания малины может быть меньше питания ардуино... тогда RESET для Ардуины нет надёжности... ну или всегда активен.
Это все нафиг не надо. Для сброса Reset нужно на ~ 1 мкс притянуть к 0 (GND) (инями словами подать LOW или 0) и по переходу 0 -> Vcc (подачей HIGH, 1 или переводом в INPUT) МК начнет процедуру сброса.
А вот это нужно разобрать. У Малинки наверное защита от напряжения выше 3.3 В есть. Вот её надо обойти. Reset притянут к 5Вольт через резистор 10кОм. http://we.easyelectronics.ru/Shematech/soglasovanie-logicheskih-urovney-5v-i-33v-ustroystv.html