Я хотел реализовать автоматический вызывающий аппарат, используя Raspberry Pi 3, который произносит то, что я отправляю, через веб-форму.
Я превратил свой Raspberry в веб-сервер, использующий Apache2, и в нем был следующий код /var/www/html
, я использую google_speech 1.0.15 TTS.
PHP
<?php
if($_POST){
$name=$_POST['name']
shell_exec("/var/www/html/call.sh $name")
}
<html>
<body>
<form action="" method="post">
Name<input type="text" value="name">
<input type="submit" name="submit">
</form>
<\body>
<\html>
call.sh
#!/bin/bash
google_speech -l en "Hello $1"echo "call.sh executed"
У меня аудио система подключена к Pi. Сценарий выполняется, так как печатается последнее выражение echo, но речевой вывод не выводится из Pi. Я верю линии google_speech -l en "Hello $1"
не исполняется. Скрипт отлично работает при запуске через терминал. Что я должен делать? Есть ли лучший способ реализовать то же самое?
Для вашего тега не определено имя, поэтому оно не отправляется:
Это:
Name<input type="text" value="name">
И должно быть:
Name <input type="text" name="name">
В вашем коде есть некоторые явные проблемы с безопасностью, но они выходят за рамки вашего вопроса. Я предполагаю, что вы будете единственным пользователем этого приложения, размещенного на вашем Pi.
Других решений пока нет …