WebUSB API
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
ë³´ì 컨í ì¤í¸: ì´ ê¸°ë¥ì ì¼ë¶ ëë 모ë ì§ì ë¸ë¼ì°ì ì ë³´ì 컨í ì¤í¸ (HTTPS)ììë§ ì¬ì©í ì ììµëë¤.
Experimental: ì´ ê¸°ë¥ì ì¤íì ì¸ ê¸°ë¥ì
ëë¤.
íë¡ëì
íê²½ìì ì¬ì©í기 ì ì ë¸ë¼ì°ì í¸íì± í를 주ì ê¹ê² íì¸íì¸ì.
WebUSB APIë ë¹íì¤ USB(Universal Serial Bus) í¸í ì¥ì¹ ìë¹ì¤ë¥¼ ì¹ì ë ¸ì¶íì¬ USB를 ë ìì íê³ ì¬ì©í기 ì½ê² ë§ëë ë°©ë²ì ì ê³µí©ëë¤.
ê°ë ë° ì¬ì©ë²
USBë ì ì ì£¼ë³ ì¥ì¹ì ì¬ì¤ì íì¤ì
ëë¤. ì»´í¨í°ì ì°ê²°íë USB ì¥ì¹ë ì¼ë°ì ì¼ë¡ í¤ë³´ë, ë§ì°ì¤, ë¹ëì¤ ì¥ì¹ ë±ê³¼ ê°ì ì¬ë¬ ì¥ì¹ í´ëì¤ë¡ 그룹íë©ëë¤. ì´ë¬í ì¥ì¹ë¤ì ì´ì ì²´ì ì í´ëì¤ ëë¼ì´ë²ë¥¼ ì¬ì©íì¬ ì§ìë©ëë¤. ì´ ì¤ ë§ì ì¥ì¹ë¤ì WebHID API를 íµí´ ì¹ììë ì ê·¼í ì ììµëë¤.
ì´ë¬í íì¤íë ì¥ì¹ ì¸ìë ì´ë¤ í´ëì¤ìë ë§ì§ ìë ë§ì ì¥ì¹ë¤ì´ ììµëë¤. ì´ë¬í ì¥ì¹ë¤ì ì¬ì©ì ì ì ëë¼ì´ë²ê° íìíë©°, ì´ë¥¼ íì©í기 ìí´ íìí ë¤ì´í°ë¸ ì½ëë¡ ì¸í´ ì¹ìì ì ê·¼í ì ììµëë¤. ì´ë¬í ì¥ì¹ ì¤ íë를 ì¤ì¹íë ¤ë©´ ì¢ ì¢ ì ì¡°ì ì²´ ì¹ì¬ì´í¸ìì ëë¼ì´ë²ë¥¼ ê²ìí´ì¼ íê³ , ë¤ë¥¸ ì»´í¨í°ìì ì¥ì¹ë¥¼ ì¬ì©íë ¤ë©´ ì´ ê³¼ì ì ë¤ì ë°ë³µí´ì¼ í©ëë¤.
WebUSBë ì´ë¬í ë¹íì¤ USB ì¥ì¹ ìë¹ì¤ê° ì¹ì ë ¸ì¶ë ì ìë ë°©ë²ì ì ê³µí©ëë¤. ì´ë íëì¨ì´ ì ì¡°ì ì²´ê° ìì²´ API를 ë³ëë¡ ì ê³µíì§ ìê³ ë ì¹ìì ì¥ì¹ì ì ê·¼í ì ìê² í¨ì ì미í©ëë¤.
ìë¡ì´ WebUSB í¸í ì¥ì¹ë¥¼ ì°ê²°íë©´ ë¸ë¼ì°ì ë ì ì¡°ì ì²´ ì¹ì¬ì´í¸ë¡ì ë§í¬ë¥¼ ì ê³µíë ì림ì íìí©ëë¤. ì¬ì´í¸ì ëì°©íë©´ ë¸ë¼ì°ì ë ì¥ì¹ì ì°ê²°í ì ìë ê¶íì ìì²íê³ , ê·¸ë¬ë©´ ì¥ì¹ë¥¼ ì¬ì©í ì¤ë¹ê° ë©ëë¤. ëë¼ì´ë²ë¥¼ ë¤ì´ë¡ëíê³ ì¤ì¹í íìê° ììµëë¤.
ì¸í°íì´ì¤
USB-
ì¹ íì´ì§ìì USB ì¥ì¹ë¥¼ ì°¾ê³ ì°ê²°í기 ìí í¹ì±ê³¼ ë©ìë를 ì ê³µí©ëë¤.
USBConnectionEvent-
ì¬ì©ì ìì´ì í¸ê° ìë¡ì´ USB ì¥ì¹ê° í¸ì¤í¸ì ì°ê²°ëê±°ë ì°ê²° í´ì ë ê²ì ê°ì§í ë
USB.onconnectëëUSB.ondisconnectì ì ë¬ëë ì´ë²¤í¸ íì ì ëë¤. USBDevice-
ì°ê²°ë USB ì¥ì¹ì ëí ë©íë°ì´í°ì ëí ì 근과 ì´ë¥¼ ì ì´íë ë©ìë를 ì ê³µí©ëë¤.
USBInTransferResult-
USB ì¥ì¹ìì USB í¸ì¤í¸ë¡ ë°ì´í° ì ì¡ì ìì²í 결과를 ëíë ëë¤.
USBIsochronousInTransferPacket-
ë±ì ìëí¬ì¸í¸ë¥¼ íµí´ USB ì¥ì¹ìì USB í¸ì¤í¸ë¡ ë°ì´í°ë¥¼ ì ì¡íë ìì²ìì ê°ë³ í¨í·ì ìí를 ëíë ëë¤.
USBIsochronousInTransferResult-
USB ì¥ì¹ìì USB í¸ì¤í¸ë¡ ë°ì´í° ì ì¡ì ìì²í 결과를 ëíë ëë¤.
USBIsochronousOutTransferPacket-
ë±ì ìëí¬ì¸í¸ë¥¼ íµí´ USB í¸ì¤í¸ìì USB ì¥ì¹ë¡ ë°ì´í°ë¥¼ ì ì¡íë ìì²ìì ê°ë³ í¨í·ì ìí를 ëíë ëë¤.
USBIsochronousOutTransferResult-
USB í¸ì¤í¸ìì USB ì¥ì¹ë¡ ë°ì´í° ì ì¡ì ìì²í 결과를 ëíë ëë¤.
USBConfiguration-
USB ì¥ì¹ì í¹ì 구ì±ê³¼ ì´ê²ì´ ì§ìíë ì¸í°íì´ì¤ì ëí ì 보를 ì ê³µí©ëë¤.
USBInterface-
USB ì¥ì¹ìì ì ê³µíë ì¸í°íì´ì¤ì ëí ì 보를 ì ê³µí©ëë¤.
USBAlternateInterface-
USB ì¥ì¹ìì ì ê³µíë ì¸í°íì´ì¤ì í¹ì 구ì±ì ëí ì 보를 ì ê³µí©ëë¤.
USBEndPoint-
USB ì¥ì¹ìì ì ê³µíë ìëí¬ì¸í¸ì ëí ì 보를 ì ê³µí©ëë¤.
ìì
>ì°ê²°ë ì¥ì¹ì ì ê·¼í기
ë¤ì ìì ë vendorIdê° 0x2341ì¸ USB.requestDevice()를 ì¬ì©íì¬ ì°ê²°ë Arduino ì¥ì¹ì ì ê·¼íë ë°©ë²ì ë³´ì¬ì¤ëë¤.
navigator.usb
.requestDevice({ filters: [{ vendorId: 0x2341 }] })
.then((device) => {
console.log(device.productName); // "Arduino Micro"
console.log(device.manufacturerName); // "Arduino LLC"
})
.catch((error) => {
console.error(error);
});
ì°ê²°ë 모ë ì¥ì¹ 찾기
USB.getDevices()를 ì¬ì©íì¬ ì°ê²°ë 모ë ì¥ì¹ë¥¼ ì°¾ì ì ììµëë¤. ë¤ì ìì ììë Arduino ì¥ì¹ê° ì°ê²°ë ìíìì ì íëª
ê³¼ ì ì¡°ì
ì²´ëª
ì´ ì½ìì ì¶ë ¥ë©ëë¤.
navigator.usb.getDevices().then((devices) => {
devices.forEach((device) => {
console.log(device.productName); // "Arduino Micro"
console.log(device.manufacturerName); // "Arduino LLC"
});
});
ëª ì¸ì
| Specification |
|---|
| WebUSB API > |