feat: 통합 테스트 및 샘플 코드 추가
- test_integration.py: QR 토큰 생성 및 라벨 테스트 - samples/barcode_print.py: Brother QL 프린터 예제 - samples/barcode_reader_gui.py: 바코드 리더 GUI 참고 코드 Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
142
backend/samples/barcode_reader_README.md
Normal file
142
backend/samples/barcode_reader_README.md
Normal file
@@ -0,0 +1,142 @@
|
||||
# 허니웰 바코드 리더기 COM 포트 리딩 프로그램
|
||||
|
||||
COM3 포트에 연결된 허니웰 바코드 리더기에서 바코드를 실시간으로 읽어 터미널에 출력하는 Python 프로그램입니다.
|
||||
|
||||
## 필수 라이브러리 설치
|
||||
|
||||
```bash
|
||||
pip install pyserial
|
||||
```
|
||||
|
||||
## 사용 방법
|
||||
|
||||
### 1. 기본 실행 (COM3 포트, 9600 bps)
|
||||
|
||||
```bash
|
||||
python barcode_reader.py
|
||||
```
|
||||
|
||||
### 2. 다른 COM 포트 사용
|
||||
|
||||
```bash
|
||||
python barcode_reader.py --port COM5
|
||||
```
|
||||
|
||||
### 3. 통신 속도 변경
|
||||
|
||||
```bash
|
||||
python barcode_reader.py --baudrate 115200
|
||||
```
|
||||
|
||||
### 4. 사용 가능한 COM 포트 목록 확인
|
||||
|
||||
```bash
|
||||
python barcode_reader.py --list-ports
|
||||
```
|
||||
|
||||
## 출력 예시
|
||||
|
||||
```
|
||||
[시작] 바코드 리더기 연결 중...
|
||||
포트: COM3
|
||||
속도: 9600 bps
|
||||
------------------------------------------------------------
|
||||
[성공] COM3 포트 연결 완료!
|
||||
[대기] 바코드를 스캔해주세요... (종료: Ctrl+C)
|
||||
============================================================
|
||||
|
||||
[스캔 #1] 2026-01-07 15:30:45
|
||||
바코드: 8801234567890
|
||||
길이: 13자
|
||||
원본(HEX): 383830313233343536373839300d0a
|
||||
------------------------------------------------------------
|
||||
[스캔 #2] 2026-01-07 15:30:52
|
||||
바코드: ABC123XYZ
|
||||
길이: 9자
|
||||
원본(HEX): 4142433132335859 5a0d0a
|
||||
------------------------------------------------------------
|
||||
```
|
||||
|
||||
## 프로그램 종료
|
||||
|
||||
- **Ctrl + C** 키를 눌러 프로그램을 종료합니다.
|
||||
- 종료 시 총 스캔한 바코드 개수가 표시됩니다.
|
||||
|
||||
## 트러블슈팅
|
||||
|
||||
### 1. "포트 연결 실패" 오류
|
||||
|
||||
**원인:**
|
||||
- COM3 포트가 다른 프로그램에서 사용 중
|
||||
- 바코드 리더기가 제대로 연결되지 않음
|
||||
- 잘못된 포트 번호
|
||||
|
||||
**해결 방법:**
|
||||
```bash
|
||||
# 1. 사용 가능한 포트 목록 확인
|
||||
python barcode_reader.py --list-ports
|
||||
|
||||
# 2. 올바른 포트 번호로 실행
|
||||
python barcode_reader.py --port COM5
|
||||
```
|
||||
|
||||
### 2. 바코드가 읽히지 않음
|
||||
|
||||
**확인 사항:**
|
||||
- 바코드 리더기의 LED가 켜지는지 확인
|
||||
- 바코드 리더기 설정 확인 (USB-COM 모드인지)
|
||||
- 케이블 연결 상태 확인
|
||||
|
||||
### 3. 글자가 깨져서 나옴
|
||||
|
||||
**원인:**
|
||||
- 잘못된 통신 속도(baudrate) 설정
|
||||
|
||||
**해결 방법:**
|
||||
```bash
|
||||
# 다른 통신 속도 시도
|
||||
python barcode_reader.py --baudrate 115200
|
||||
python barcode_reader.py --baudrate 19200
|
||||
```
|
||||
|
||||
허니웰 바코드 리더기의 일반적인 통신 속도:
|
||||
- 9600 bps (기본값)
|
||||
- 19200 bps
|
||||
- 38400 bps
|
||||
- 115200 bps
|
||||
|
||||
## 허니웰 바코드 리더기 설정
|
||||
|
||||
일부 허니웰 바코드 리더기는 USB-COM 모드로 전환해야 할 수 있습니다.
|
||||
|
||||
### USB-COM 모드 활성화 방법:
|
||||
|
||||
1. 바코드 리더기 매뉴얼에서 "USB Serial Emulation" 설정 바코드 찾기
|
||||
2. 해당 바코드 스캔하여 USB-COM 모드 활성화
|
||||
3. 컴퓨터 재연결 후 장치 관리자에서 COM 포트 확인
|
||||
|
||||
## 장치 관리자에서 COM 포트 확인
|
||||
|
||||
1. `Windows + X` → **장치 관리자** 실행
|
||||
2. **포트(COM & LPT)** 항목 확장
|
||||
3. 바코드 리더기의 COM 포트 번호 확인 (예: COM3, COM5 등)
|
||||
|
||||
## 코드 구조
|
||||
|
||||
```python
|
||||
# 주요 함수
|
||||
read_barcode_from_com3(port, baudrate, timeout)
|
||||
├─ 시리얼 포트 열기
|
||||
├─ 바코드 데이터 실시간 읽기
|
||||
├─ UTF-8/ASCII 디코딩
|
||||
└─ 터미널 출력
|
||||
|
||||
list_available_ports()
|
||||
└─ 사용 가능한 COM 포트 목록 출력
|
||||
```
|
||||
|
||||
## 참고
|
||||
|
||||
- 프로그램은 바코드 스캔 시 자동으로 감지하여 출력합니다.
|
||||
- 각 바코드마다 스캔 번호, 시간, 내용, HEX 값이 표시됩니다.
|
||||
- 바코드 리더기는 일반적으로 스캔 후 개행문자(\r\n)를 전송합니다.
|
||||
Reference in New Issue
Block a user