Я программирую веб-сайт для управления моим роботом малины Pi. Я за рулем два шаговых двигателя с помощью .py скрипта я называю это:Javascript ajax wait, пока файл не будет изменен
sudo ./GPS.py forward 100 30
Кулаком Аргумент путь, второй, как много шагов, чтобы сделать, и последняя задержка между шагами.
Файл сценария open.txt (он выглядит как «100/50/18») и принимает координаты x = 100, y = 50 и Alpha = 18 degress. Затем сделайте шаг, вычислите новую координацию и запишите ее в этот файл.
Читать часть в верхней части скрипта:
fo = open("location.txt", "r")
data = fo.read()
fo.close()
coordinates= data.split("/")
temp1 = coordinates[0]
temp2 = coordinates[1]
temp3 = coordinates[2]
Alpha= float(temp3)
X = float(temp1)
Y = float(temp2)
Затем сделать все требуемые шаги и вычисления, а затем в конце сохранять новые X, Y, Alpha обратно в файл:
fo =open("location.txt", "w")
fo.write(str(X)+"/"+str(Y)+"/"+str(Alpha))
fo.close
Хорошо, это прекрасно работает в Putty, но теперь я хотел водить свой робот через сайт, поэтому я сделал сайт, чтобы его контролировать.
Но теперь у меня есть проблема. Теперь у меня есть сайт, как это:
HTTP --> Javascript --> PHP --> .PY script to move robot.
Это работает, но я понятия не имею, как обновить X, Y, Alpha координаты от location.txt на моем сайте. У меня есть идея:
Javascript run .PY и ждать завершения, затем открыть JS-файл .txt и получить данные и, наконец, установить новые координаты на мою веб-страницу. Но я не знаю, как это сделать. Это ожидание финиша .PY убивает меня.
Благодарим за помощь! Yacked2
PS.
У меня установлен Apache на моей малине Pi, и я могу загрузить мой .py скрипт, хотя веб-страницу, и я могу открыть файл .txt.
Но, как заставить .php ждать, пока .py не будет закончена? –
Вам не обязательно. Вы можете заставить PHP вызвать скрипт python, а затем сразу вернуть основное содержимое страницы (за вычетом данных о местоположении), а затем обновить информацию о местоположении, когда она будет доступна. –
О, спасибо, но эта часть: «клиент обновляет информацию о местоположении, когда он доступен». У меня проблема, теперь я вызываю php с помощью «window.location.href = script.py?speed=XX & ...», затем , запустите php run .py и немедленно вернитесь на домашний сайт, но как узнать, когда выполняется .py? –