A continuación presento un pequeño script que captura datos del puerto serial de una máquina con Linux y lo recibido es enviado a un archivo PHP que se encarga del procesamiento.
Esto fue utilizado para extraer datos de un tarificador de llamadas Samsung y enviarlas a un script PHP que almacena los datos en BD.
#!/bin/bash
RUTA_PROCESADOR=/var/www/Captura
RUTA_PS=/dev/ttyS0 #Puerto Serial
CONF_VELOCIDAD="4800"
CONF_NUMERO_BITS_TRAMA="7"
CONF_OPCIONES="-parenb"
#Configurando puerto serial para lectura
stty $CONF_VELOCIDA -F $RUTA_PS cs$CONF_NUMERO_BITS_TRAMA $CONF_OPCIONES
#Capturando data
cat $RUTA_PS | while read line; do php $RUTA_PROCESADOR/controlador_llamada.php "${line}" && echo ${line}; done >> $RUTA_PROCESADOR/traza.log &
El script configura primero el puerto a través del comando stty y luego con un simple cat sobre el archivo configurado (RUTA_PROCESADOR) se extraen los datos. Cada una de las líneas capturadas ${line} es enviada al script $RUTA_PROCESADOR/controlador_llamada.php.
está buenísimo este ejemplo!!!
ResponderEliminarmuchas gracias!!!
Me alegra saber que te fue de ayuda :-)
ResponderEliminarse ve bien este script, lo probare, se que el comando cat me servia para leer el puerto serie, pero cuando lo leia mostraba los datos pero se quedaba pegado el comando leyendo infinitamente, no se mucho de bash, pero igual gracias por compartir
ResponderEliminar