Desarrollo de una aplicación web para controlar un carrito con Raspberry Pi, PHP y Python
Contiene:
- Descripción del Proyecto
- Explicación del Hardware
- Explicación del Software
- Prueba de Funcionamiento
Enlaces
Aplicación: https://github.com/rpi-jefer/control-carrito
__________________________
Desarrollado por:
Jefferson Rivera Patiño
Hola, gracias por este video muy bueno, me gustaria saber como haces para cargar el programa en la raspberry para que cuando le das la ip en el Browser "x.x.x.x/control" pues se ejecute, soy nuevo en esto y me gustaria saber como lo hiciste, buen trabajo (y)
ResponderEliminarHola Camilo. Cordial saludo.
EliminarSe debe primero instalar un servidor web Apache.
y ahí se crea automáticamente una carpeta en /var/www/ aquí van los proyectos.
Saludos.
Si tienes dudas de como instalar el server, mira este vídeo
http://riverajefer.blogspot.com/2013/06/control-remoto-de-un-led-con-raspberry.html
Saludos
Hola Jeferson, muchas gracias por tu ayuda, sin embargo me surge una nueva duda, lo que pasa es que tengo el servidor y todo, solo que cuando conecto todo, pues no se ejecuta la parte de Python y no se manda niguna señal logia de lso puesrtos del GPIO ya que compruebo la funcionalidad de los puertos GPIO por aparte y funciona, pero cunado oprimo los botones de la aplicacion web en el servidor no pasa nada, no se si me hice entender, gracias por tu ayuda
EliminarHola Camilo.
EliminarEl inconveniente que tienes posiblemente es por los permisos, de la carpeta donde está la aplicación...
Dale todos los permisos a la carpeta y sus archivos internos.
Saludos
Hola Jeferson.
Eliminar¿Como podría darle todos los permisos a la carpeta y a los archivos internos?
Gracias por tu respuesta
Este comentario ha sido eliminado por el autor.
ResponderEliminarHola Jeferson, lo que pasa es que ya modifique los permisos como me indicaste sin embargo aun no me funciona, que me recomiendas?
ResponderEliminarGracias
Cuéntame específicamente, cual es el error o problema que tienes...
EliminarSaludos
Ya tengo el servidor web montado tal y cual lo descargue desde tu pagina, lo monte en la raspberry y todo va bien hasta allí, le otorgue premisos máximos a la carpeta control (sudo chmod 777 -R /var/www/control) sin embargo, al oprimir los botones en el servidor web no ocurre nada, ejecuto en la consola de la raspberry el siguiente comando (sudo python /var/www/control/py/avanza.py) y efectivamente ejecuta el archivo avanza.py y los motores se mueven adelante, ejecuto los demás de la misma forma (retrocede.py, para.py, izquierda.py y derecha.py) y funciona también. Pero por alguna razón que no comprendo no logro hacer ese controlo desde el servidor web, gracias por tu ayuda
EliminarYa tengo el servidor web montado tal y cual lo descargue desde tu pagina, lo monte en la raspberry y todo va bien hasta allí, le otorgue premisos máximos a la carpeta control (sudo chmod 777 -R /var/www/control) sin embargo, al oprimir los botones en el servidor web no ocurre nada, ejecuto en la consola de la raspberry el siguiente comando (sudo python /var/www/control/py/avanza.py) y efectivamente ejecuta el archivo avanza.py y los motores se mueven adelante, ejecuto los demás de la misma forma (retrocede.py, para.py, izquierda.py y derecha.py) y funciona también. Pero por alguna razón que no comprendo no logro hacer ese control desde el servidor web, gracias por tu ayuda
ResponderEliminarHola Camilo, entiendo tu problema...
ResponderEliminarBueno ensaya primero, dándole permisos 777 a los archivos internos de la carpeta control.
Si aún no funciona
dale permisos al grupo que usa apache
sudo addgroup www-data
sudo usermod -a -G www-data www-data
Ensaya con eso, si sigues con problema...
me cuentas.
riverajefer@gmail.com
Saludos
Hola Jeferson, Pues lo intente y el problema continua, y no logro entender cual es el problema. Estoy abierto a cualquier sugerencia, muchas gracias, agradezco mucho tu ayuda.
ResponderEliminarHola Jeferson
ResponderEliminarmira que intente hacer un simple archivo hola_mundo.php que tuviera lo siguiente:
y cuando le doy http://x.x.x.x/hola_mundo.php, me aparece la pagina en blanco, le doy mirar codigo fuente y me aparece en blanco, busque también el archivo procesa.php y también me muestra en blanco y en código fuente no me aparece nada, ademas le doy "f12" a la pagina donde esta el servidor y la aplicacion web "control" (http://x.x.x.x/control) y le doy "f12", en la parte de Resources despliego la carpeta Frames y me aparecen todos los archivos de la carpeta control excepto el archivo procesa.php, no se tengo el presentimiento de que hay un problema con ese archivo php, aunque si lo quito de la carpeta al oprimir un botón me genera error, no se tu que opines y no se si me hize entender, gracias por tu atención.
Hola Jeferson, me complace comunicarte que logre resolver el problema no entiendo porque exactamente pero le tuve que agregar al archivo .py lo siguiente:
ResponderEliminarGPIO.setwarnings(False)
GPIO.setmode(GPIO.BOARD)
y funciona perfectamente, gracias por tu atención y ayuda.
que estés muy bien
disculpa como solucionaste el problema de que cuando ejecutabas un boton en la pagina web no hacia nada el motor podrias ayudarme
EliminarHola Jeferson, cordial saludo.
ResponderEliminarYa que pude resolver el problema que tenia, me surgue una nueva duda que me gustaria compartir con usted, me gustaria saber si es posible colocarle un poco de seguridad a la aplicacion web, me refiero a que pida contraseña cuando trate de acceder a ella, si es posible me gustaría saber como hacerlo, espero que sepa hacerlo XD, jeje si es asi me avisa muchas gracias.
Disculpa, anilizando e investigando tu diagrama de mapa del los pines de para hacer las conexiones a las raspberry pi no es muy sierto segui en invertigado en los foros de www.raspberrypi.org donde encontre y logra comprobar con ayuda del ensedido de led sin sin la ayuda de la programacion solo con lo que entrega la tarjeta el mapa es el que sale en este link http://elinux.org/Rpi_Low-level_peripherals#General_Purpose_Input.2FOutput_.28GPIO.29 donde explican de manera detallada que hace cada pin
ResponderEliminarHola, muy buen día cree el servidor LAMP y le dí permisos 775 tal y como aconsejas en el tutorial pero ahora que quiero ejecutar el control no activa mi carrito desde el lochalhost si lo hace.
ResponderEliminarOsea, no tienes acceso desde afuera ?
ResponderEliminarPrueba agregando lo siguiente en la consola
//Añadimos el usuario pi al grupo www-data
>> sudo usermod -a -G www-data pi
También
>> sudo visudo
// Agregamos el siguiente código al final.
>> www-data ALL=(root) NOPASSWD:ALL
Restaurar el servidor
>> sudo /etc/init.d/apache2 restart
Me cuenta, si le funciono esto.
Saludos
Buen dia probe tu codigo y algo extraño me pasa cuando corro el programa:
ResponderEliminarroot@raspberrypi:/var/www/html/py# python luces.py
Gpio encendido
el programa no me funciona no manda la señal al led y no enciende.
pero cuando entro directamente a python a colocar las mismas lineas si lo hace:
>>>import RPi.GPIO as GPIO
>>>GPIO.setup(7, GPIO.OUT)
>>>GPIO.output(7, False)
sabes que puede ser saludos.