Bonjour à tous !
j'ai un robot aisoy http://aisoy.com et je souhaiterai exécuter une commande python depuis une page html .
les fichiers:
Mon head-left1.py
Mon fichier html:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 #!/usr/bin/env python #include <actuatorSdk.h> import os os.environ['ROS_DISTRO']='fuerte' os.environ['ROSLISP_PACKAGE_DIRECTORY']='/opt/ros/fuerte/share/common-lisp/ros' os.environ['ROS_ETC_DIR']='/opt/ros/fuerte/etc/ros' os.environ['ROS_IP']='192.168.0.30' os.environ['ROS_MASTER_URI']='http://localhost:11311' os.environ['ROS_PACKAGE_PATH']='/home/pi/fuerte_workspace/sandbox' os.environ['ROS_PACKAGE_PATH']='/opt/ros/fuerte/stacks' os.environ['ROS_PACKAGE_PATH']='opt/ros/fuerte/share' os.environ['ROS_PACKAGE_PATH']='/opt/ros/fuerte/share/ros' os.environ['ROS_ROOT']='/opt/ros/fuerte/share/ros' os.environ['ROS_WORKSPACE']='/home/pi/fuerte_workspace' os.environ['ROS_PACKAGE_PATH']='opt/ros/fuerte/lib/python2.7/dist-packages' import roslib; roslib.load_manifest('aisoy_sdk_actuator') roslib.load_manifest('aisoy_common') from libaisoy_sdk_actuator import * from libaisoy_common import * virtual = Actuator() actuator = Actuator() actuator. moveServoRelative(Servo.HeadHorizontal, 0.2)
Mon error apache2:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> </head> <body> <form action="http://192.168.0.30/py/head-left1.py" method="post"> <input name="send" value="executer" type="submit"> </form> </body> </html>
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 tail -f /var/log/apache2/error.log Traceback (most recent call last): File "/usr/lib/cgi-bin/head-left1.py", line 18, in <module> import roslib; roslib.load_manifest('aisoy_sdk_actuator') ImportError: No module named roslib [Thu Jan 23 18:54:16 2014] [error] [client 192.168.0.10] Premature end of script headers: head-left1.py, referer: http://192.168.0.30/aisoy/aisoyv1v333.html Traceback (most recent call last): File "/usr/lib/cgi-bin/head-left1.py", line 18, in <module> import roslib; roslib.load_manifest('aisoy_sdk_actuator') ImportError: No module named roslib [Thu Jan 23 18:54:25 2014] [error] [client 192.168.0.10] Premature end of script headers: head-left1.py, referer: http://192.168.0.30/aisoy/aisoyv1v333.html
Mon envvars (apache2)
J'ai essayé avec des fichiers de test python ca marche, mais pas avec celui ci (erreur 500).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80 # envvars - default environment variables for apache2ctl # this won't be correct after changing uid unset HOME # for supporting multiple apache2 instances if [ "${APACHE_CONFDIR##/etc/apache2-}" != "${APACHE_CONFDIR}" ] ; then SUFFIX="-${APACHE_CONFDIR##/etc/apache2-}" else SUFFIX= fi # Since there is no sane way to get the parsed apache2 config in scripts, some # settings are defined via environment variables and then used in apache2ctl, # /etc/init.d/apache2, /etc/logrotate.d/apache2, etc. export APACHE_RUN_USER=www-data export APACHE_RUN_GROUP=www-data export APACHE_PID_FILE=/var/run/apache2$SUFFIX.pid export APACHE_RUN_DIR=/var/run/apache2$SUFFIX export APACHE_LOCK_DIR=/var/lock/apache2$SUFFIX export ROSLISP_PACKAGE_DIRECTORY=/opt/ros/fuerte/share/common-lisp/ros export ROS_DISTRO=fuerte export ROS_ETC_DIR=/opt/ros/fuerte/etc/ros export ROS_IP=192.168.0.30 export ROS_MASTER_URI=http://localhost:11311 export ROS_PACKAGE_PATH=/home/pi/fuerte_workspace/sandbox export ROS_PACKAGE_PATH=/opt/ros/fuerte/stacks export ROS_PACKAGE_PATH=/opt/ros/fuerte/share export ROS_PACKAGE_PATH=/opt/ros/fuerte/share/ros export ROS_PACKAGE_PATH=/home/pi/fuerte_workspace export ROS_ROOT=/opt/ros/fuerte/share/ros export ROS_WORKSPACE=/home/pi/fuerte_workspace export PYTHONPATH=http://192.168.0.30/py/head-left1.py export PYTHONPATH=/opt/ros/fuerte/lib/python2.7/dist-packages # Only /var/log/apache2 is handled by /etc/logrotate.d/apache2. export APACHE_LOG_DIR=/var/log/apache2$SUFFIX ## The locale used by some modules like mod_dav export LANG=C ## Uncomment the following line to use the system default locale instead: #. /etc/default/locale export LANG ## The command to get the status for 'apache2ctl status'. ## Some packages providing 'www-browser' need '--dump' instead of '-dump'. #export APACHE_LYNX='www-browser -dump' ## If you need a higher file descriptor limit, uncomment and adjust the ## following line (default is 8192): #APACHE_ULIMIT_MAX_FILES='ulimit -n 65536' ## If you would like to pass arguments to the web server, add them below ## to the APACHE_ARGUMENTS environment. #export APACHE_ARGUMENTS='' #export ROSLISP_PACKAGE_DIRECTORY="/opt/ros/fuerte/share/common-lisp/ros" #export ROS_DISTRO="fuerte" #export ROS_ETC_DIR="/opt/ros/fuerte/etc/ros" #export ROS_IP="192.168.0.22" #export ROS_MASTER_URI="http://localhost:11311" #export ROS_PACKAGE_PATH="/home/pi/fuerte_workspace/sandbox:/opt/ros/fuerte/stacks:/opt/ros/fuerte/share:/opt/ros/fuerte/share/ros" #export ROS_ROOT="/opt/ros/fuerte/share/ros" #export ROS_WORKSPACE="/home/pi/fuerte_workspace" export ROSLISP_PACKAGE_DIRECTORY=/opt/ros/fuerte/share/common-lisp/ros export ROS_DISTRO=fuerte export ROS_ETC_DIR=/opt/ros/fuerte/etc/ros export ROS_IP=192.168.0.30 export ROS_MASTER_URI=http://localhost:11311 export ROS_PACKAGE_PATH=/home/pi/fuerte_workspace/sandbox export ROS_PACKAGE_PATH=/opt/ros/fuerte/stacks export ROS_PACKAGE_PATH=/opt/ros/fuerte/share export ROS_PACKAGE_PATH=/opt/ros/fuerte/share/ros export ROS_PACKAGE_PATH=/home/pi/fuerte_workspace export ROS_ROOT=/opt/ros/fuerte/share/ros export ROS_WORKSPACE=/home/pi/fuerte_workspace export PYTHONPATH=http://192.168.0.30/py/head-left1.py export PYTHONPATH=/opt/ros/fuerte/lib/python2.7/dist-packages
j'ai effectué la commande suivante pour les info sur ros:
export | grep ROS
Partager