Получил случайный идентификатор тега в последовательном порту связи в asp.net MVC - PullRequest
0 голосов
/ 22 апреля 2019

Я пытаюсь извлечь правильный идентификатор RFID TAG в asp.net, но вместо этого я получил случайный идентификатор тега.

Я ожидаю, что этот идентификатор тега будет возвращен в моем запросе ajax

UID метки: 0B A5 56 D3

Результат ожидания

но вместо этого у меня есть случайный идентификационный тег

D3 тег UID: 0B A5 56 D

3 UID метки: 0B A5 56

случайный 1 ,

случайный 2 ,

Вот мой код

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;

public delegate void displayToView(String tagID);

namespace read_rfid_example.Controllers
{
    public class HomeController : Controller
    {
        SerialPort mySerialPort = new SerialPort("COM3");
        // GET: Home
        public ActionResult Index()
        {


            return View();
        }

        List<string> mlist = new List<string>();
        private void DataReceivedHandler(
                         object sender,
                         SerialDataReceivedEventArgs e)
        {
            SerialPort sp = (SerialPort)sender;
            string indata = sp.ReadExisting();

            displayToView display = new displayToView(pageReload);
            display.Invoke(indata);

        }
        string result = "";

        [HttpGet]
        public JsonResult start()
        {

            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);

            try
            {
                mySerialPort.Open();
            }
            catch
            {

            }

            while(mySerialPort.IsOpen)
            {
                Thread.Sleep(100);
            }


            return Json(result, JsonRequestBehavior.AllowGet);
        }
        string[] str = new string[10];
        int count = 0;
        public void pageReload(String text)
        {

                mlist.Add(text);
                count++;
                str[mlist.Count] = mlist[mlist.Count - 1];

                if (count == 5)
                {
                result = string.Join("", str);
                    mySerialPort.Close();
                }




        }
    }
}

Как вернуть правильный идентификатор TAG? Пожалуйста, помогите

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...