Пример #1
0
        public void ReadBuffer(byte[] receivedBuffer)
        {
            StringBuilder sb = new StringBuilder();
            if (receivedBuffer.Length == 8)
            {
                HDType = KKS_HDType.GT06;
                for (int i = 0; i < receivedBuffer.Length; i++)
                {
                    sb.Append(receivedBuffer[i].ToString("X2"));
                }

                TerminalIMEI = ulong.Parse(sb.ToString());
            }
            else if (receivedBuffer.Length == 12)
            {
                if (receivedBuffer[9] == 0x1A && receivedBuffer[8] == 0x10)
                    HDType = KKS_HDType.GT07;//GT05和GT07这2款设备的基本型使用一样的协议,在此全当做GT07来处理
                else if ((receivedBuffer[9] == 0x0A && receivedBuffer[8] == 0x10) || (receivedBuffer[9] == 0x0B && receivedBuffer[8] == 0x10))
                    HDType = KKS_HDType.GT03;
                else if ((receivedBuffer[9] == 0x0B || receivedBuffer[9] == 0x04) && receivedBuffer[8] == 0x10)
                    HDType = KKS_HDType.GK301;
                else
                    HDType = KKS_HDType.GS503;

                byte[] bIMEI = new byte[8];
                Array.Copy(receivedBuffer, 0, bIMEI, 0, bIMEI.Length);

                for (int i = 0; i < bIMEI.Length; i++)
                {
                    sb.Append(bIMEI[i].ToString("X2"));
                }

                TerminalIMEI = ulong.Parse(sb.ToString());
            }
        }
Пример #2
0
 /// <summary>
 /// 添加GPSCODE与设备类型的字典
 /// </summary>
 /// <param name="gpsCode"></param>
 /// <param name="gpsType"></param>
 private void AddCodeGpsTypeRelation(string gpsCode, KKS_HDType gpsType)
 {
     lock (objLocker)
     {
         if (_CodeGpsTypeRelation.ContainsKey(gpsCode))
         {
             _CodeGpsTypeRelation[gpsCode] = gpsType;
         }
         else
         {
             _CodeGpsTypeRelation.Add(gpsCode, gpsType);
         }
     }
 }