IT관련 지식들 2017. 3. 8. 09:54

스마트 카드에서 데이터를 읽어서 출력할 일이 생겨서 알아보던 중 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 }



posted by 동글동글82
: