我正在尝试在asp.net MVC c#中使用Arduino和RFID阅读器构建登录系统。
我的目标是每次客户将其RFID标签点击到RFID阅读器时,从控制器更新我的视图。每当客户将其RFID标签点击到RFID阅读器时,我都希望更新视图以显示客户的信息。
现在,我可以使用下面的代码从Arduino读取标签ID,但是我不知道如何显示数据以供查看。我确实在Google中搜索了此问题,但没有得到asp.net的答案。
控制器
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.IO.Ports;
using System.Linq;
using System.Threading;
using System.Web;
using System.Web.Mvc;
namespace read_rfid_example.Controllers
{
public class HomeController : Controller
{
// GET: Home
public ActionResult Index()
{
SerialPort mySerialPort = new SerialPort("COM3");
mySerialPort.BaudRate = 9600;
mySerialPort.Parity = Parity.None;
mySerialPort.StopBits = StopBits.One;
mySerialPort.DataBits = 8;
mySerialPort.Handshake = Handshake.None;
mySerialPort.RtsEnable = true;
mySerialPort.DataReceived += new SerialDataReceivedEventHandler(DataReceivedHandler);
if(!mySerialPort.IsOpen)
mySerialPort.Open();
return View();
}
private static void DataReceivedHandler(
object sender,
SerialDataReceivedEventArgs e)
{
SerialPort sp = (SerialPort)sender;
string indata = sp.ReadExisting();
Console.WriteLine("Data Received:");
Console.Write(indata);
Debug.WriteLine(indata); // TAG ID: 03 0e 03 06 (output example and want to pass this data to view)
}
}
}
简单视图
@{
ViewBag.Title = "Index";
}
<h3>@ViewBag.TagId</h3>
我的问题和问题是,每当RFID阅读器检测到RFID标签时,如何更新视图中的标签?我需要这个问题的帮助。有人可以给我适当的方法来使它像实时的吗?
答案 0 :(得分:0)
如果您想看到一些可能就像
private static void DataReceivedHandler(
object sender,
SerialDataReceivedEventArgs e)
{
SerialPort sp = (SerialPort)sender;
string indata = sp.ReadExisting();
Console.WriteLine("Data Received:");
Console.Write(indata);
Session["RfidCurrent"] = indata;
Debug.WriteLine(indata); // TAG ID: 03 0e 03 06 (output example and want to pass this data to view)
}
[HttpGet]
public ActionResult Index()
{
ViewBag.TagId = Session["RfidCurrent"]
return View();
}