2018년 9월 16일 일요일

Web-USB Tryout

[Draft] WebUSB 테스트

  1. WebUSB 기능을 지원하는 것으로 알려진 Arduino Lenardo 보드를 입수했다. Full size board와 Pro-micro 보드를 모두 테스트해보기로 한다. 두 보드 모두 arduino IDE에서는 그냥 Leonardo 보드로 인식되며, 정확히 같은 동작을 한다.
  2. 가이드를 따라 펌웨어를 올려본다.
    1. 기본적으로 호환이 검증된 조합 (Arduino Leonardo + Arduino IDE)을 사용해 테스트를 한다면 한단계 씩 가이드를 따라하면 어렵지않게 기본 동작을 확인할 수 있다.
      • https://github.com/webusb/arduino
    2. 하지만 펌웨어를 적용한 arduino 보드가 Web-USB 장치로 인식이 되지 않는 경우가 발생할 수 있다. (WebUSB 보안문제로 인해 지원에 문제가 있을 것 같더니... 지원이 종료가 염려되기도 한다.)
      1. 펌웨어 문제인지도 확인해보아야 한다.
        1. Web-USB를 지원하는 장비는 GUID가 {3408b638-09a9-47a0-8bfd-a0768815b665} 이어야한다.
          • 해당 GUID는 USB TreeViewer에서 Platform Capabilities Descriptor 라는 항목에서 찾을 수 있다.
      2. 가이드에 명시되어 있는 내용으로 부터 알 수 있듯, USB 2.1을 지원하는 장치만 사용할 수 있다고 하는데, 호스트(PC)가 USB 2.1을 지원하는 지도 확인해보아야 한다.
        • Bingo! 위와 같은 구성에서는 WebUSB 인식이 잘 되고 있다.
        • Arduino Lenardo 까지 이르는 장치 트리에서 USB 2.0 노드가 없는 것을 볼 수 있다.
        • 참고로, USB 2.1을 지원하는 호스트라면, USB 장치에서 다음과 같이 Binary Object Store (BOS) Descriptor를 확인할 수 있어야 한다.
      3. 차후에 WebUSB 인식 문제 생긴다면 아래 글도 참고해보아야 할 것 같다.
        1. WebUSB를 지원하도록 설계되지 않은 다른 클래스 장치는 (보안 문제로 인해) 필터링이되었다.
        2. Web-platform feature라는 것을 활성화해야 동작할 것이라는 의견이 있지만, 특정 chrome version의 경우에만 해당되는 것 같다. 
          • chrome://flags/#enable-experimental-web-platform-features
          • Flag 세팅 없이 동작 하는 것을 확인 (Windows 10 64bit / Chrome version 68.0.3440.106) 했으니 최신 버전에서는 문제가 없다고 보아야겠다.
      4. 어떤 경우에는 WebUSB demo에서 아래와 같은 아래의 에러 메시지가 발생하기도 하는데, 딱히 장치 인식과 관계는 없다.
  3. Demo
    1. 스펙을 보면 WebUSB는 HTTPS 페이지에서만 사용할 수 있기 때문에 로컬에서 서버를 실행해 테스트하려면 self-signed 인증서를 사용하고, 크롬에서 인증서 체크 옵션을 설정하는 등 무척 번거롭다.
      1. 따라서 샘플 페이지를 활용하는 것이 효율적일것: 
        • https://webusb.github.io/arduino/demos/
      2. 프로젝트 보안이 문제가 안된다면 GitHub Pages를 활용하는 것이 좋은 방법이다.
    2. 조금더 복잡한 예제는 다음을 참조
      1. https://github.com/edwinm/WebUSB

댓글 없음:

댓글 쓰기

[Scrap] Zero to Hero: Guide to Object Detection using Deep Learning: Faster R-CNN,YOLO,SSD

Zero to Hero: Guide to Object Detection using Deep Learning: Faster R-CNN,YOLO,SSD https://cv-tricks.com/object-detection/faster-r-cnn-yo...