Example #1
0
        public void OutPutTags(Tag_Model tag)
        {
            var ReadedTag = new TagModel()
            {
                Antenna = tag.ANT_NUM,
                TID     = tag.UserData
            };

            if (ReadedTags.ContainsKey(ReadedTag.TID))
            {
                var existTag = ReadedTags[ReadedTag.TID];
                if (existTag.LastReadTime.AddSeconds(Interval) < DateTime.Now)
                {
                    existTag.LastReadTime = DateTime.Now;
                    switch (existTag.Direction)
                    {
                    case TagDirection.IN:
                        existTag.Direction = TagDirection.OUT;
                        break;

                    case TagDirection.OUT:
                        existTag.Direction = TagDirection.IN;
                        break;
                    }
                    TagAction(existTag);
                }
            }
            else
            {
                ReadedTags.Add(ReadedTag.TID, ReadedTag);
                TagAction(ReadedTag);
            }
        }
Example #2
0
 public void OutPutTags(Tag_Model tag)                                                 //обработка вывода
 {
     if (tag.EPC.Length == 32)                                                         //проверка на длинну считываемого EPC
     {                                                                                 //если EPC подходит, шлем на сервер
         Template ReaderData = new Template(EPCtoUUID(tag.EPC), ANT_NUM(tag.ANT_NUM)); //создаем новый экземпляр класса Template
         string   postData   = JsonConvert.SerializeObject(ReaderData);                //конвертируем сообщение в формат JSON
         Console.WriteLine(postData);
         byte[] bytes          = Encoding.UTF8.GetBytes(postData);                     //создаем массив байтов
         var    httpWebRequest = (HttpWebRequest)WebRequest.Create(uri);               //подключаемся к серверу
         httpWebRequest.Headers.Add($"AccessToken: {GetToken()}");                     //добавляем в header значение токена
         httpWebRequest.Method        = "POST";                                        //устанавливаем метод POST
         httpWebRequest.ContentLength = bytes.Length;                                  //устанавливаем длинну сообщения
         httpWebRequest.ContentType   = "application/json";                            //указываем тип
         using (Stream requestStream = httpWebRequest.GetRequestStream())              //создаем поток данных на сервер
         {
             requestStream.Write(bytes, 0, bytes.Count());                             //побайтово шлем информацию
         }
         var httpWebResponse = (HttpWebResponse)httpWebRequest.GetResponse();          //получаем ответ от сервера
         if (httpWebResponse.StatusCode != HttpStatusCode.OK)                          //если возникли проблемы, то выводит сообщение с кодом ошибки
         {
             string message = String.Format("POST failed. Received HTTP {0}", httpWebResponse.StatusCode);
             throw new ApplicationException(message);
         }
     }
 }
Example #3
0
 public void OutPutTags(Tag_Model tag)
 {
     if (StaticEntity.MqttPushWork)  //开启Push
     {
         var addres = StaticEntity.Pool.TryAdd(tag.EPC, DateTime.Now);
         if (addres)
         {
             rabbitService.PushToMqtt(tag.EPC);
             Console.WriteLine(tag.ANT1_COUNT + "==>" + tag.ANT2_COUNT + "==>" + tag.RSSI + "==>" + tag.EPC);
         }
     }
 }
Example #4
0
        // 检查白名单
        public Boolean CheckWriteList(Tag_Model tagModel)
        {
            Boolean rt = false;

            foreach (var item in list_WiteList)
            {
                if (tagModel.EPC.IndexOf(item) >= 0)
                {
                    rt = true;
                }
            }
            return(rt);
        }
