我正在开发一个项目,它注册由SQL数据库管理的RFID卡条目等。
我正在使用Arduino读取卡片,通过PHP程序发送RFID数据和读者ID,然后PHP程序处理数据并将其注册到MySQL上。
在数据库上注册卡是我的问题。 我如何做到这一点,Arduino更改或打开WebBrowser页面,或者当我打开某个链接时,例如something.com/RegisterCard.php,当我读取卡片时,它会自动将其输入到注册字段中?< / p>
谢谢!
答案 0 :(得分:0)
我一直在做类似的事情,而不是读取RFID,我读了几个传感器来存储数据,然后arduino本身要求一些变量(存储在数据库中)并响应它的值。
我发现最简单的方法,可能不是最有效的,但也有效。
我的方法涉及PHP&#34;解释器&#34;这取决于arduino发送的内容,将存储到数据库中,或者读取并返回。
更像是&#34;当我打开某个链接时,比如something.com/RegisterCard.php,当我读取卡片时,它会自动将其输入到注册字段中。&#34;
例如,要通过GSM屏蔽存储我的gps中的纬度/经度变量,请使用以下代码:
sim908.print("AT+HTTPPARA=\"URL\",\"YOU_WEB_SERVER_URL_/insert.php?latitude=");
sim908.print(latitude);
sim908.print("&longitude=");
sim908.print(longitude);
sim908.println("\"");
delay(2000);
sim908.println("AT+HTTPACTION=0"); //now GET action
delay(2000);
我有一个页面&#34; insert.php&#34;处理数据,并将其存储到数据库中。
这是我的php处理程序
<html>
<body>
<?php
//funcion para adquirir parametros
function getParameter($par, $default = null){
if (isset($_GET[$par]) && strlen($_GET[$par])) return $_GET[$par];
elseif (isset($_POST[$par]) && strlen($_POST[$par]))
return $_POST[$par];
else return $default;
}
$latitud = getParameter("latitud");
$longitud=getParameter("longitud");
$evento=getParameter("evento");
$time = time();
$fecha = date("d-m-Y", $time);
$hora = date("H:i:s", $time);
//Conectarse y seleccionar base de datos
$link = mysql_connect('localhost', 'mysql_user','mysql_pass');
if (!$link) {
die('Could not connect: ' . mysql_error());
}
echo 'ok';
$db_selected = mysql_select_db('mydatabase', $link);
if (!$db_selected) {
die ('Cant use ods_db : ' . mysql_error());
}
// Tomar los campos provenientes del Formulario
//$latitud = $_POST['latitud'];
//$longitud = $_POST['longitud'];
// Insertar campos en la Base de Datos
$que = "INSERT INTO tracklog (fecha, hora,latitud, longitud,event) ";
$que.= "VALUES ('".$fecha."','".$hora."','".$latitud."', '".$longitud."', '".$evento."') ";
$res = mysql_query($que, $link) or die(mysql_error());
$orden = mysql_insert_id();
// Cerrar conexión a la Base de Datos
mysql_close($link);
?>
</body>
</html>