Last active
August 29, 2015 14:23
-
-
Save Pygmalion69/7356f28100b91d9a9d46 to your computer and use it in GitHub Desktop.
Pi Rover: send POST data to Python script, http://goo.gl/tRcYrB
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
/* Pi Rover: Send POST data to Python script */ | |
/* http://goo.gl/tRcYrB */ | |
const MINIMAL_SPEED = 65; | |
const DELTA_SPEED = 75; | |
const STOP = 0; | |
const FORWARD = 1; | |
const BACKWARD = 2; | |
const FORWARD_LEFT = 3; | |
const FORWARD_RIGHT = 4; | |
const BACKWARD_LEFT = 5; | |
const BACKWARD_RIGHT = 6; | |
const ROTATE_LEFT = 7; | |
const ROTATE_RIGHT = 8; | |
const SPEED_LEFT = 9; | |
const SPEED_RIGHT = 10; | |
$send = '/home/helfrich/send.py'; | |
error_reporting(E_ALL); | |
//header('Content-type: application/json'); | |
//echo json_encode($_POST); | |
$command = $_POST['command']; | |
$speed = $_POST['data']; | |
echo $command; | |
switch ($command) { | |
case STOP: | |
exec($send . " 194 0 >/dev/null &"); | |
exec($send . " 202 0 >/dev/null &"); | |
break; | |
case FORWARD: | |
exec($send . " 194 " . $speed . " >/dev/null &"); | |
exec($send . " 202 " . $speed . " >/dev/null &"); | |
break; | |
case BACKWARD: | |
exec($send . " 193 " . $speed . " >/dev/null &"); | |
exec($send . " 201 " . $speed . " >/dev/null &"); | |
break; | |
case FORWARD_LEFT: | |
$speed = rotation_speed($speed); | |
$speed_right = $speed; | |
$speed_left = $speed - DELTA_SPEED; | |
if ($speed_left < 0) { | |
$speed_left = 0; | |
} | |
//print $speed_right . PHP_EOL; | |
//print $speed_left . PHP_EOL; | |
exec($send . " 194 " . $speed_right . " >/dev/null &"); | |
exec($send . " 202 " . $speed_left . " >/dev/null &"); | |
break; | |
case FORWARD_RIGHT: | |
$speed = rotation_speed($speed); | |
$speed_right = $speed - DELTA_SPEED; | |
if ($speed_right < 0) { | |
$speed_right = 0; | |
} | |
$speed_left = $speed; | |
exec($send . " 194 " . $speed_right . " >/dev/null &"); | |
exec($send . " 202 " . $speed_left . " >/dev/null &"); | |
break; | |
case BACKWARD_LEFT: | |
$speed = rotation_speed($speed); | |
$speed_right = $speed; | |
$speed_left = $speed - DELTA_SPEED; | |
if ($speed_left < 0) { | |
$speed_left = 0; | |
} | |
exec($send . " 193 " . $speed_right . " >/dev/null &"); | |
exec($send . " 201 " . $speed_left . " >/dev/null &"); | |
break; | |
case BACKWARD_RIGHT: | |
$speed = rotation_speed($speed); | |
$speed_right = $speed - DELTA_SPEED; | |
if ($speed_right < 0) { | |
$speed_right = 0; | |
} | |
$speed_left = $speed; | |
exec($send . " 193 " . $speed_right . " >/dev/null &"); | |
exec($send . " 201 " . $speed_left . " >/dev/null &"); | |
break; | |
case ROTATE_LEFT: | |
$speed = rotation_speed($speed); | |
exec($send . " 194 " . $speed . " >/dev/null &"); // right | |
exec($send . " 201 " . $speed . " >/dev/null &"); // left backwards | |
break; | |
case ROTATE_RIGHT: | |
$speed = rotation_speed($speed); | |
exec($send . " 193 " . $speed . " >/dev/null &"); // right backwards | |
exec($send . " 202 " . $speed . " >/dev/null &"); // left | |
break; | |
case SPEED_LEFT: | |
if ($speed > 0) { | |
exec($send . " 202 " . $speed . " >/dev/null &"); | |
} else { | |
$speed = - $speed; | |
exec($send . " 201 " . $speed . " >/dev/null &"); | |
} | |
break; | |
case SPEED_RIGHT: | |
if ($speed > 0) { | |
exec($send . " 194 " . $speed . " >/dev/null &"); | |
} else { | |
$speed = - $speed; | |
exec($send . " 193 " . $speed . " >/dev/null &"); | |
} | |
break; | |
} | |
function rotation_speed($speed) { | |
$speed = $speed + 10; | |
if ($speed > 100) { | |
$speed = 100; | |
} | |
return $speed; | |
} | |
function stop() { | |
global $send; | |
exec($send . " 194 0 >/dev/null &"); | |
exec($send . " 202 0 >/dev/null &"); | |
} | |
?> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment