Foros del Web » Programando para Internet » PHP »

Ayuda - Control Automatico en PHP

Estas en el tema de Ayuda - Control Automatico en PHP en el foro de PHP en Foros del Web. Saludos... Me encuentro desarrollando un sistema de control de combustible para estaciones de servicio, dispongo de un antena que lee tags RFID que estan ubicados ...
  #1 (permalink)  
Antiguo 15/09/2010, 09:04
Avatar de Mino23  
Fecha de Ingreso: septiembre-2010
Mensajes: 7
Antigüedad: 13 años, 7 meses
Puntos: 0
Ayuda - Control Automatico en PHP

Saludos...

Me encuentro desarrollando un sistema de control de combustible para estaciones de servicio, dispongo de un antena que lee tags RFID que estan ubicados en el techo de la estacion de servicio, estas antenas estan conectadas a un lector RFID, el cual encuestado por puerto RS-232 o por ethernet. Esta encuesta es realizada por un microprocesador rabbit. Este recoge la data del vehiculo, y luego hace una solicitud web a un script php que esta corriendo en un computador embebido, que esta corriendo linux montavista, un servidor apache con PHP.

Basicamente estamos haciendo un un get, el microcontrolador envia esto hacia el computador embebido:

http://ip-pc-embebido/validar_cupo.php?id_tag=tagdelcarro.

Cuando esto llega al computador embebido, paso a recogerlo mediante el get, y debo forwardear la solicitud al servidor central de la estacion de servicio, esto lo hago mediante un header, este es el script que se encarga de eso:

Código PHP:
<?php 

         $tag      
$_GET["id_tag"];
          
         
header("Location:http://ip_server_principal/validar_cupo.php?id_tag=$tag");
?>
Estoy usando la instruccion header para redireccionar desde el compuatdor embebido hasta el server principal donde esta ubicado un script que se encarga de recibir buscar en la base de datos la data del carro y el cupo asigando de gasolina.

posterior a esto, el scipt finaliza con un echo con la data del vehiculo mas o menos algo asi

Código PHP:
echo FECHA|PLACA|TAG|CUPO 
Esto lo estoy recibiendo en mi microcontrolador (el que hizo la solicitud inicalmente) y no en el pc embebido.

El problema es el siguiente... necesito que este echo, llegue de vuelta al script que esta corriendo en el pc embebido (el que hizo el header que coloque mas arriba), para que asi pueda guardarlo en la base de datos interna del pc embebido por si acaso llegara a fallar el computador principal.. pero lo que me estaoy dando cuenta es que al hacer el echo, esta retornandolo al que hizo inicialmente la solicitud (el microcontrolador rabbit) y no esta pasando por el pc embebido.

Como puedo hacer para que ese echo que envia el servidor principal llegue al pc embebdido y del pc embebido, para extraer de el la data que necesite y luego reenviarlo al microcontrolador?


Espero puedan ayudarme
Saludos.
  #2 (permalink)  
Antiguo 15/09/2010, 09:11
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Ayuda - Control Automatico en PHP

El problema es que el header te hace una redirección HTTP hacia tu otro script lo que "corrompe" la salida que va hacia tu microcontrolador.

Lo que debes de hacer es si tu script tiene que estar en otro servidor hacer una petición HTTP usando cURL y así tu script se ejecuta 100% vía consola, y puedes regresar la salida que quieras hacia el microcontrolador sin contaminarlo de cabeceras web que no puede interpretar.

Saludos.
  #3 (permalink)  
Antiguo 15/09/2010, 10:32
Avatar de Mino23  
Fecha de Ingreso: septiembre-2010
Mensajes: 7
Antigüedad: 13 años, 7 meses
Puntos: 0
Respuesta: Ayuda - Control Automatico en PHP

Con cURL puedo llamar a un script ubicado en un servidor desde un script en el pc embebido y que el script desde el servidor principal me devuelva el echo al compuatdor embedded, yo trabajarlo y luego reenviarlo hasta el controlador??
  #4 (permalink)  
Antiguo 15/09/2010, 12:33
Avatar de Mino23  
Fecha de Ingreso: septiembre-2010
Mensajes: 7
Antigüedad: 13 años, 7 meses
Puntos: 0
Respuesta: Ayuda - Control Automatico en PHP

Creo que no me entendieron..

De momento el desarrollo esta funcionando tal como yo quiero... es decir el echo que hace el pc debe llegar al microcontrolador.. tal cual como esta llegando.

Yo necesito es que ese echo del pc pase primero por el computador embebido para extraer una informacion de ahi y luego desde el pc embebido yo lo envio a al microcontrolador
  #5 (permalink)  
Antiguo 15/09/2010, 13:11
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: Ayuda - Control Automatico en PHP

Lo que te indicó GatorV, es lo más cómodo/conveniente, para que lo trabajes sin mucha complicación. En el área de aportes hay un tema que contiene ejemplos de cómo lo puedes hacer con cURL, te recomiendo que pases por ese tema para que veas a lo que se refiere.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #6 (permalink)  
Antiguo 16/09/2010, 09:57
Avatar de Mino23  
Fecha de Ingreso: septiembre-2010
Mensajes: 7
Antigüedad: 13 años, 7 meses
Puntos: 0
Respuesta: Ayuda - Control Automatico en PHP

Ya estoy trabajando en eso como una posible solucion.

De hecho ya consegui los tutoriales de cURL.. pero necesito otra alternativa.

Veras, el que tiene que correr el script con el cURL, es el pc embebido y el no trae la libcurl instalada por defecto... y bueno el no tiene ninguna arquitectura comun.. es mas bien un procesador RISC.. ya he contactado a los fabricantes a ver si me pueden facilitar una verison compatible de libcurl para el procesador que trae el computador embebido.

Hay alguna otra alternativa... solo para tener otra variante en caso de que mi computador embebido no pueda correr el libcurl?
  #7 (permalink)  
Antiguo 16/09/2010, 11:05
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: Ayuda - Control Automatico en PHP

Verifica con file_get_contents o sockets.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #8 (permalink)  
Antiguo 16/09/2010, 11:07
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Ayuda - Control Automatico en PHP

Eso cambia mucho las cosas, aunque igual puedes ver si tienes habilitado el soporte de sockets, con eso puedes igual simular una petición HTTP, o más sencillo un socket simple hacía tu script principal vía TCP para enviar y recibir datos.
  #9 (permalink)  
Antiguo 16/09/2010, 13:51
Avatar de Mino23  
Fecha de Ingreso: septiembre-2010
Mensajes: 7
Antigüedad: 13 años, 7 meses
Puntos: 0
Respuesta: Ayuda - Control Automatico en PHP

Por lo que estoy leyendo me gusta la opcion de file_get_contents.. dejame ver si puedo solucionar con eso mientras me responde el fabricante del computador embebido...
  #10 (permalink)  
Antiguo 16/09/2010, 15:02
Avatar de Mino23  
Fecha de Ingreso: septiembre-2010
Mensajes: 7
Antigüedad: 13 años, 7 meses
Puntos: 0
Respuesta: Ayuda - Control Automatico en PHP

Actualizo con una ultima duda para dejar este capitulo cerrado...

Utilice la funcion file_get_contents que me dijeron.. al parecer esta haciendo lo que quiero esta es la parte del script del embebido que llama al script en el servidor central (PC normal):

Código PHP:
$str file_get_contents('http://180.180.1.191/validar_cupo3.php?id_tag1=$tagid_tag2=$placa&IDTRN=$idtrn&FECHATRN=$fechatrn');
echo 
$str

Y desde el servidor esta es la respuesta:

Código PHP:
echo "100|2010-09-13 09:09:09|OK|USNR|1000.00|5|XNR215|12345|678|1500.00|150.00"
Como se puede ver se esta guardando el string que envia el echo desde el servidor central al PC embebido en la variable $str, ahora como puedo leer ese string con php? ya que necesito extraer ciertos valores y dejarlos guardados en la base de datos MySQL. Puedo tratar esa variable ($str) como un archivo y aplicarle opciones de busqueda?

Ya con esto soluciono.. y disculpen la preguntadera.
  #11 (permalink)  
Antiguo 16/09/2010, 15:39
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Ayuda - Control Automatico en PHP

Si tu string viene separado por pipes (|) puedes usar explode() para separar los datos y así los podrías leer de forma individual.

Saludos.
  #12 (permalink)  
Antiguo 17/09/2010, 10:13
Avatar de Mino23  
Fecha de Ingreso: septiembre-2010
Mensajes: 7
Antigüedad: 13 años, 7 meses
Puntos: 0
Respuesta: Ayuda - Control Automatico en PHP

Muchas graciaaas... chequeare y luego actualizare los resultados.. gracias.. han sido de mucha ayuda!!!

Etiquetas: automatico, control
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:55.