У меня есть скрипт в cgi-bin, который генерирует эту страницу. Целью которого является обслуживание в качестве интерфейса для камеры панорамирования, которую я построил. Камера, делает кастрюлю, затем быстро возвращается в центральное положение. Я понял, что это потому, что каждый раз, когда загружается страница, все скрипты вызывается последовательно, заканчивая z.py. Как я могу исправить эту программу, чтобы сценарии не запускались до тех пор, пока не произойдет выбор? Как бы то ни было, все работает, когда загружается страница, , поэтому он всегда возвращается в центр.Требуется помощь в программировании скриптов CGI
#! /bin/sh
echo "content-type: text/html"
echo
echo "<!DOCTYPE html><html><head><title>pan camera</title></head>"
echo "<body>"
echo "<form action=\"g.pt1\" method=\"get\">"
echo "<select name=\"letter\" onchange=\"submit();\">"
echo " <option value=\"w\">w</option>"
echo " <option value=\"a\">a</option>"
echo " <option value=\"s\">s</option>"
echo " <option value=\"d\">d</option>"
echo " <option value=\"z\">z</option>"
i=0
for i in a s d w z
do
echo " $i $(./$i.py)"
done
echo "</select></form>"
echo "<iframe src=\"localhost:8888/?action=stream\" width=\"330\" height=\"260\">"
echo " <p>Your browser does not support iframes.</p>"
echo "</iframe>"
echo "</body></html>"
Я не думаю, что «все работает», как вы говорите. Оператор for/do/echo перечисляет кучу символов и предлагает файл Python, но это просто эхом и не запускается. Все, что я вижу здесь, заключается в том, что при изменении поля выбора «g.pt1» вызывается через CGI. Предположительно, эта вещь должна подобрать, выбрали ли w, a, s, d или z и переместили камеру. Если камера движется назад, я думаю, что это происходит из-за того, что делает 'g.pt1'. –
$() является подстановкой команд, поэтому вы можете выполнять через echo. У меня также есть разрешение BS для доступа к группе www-data/dev/ttyACM0 –