Example #5
0
        public void OutPutTags(Tag_Model tag_Model)
        {
            lock (dic_Rows)
            {
                if (!IsStartOrStop)
                {
                    return;
                }
                if (tag_Model == null || tag_Model.Result != 0x00)
                {
                    return;
                }
                bool            isNew = false;
                DataGridViewRow dgvr  = null;

                try
                {
                    if (!dic_Rows.ContainsKey(tag_Model.EPC + "|" + tag_Model.TID))
                    {
                        dgvr = new DataGridViewRow();
                        dgvr.CreateCells(dgv_Tags, new object[] { tag_Model.TagType, tag_Model.EPC, tag_Model.TID, tag_Model.UserData, tag_Model.TagetData, tag_Model.TotalCount, tag_Model.ANT1_COUNT, tag_Model.ANT2_COUNT, tag_Model.ANT3_COUNT, tag_Model.ANT4_COUNT, tag_Model.RSSI });
                        dic_Rows.Add(tag_Model.EPC + "|" + tag_Model.TID, dgvr);
                        isNew = true;
                    }
                    else
                    {
                        dgvr = dic_Rows[tag_Model.EPC + "|" + tag_Model.TID];
                    }

                    #region 黑白名单控制

                    if (CheckWriteList(tag_Model))          // 判断白名单
                    {
                        dgvr.DefaultCellStyle.BackColor = Color.Green;
                        lock (_LockBeepObject_W) { Monitor.Pulse(_LockBeepObject_W); }
                    }
                    else if (CheckBlackList(tag_Model))      // 判断黑名单
                    {
                        dgvr.DefaultCellStyle.BackColor = Color.Red;
                        lock (_LockBeepObject_B) { Monitor.Pulse(_LockBeepObject_B); }
                    }

                    #endregion
                }
                catch { }
                AddSingleTag(tag_Model, dgvr, isNew);
            }
        }
Example #6
0
 // 添加单个标签
 public void AddSingleTag(Tag_Model tag_6C, DataGridViewRow dgvr, Boolean isNew)
 {
     if (this.dgv_Tags.InvokeRequired)
     {
         this.dgv_Tags.BeginInvoke(new AddTag(AddSingleTag), tag_6C, dgvr, isNew);
         return;
     }
     try
     {
         if (!isNew)
         {
             Int64 newStr = (Int64)dgvr.Cells["clm_TotalCount"].Value + 1;
             dgvr.Cells["clm_TotalCount"].Value           = newStr;
             dgvr.Cells["clm_ANT" + tag_6C.ANT_NUM].Value = (Int64)dgvr.Cells["clm_ANT" + tag_6C.ANT_NUM].Value + 1;
             dgvr.Cells["clm_RSSI"].Value = tag_6C.RSSI;
         }
         else
         {
             dgv_Tags.Rows.Add(dgvr);
         }
     }
     catch { }
 }
Example #7
0
 // 添加单个标签
 public void AddSingleTag(Tag_Model tag_6C, DataGridViewRow dgvr, Boolean isNew)
 {
     if (this.dgv_Tags.InvokeRequired)
     {
         this.dgv_Tags.BeginInvoke(new AddTag(AddSingleTag), tag_6C, dgvr, isNew);
         return;
     }
     try
     {
         if (!isNew)
         {
             if (tag_6C.ReaderName.Equals(_Reader_ConnectID_1))  // 如果是1号读写器读到新标签
             {
                 Int64 newStr = (Int64)dgvr.Cells["clm_TotalCount"].Value + 1;
                 dgvr.Cells["clm_TotalCount"].Value           = newStr;
                 dgvr.Cells["clm_ANT" + tag_6C.ANT_NUM].Value = (Int64)dgvr.Cells["clm_ANT" + tag_6C.ANT_NUM].Value + 1;
             }
             else
             {
                 Int64 newStr = (Int64)dgvr.Cells["clm_TotalCount"].Value + 1;
                 dgvr.Cells["clm_TotalCount"].Value = newStr;
                 // dgvr.Cells["clm_ANT" + tag_6C.ANT_NUM].Value = (Int64)dgvr.Cells["clm_ANT" + tag_6C.ANT_NUM].Value + 1;
                 dgvr.Cells["clm_ANT" + (tag_6C.ANT_NUM + 4)].Value = (Int64)dgvr.Cells["clm_ANT" + (tag_6C.ANT_NUM + 4)].Value + 1;
             }
             dgvr.Cells["clm_RSSI"].Value = tag_6C.RSSI;
         }
         else
         {
             dgv_Tags.Rows.Add(dgvr);
         }
     }
     catch (Exception ex)
     {
         System.Diagnostics.Debug.WriteLine("-----EX:" + ex.Message);
     }
 }
Example #8
0
 public void OutPutTags(Tag_Model tag)
 {
     //Write code when tags are read.
 }
 public void OutPutTags(Tag_Model tag)
 {
     //  frmRfTagId frfTagId = new frmRfTagId();
     //frmpersonalization.TagId = tag.TID + ";" + tag.EPC;
     frmSearchStudentByTagId.TagId = tag.TID;
 }
Example #10
0
 public void OutPutTags(Tag_Model tag)
 {
     //Write code when tags are read.
     MessageBox.Show("TID of tag = " + tag.TID);
     TagRead = tag.TID;
 }
Example #11
0
 public void OutPutTags(Tag_Model tag)
 {
     throw new NotImplementedException();
 }