Я разрабатываю проект, который регистрирует записи RFID-карт и тому подобное, управляемый базой данных SQL.
Я использую Arduino для чтения карт, отправки данных RFID и ID считывателя через программу PHP, которая затем обрабатывает данные и регистрирует их в MySQL.
Регистрация карт в базе данных — моя проблема.
Как мне сделать так, чтобы Arduino изменил или открыл страницу WebBrowser, или чтобы, когда у меня открывалась определенная ссылка, такая как что-то, например что-то.com/RegisterCard.php, когда я читал карточку, она автоматически вводила ее в поле регистрации?
Спасибо!
Я делал нечто подобное, вместо чтения RFID, я считывал несколько датчиков для хранения данных, а затем сам arduino запрашивал некоторую переменную (хранящуюся в базе данных) и отвечал на ее значение.
То, что я нашел самым простым способом, может быть, не самым эффективным, но работает.
Мой метод использует PHP-интерпретатор, который в зависимости от того, что послал arduino, будет сохранен в базе данных или прочитан и возвращен.
Так больше похоже «Когда у меня открыта определенная ссылка, например что-то что-то типа com /RegisterCard.php, когда я читаю карту, она автоматически вводит ее в поле регистрации».
Например, чтобы сохранить переменные широты / долготы от моего GPS через GSM щит, я использую этот код:
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);
У меня есть страница «insert.php», которая обрабатывает данные и сохраняет их в базе данных.
Вот мой обработчик 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>
Других решений пока нет …