RFID TAG 읽는 법 RFID TAG를 찍었을 때 나오는 값이35000000066C5E9D4C09CAA8 인데이 값을 141098 으로
RFID TAG를 찍었을 때 나오는 값이35000000066C5E9D4C09CAA8 인데이 값을 141098 으로 해석하려면 어떤 중간절차가 있을까요?아래는 같은 종에 있는 다른 맥들입니다.앞 숫자들은 종을 나타내는거 같고 뒤 4자리가 같은 종에서 넘버링에 관여하는거 같은데 16진수는 아닌것 같더라고요. 혹시 어떤 RFID 공통체계가 있는 것인지 궁금합니다.35000000066C5E9D4C09C868는14108935000000066C5E9D4C09CC68는141105
자연에 진심인 청년 기업 그린파머스 팀입니다.^^
해당 RFID 태그 값은 특정 규칙에 따라 인코딩된 것으로 보이며, 문의하신 값을 해석하는 중간 절차는 다음과 같습니다.
결론적으로 태그 값의 마지막 4자리 16진수를 10진수로 변환한 뒤, 64로 나누고(오른쪽으로 6비트 시프트) 특정 오프셋(140288)을 더하는 방식으로 계산됩니다.
아래 절차에 따라 값을 변환할 수 있습니다. 35000000066C5E9D4C09CAA8 값을 141098로 변환하는 과정을 예시로 설명하겠습니다.
먼저 RFID 태그 값의 마지막 4자리 16진수를 가져옵니다.
35000000066C5E9D4C09C**AA8** → CAA8
추출한 4자리 16진수(CAA8)를 10진수 값으로 변환합니다.
CAA8 (16진수) = 51880 (10진수)
3단계: 64로 나누기 (Right Shift by 6)
2단계에서 얻은 10진수 값을 64로 나눈 후, 소수점 이하는 버리고 정수 부분만 취합니다. 이는 컴퓨터 연산에서 **오른쪽으로 6비트 시프트(>> 6)**하는 것과 동일한 작업입니다.
여기서 정수 부분인 **810**을 취합니다.
마지막으로, 3단계에서 계산된 값에 고정된 오프셋 값인 140288을 더합니다. 이 오프셋 값은 해당 RFID 시스템에서 사용하는 고유한 기준값으로 보입니다.
이러한 규칙은 제공된 다른 예시들에도 동일하게 적용됩니다.
예시 2: ...C868 → 51304 (10진수) → 51304 / 64 = 801.625 → 801 → 801 + 140288 = 141089
예시 3: ...CC68 → 52328 (10진수) → 52328 / 64 = 817.625 → 817 → 817 + 140288 = 141105
문의하신 것처럼 RFID에는 EPC Gen2나 ISO 같은 국제 표준이 존재하지만, 실제 현장에서는 특정 목적(자산 관리, 동물 식별, 출입 통제 등)에 맞춰 데이터를 특정 범위의 숫자로 매핑하기 위해 이처럼 자체적인 인코딩 규칙을 사용하는 경우가 많습니다. 비트 시프트와 오프셋을 조합하는 방식은 특정 시스템의 데이터베이스 번호와 맞추기 위해 널리 사용되는 방법 중 하나입니다.
채택 시, 질문자님의 내공은 50% 환급되며,
('채택'으로 받는 해피빈 콩은 어려운 이웃들에게 기부됩니다)