스마트 카드에서 데이터를 읽어서 출력할 일이 생겨서 알아보던 중 libusb를 이용하여 통신하는 방법을 찾았다.
1. 준비물
- 스마트카드 리더기 : HID omnikey
- lsusb로 리더기 확인
- 스마트카드 리더기 드라이버 : 링크 클릭
- 32bits, 64bits 에 따라 링크가 다를 수 있으니 참고할 것.
- libusb 설치
- sudo apt-get install libusb-1.0-0-dev
- 설치 전
- 설치 후
2. 헤더
- #include <libusb-1.0/libusb.h>
3. makefile
- 동적 할당 라이브러리 추가.
- CC main.c -lusb-1.0 -o main
테스트
- 아래와 같이 파일을 작성하여 libusb_init()함수의 동작을 확인함.
- 추후 함수 사용법에 대해서 추가 블로그 작성 예정.
1 #include <libusb-1.0/libusb.h>
2 #include <stdio.h>
3 #include <sys/types.h>
4
5 int main(int argc, char *argv[])
6 {
7 int r = 0;
8 int rv = 0;
9 int cnt = 0;
10 libusb_device *dev;
11 struct libusb_device_handle *dev_handle;
12 libusb_context *ctx = NULL;
13
14 r = libusb_init(&ctx);
15 printf("init : %d \n", r);
29 return 0;
30 }
'IT관련 지식들' 카테고리의 다른 글
우분투 FTP 서버 설정(공유기 사용) (0) | 2018.04.03 |
---|---|
버추얼박스 USBtoSerial 연결 (0) | 2017.06.09 |
우분투 계정 관리 (0) | 2017.02.23 |
clock_gettime함수 (0) | 2017.02.13 |
우분투 'kr.archive.ubuntu.com'의 주소를 알아낼 수 없습니다 (2) | 2017.01.17 |