Paso 1: Software
Los datos se recoge y se puso a disposición en una caja de Linux con un servidor de web Apache
Recolección de datos
El esquema de base de datos MySQL consta de 2 mesas; "entrada" con el chip identificador, la fecha y hora y "nombre" con chip de identificación y el nombre del gato. Los datos se obtienen con un pequeño programa Perl:
#! / usr/bin/perl
uso estricto;
uso ADVERTENCIAS;
Use Device::SerialPort;
Usar DBI;
mi $con = DBI -> connect ("dbi:mysql:dbname = gatos", "username", "contraseña", {RaiseError = > 1},) o morir "Connect DBI::errstr";
mi $port = nuevo Device::SerialPort("/dev/ttyUSB0");
Imprimir "abierto err" a menos que ($port);
$port -> baudrate(9600);
$port -> parity("none");
$port -> databits(8);
$port -> stopbits(1);
$port -> handshake("none");
$port -> write_settings;
$port -> are_match ("\r", "\n");
$port -> lookclear;
mi $resp ='';
mientras (1)
{
hasta que ($resp ne '')
{
$resp = $port -> buscar;
Sleep 1;
}
Si (length($resp) ge 14)
{
#filter a disturbios en la conexión en serie que puede interferir en el SQL server
Si ($resp = ~ m/^[0-9]{15}$/)
{
imprimir $resp. "\n";
mi $sth = $con - > prepare ("INSERT INTO valores de entrada (zeit, chip) (ahora (), \" ". $resp. "\") ") o advertir"Preparación DBI::errstr";
mi $rc = $sth -> execute() o advertir "Ejecutar DBI::errstr";
}
}
$resp = '';
$port -> lookclear;
}
DBi:Close();
$port -> cierre;
Presentación de los datos
Los datos son presentados como una tabla de los 4 eventos más recientes por gato usando un programa simple de php.
Por favor, mira la captura de pantalla del código, escribiendo acerca de HTML en una páginas HTML no siempre funciona...
consulta ("seleccionar * de nombre ') o morir ('select nombre');
if ($names -> num_rows > 0)
{
mientras que ($namerow = $names -> fetch_assoc)
{
echo ""; $name = $namerow ["nombre"];
echo '';
$sel = ' SELECT zeit de entrada chip donde ='. '\'' . $namerow ["chip"]. '\'' . 'ORDER BY zeit DESC LIMIT 4'; $times = $mysqli -> query($sel) o die ('Error seleccione entrada');
if ($times -> num_rows > 0)
{
mientras que ($timerow = $times -> fetch_assoc)
{
$time = date_create($timerow["zeit"]);
echo ' ";
}
}
otra cosa
{
echo "";
}
echo "";
}
}
otra cosa
{
Die ('sin nombre');
}
$mysqli -> close();
? >