chrome.serial

설명

chrome.serial API를 사용하여 직렬 포트에 연결된 기기에서 읽고 씁니다.

권한

serial

유형

ConnectionInfo

속성

  • bitrate

    number 선택사항

    ConnectionOptions.bitrate 페이지를 참고하세요. 비표준 비트 전송률이 사용 중이거나 기본 기기를 쿼리하는 동안 오류가 발생한 경우 이 필드가 생략되거나 정확하지 않을 수 있습니다.

  • bufferSize

    숫자

    ConnectionOptions.bufferSize 보기

  • connectionId

    숫자

    직렬 포트 연결의 ID입니다.

  • ctsFlowControl

    부울 선택사항

    ConnectionOptions.ctsFlowControl 페이지를 참고하세요. 기본 기기를 쿼리하는 동안 오류가 발생한 경우 이 필드를 생략할 수 있습니다.

  • dataBits

    DataBits 선택사항

    ConnectionOptions.dataBits 페이지를 참고하세요. 기본 기기를 쿼리하는 동안 오류가 발생한 경우 이 필드를 생략할 수 있습니다.

  • 이름

    string

    ConnectionOptions.name 보기

  • parityBit

    ParityBit 선택사항

    ConnectionOptions.parityBit 페이지를 참고하세요. 기본 기기를 쿼리하는 동안 오류가 발생한 경우 이 필드를 생략할 수 있습니다.

  • 일시중지됨

    boolean

    연결의 onReceive 이벤트 실행이 차단되었는지 여부를 나타내는 플래그입니다.

  • 영구

    boolean

    ConnectionOptions.persistent 보기

  • receiveTimeout

    숫자

    ConnectionOptions.receiveTimeout 보기

  • sendTimeout

    숫자

    ConnectionOptions.sendTimeout 보기

  • stopBits

    StopBits 선택사항

    ConnectionOptions.stopBits 페이지를 참고하세요. 기본 기기를 쿼리하는 동안 오류가 발생한 경우 이 필드를 생략할 수 있습니다.

ConnectionOptions

속성

  • bitrate

    number 선택사항

    열려는 연결의 요청 비트 전송률입니다. 다양한 하드웨어와 호환되려면 이 숫자가 110, 300, 1200, 2400, 4800, 9600, 14400, 19200, 38400, 57600, 115200과 같이 일반적으로 사용 가능한 비트 전송률 중 하나와 일치해야 합니다. 물론 포트 자체에서 해당 비트 전송률을 지원하더라도 직렬 포트에 연결된 기기가 요청된 비트 전송률을 지원한다는 보장은 없습니다. 9600가 기본적으로 전달됩니다.

  • bufferSize

    number 선택사항

    데이터를 수신하는 데 사용되는 버퍼의 크기입니다. 기본값은 4,096입니다.

  • ctsFlowControl

    부울 선택사항

    RTS/CTS 하드웨어 흐름 제어의 사용 여부를 나타내는 플래그. 기본값은 거짓입니다.

  • dataBits

    DataBits 선택사항

    "eight"가 기본적으로 전달됩니다.

  • 이름

    문자열 선택사항

    연결에 연결할 애플리케이션에서 정의한 문자열입니다.

  • parityBit

    ParityBit 선택사항

    "no"가 기본적으로 전달됩니다.

  • 영구

    부울 선택사항

    애플리케이션이 정지될 때 연결을 열린 상태로 두어야 하는지 여부를 나타내는 플래그입니다 (앱 수명 주기 관리 참조). 기본값은 'false'입니다. 애플리케이션이 로드되면 이전에 Persistent=true로 열려 있던 직렬 연결을 getConnections로 가져올 수 있습니다.

  • receiveTimeout

    number 선택사항

    'timeout' 오류와 함께 onReceiveError 이벤트가 발생하기 전에 새 데이터를 기다리는 최대 시간 (밀리초)입니다. 0인 경우 연결에 대한 수신 시간 초과 오류가 발생하지 않습니다. 기본값은 0입니다.

  • sendTimeout

    number 선택사항

    'timeout' 오류로 콜백을 호출하기 전에 send 작업이 완료되기를 기다리는 최대 시간 (밀리초)입니다. 0인 경우 전송 시간 초과 오류가 트리거되지 않습니다. 기본값은 0입니다.

  • stopBits

    StopBits 선택사항

    "one"가 기본적으로 전달됩니다.

DataBits

열거형

DeviceControlSignals

속성

  • cts

    boolean

    CTS (Clear To Send).

  • DCD

    boolean

    DCD (데이터 이동통신사 감지) 또는 RLSD (수신 회선 신호/ 감지)

  • DSR

    boolean

    DSR (데이터 세트 준비 완료)

  • boolean

    RI (Ring Indicator)를 사용합니다.

DeviceInfo

속성

  • displayName

    문자열 선택사항

    호스트 드라이버에서 쿼리할 수 있는 경우 기본 기기의 사람이 읽을 수 있는 표시 이름입니다.

  • 경로

    string

    기기의 시스템 경로입니다. 이 기기에 연결하려면 chrome.serial.connectpath 인수로 전달해야 합니다.

  • productId

    number 선택사항

    기본 기기에 대해 확인할 수 있는 경우 USB 제품 ID입니다.

  • vendorId

    number 선택사항

    PCI 또는 USB 공급업체 ID(기본 기기별로 확인할 수 있는 경우)

HostControlSignals

속성

  • dtr

    부울 선택사항

    DTR (Data Terminal Ready)을 사용하고 있습니다.

  • RTS

    부울 선택사항

    RTS (Request To Send)

ParityBit

열거형

"even"

ReceiveError

열거형

"disconnected"
연결이 끊어졌습니다.

"timeout"
receiveTimeout밀리초 동안 수신된 데이터가 없습니다.

"device_lost"
기기와 호스트의 연결이 끊겼을 가능성이 높습니다.

"break"
기기가 파손 상태를 감지했습니다.

"frame_error"
기기에서 프레임 조정 오류를 감지했습니다.

"overrun"
문자 버퍼 오버런이 발생했습니다. 다음 글자는 사라집니다.

"buffer_overflow"
입력 버퍼 오버플로가 발생했습니다. 입력 버퍼에 공간이 없거나 파일 끝 (EOF) 문자 뒤에 문자가 수신되었습니다.

"parity_error"
기기에서 패리티 오류를 감지했습니다.

"system_error"
시스템 오류가 발생했으며 연결을 복구하지 못할 수 있습니다.

ReceiveErrorInfo

속성

  • connectionId

    숫자

    연결 식별자입니다.

  • error

    문제를 나타내는 오류 코드입니다.

ReceiveInfo

속성

  • connectionId

    숫자

    연결 식별자입니다.

  • 데이터

    ArrayBuffer

    수신된 데이터

SendError

열거형

"disconnected"
연결이 끊어졌습니다.

"pending"
전송이 이미 대기 중입니다.

"timeout"
전송 시간이 초과되었습니다.

"system_error"
시스템 오류가 발생했으며 연결을 복구하지 못할 수 있습니다.

SendInfo

속성

  • bytesSent

    숫자

    전송된 바이트 수입니다.

  • error

    SendError 선택사항

    오류가 발생한 경우 오류 코드입니다.

StopBits

열거형

"two"

방법

clearBreak()

Promise Chrome 45 이상
chrome.serial.clearBreak(
  connectionId: number,
  callback?: function,
)

특정 연결에서 문자 전송을 복원하고 전송선을 중단 없는 상태로 배치합니다.

매개변수

  • connectionId

    숫자

    연결의 ID입니다.

  • 콜백

    함수 선택사항

    callback 매개변수는 다음과 같습니다.

    (result: boolean)=>void

    • 결과

      boolean

반환 값

  • Promise<boolean>

    Chrome 117 이상

    프로미스는 Manifest V3 이상에서만 지원되며 다른 플랫폼에서는 콜백을 사용해야 합니다.

connect()

프로미스
chrome.serial.connect(
  path: string,
  options?: ConnectionOptions,
  callback?: function,
)

지정된 직렬 포트에 연결합니다.

매개변수

  • 경로

    string

    열려는 직렬 포트의 시스템 경로입니다.

  • 옵션

    ConnectionOptions 선택사항

    포트 구성 옵션

  • 콜백

    함수 선택사항

    callback 매개변수는 다음과 같습니다.

    (connectionInfo: ConnectionInfo)=>void

반환 값

  • Chrome 117 이상

    프로미스는 Manifest V3 이상에서만 지원되며 다른 플랫폼에서는 콜백을 사용해야 합니다.

disconnect()

프로미스
chrome.serial.disconnect(
  connectionId: number,
  callback?: function,
)

직렬 포트에서 연결을 해제합니다.

매개변수

  • connectionId

    숫자

    열린 연결의 ID입니다.

  • 콜백

    함수 선택사항

    callback 매개변수는 다음과 같습니다.

    (result: boolean)=>void

    • 결과

      boolean

반환 값

  • Promise<boolean>

    Chrome 117 이상

    프로미스는 Manifest V3 이상에서만 지원되며 다른 플랫폼에서는 콜백을 사용해야 합니다.

flush()

프로미스
chrome.serial.flush(
  connectionId: number,
  callback?: function,
)

지정된 연결의 입력 및 출력 버퍼에서 모든 바이트를 플러시합니다.

매개변수

  • connectionId

    숫자

  • 콜백

    함수 선택사항

    callback 매개변수는 다음과 같습니다.

    (result: boolean)=>void

    • 결과

      boolean

반환 값

  • Promise<boolean>

    Chrome 117 이상

    프로미스는 Manifest V3 이상에서만 지원되며 다른 플랫폼에서는 콜백을 사용해야 합니다.

getConnections()

프로미스
chrome.serial.getConnections(
  callback?: function,
)

애플리케이션이 소유한 현재 열려 있는 직렬 포트 연결 목록을 검색합니다.

매개변수

  • 콜백

    함수 선택사항

    callback 매개변수는 다음과 같습니다.

    (connectionInfos: ConnectionInfo[])=>void

반환 값

  • Promise<ConnectionInfo[]>

    Chrome 117 이상

    프로미스는 Manifest V3 이상에서만 지원되며 다른 플랫폼에서는 콜백을 사용해야 합니다.

getControlSignals()

프로미스
chrome.serial.getControlSignals(
  connectionId: number,
  callback?: function,
)

지정된 연결에서 제어 신호 상태를 검색합니다.

매개변수

반환 값

  • Chrome 117 이상

    프로미스는 Manifest V3 이상에서만 지원되며 다른 플랫폼에서는 콜백을 사용해야 합니다.

getDevices()

프로미스
chrome.serial.getDevices(
  callback?: function,
)

시스템에서 사용 가능한 직렬 기기에 대한 정보를 반환합니다. 이 메서드가 호출될 때마다 목록이 다시 생성됩니다.

매개변수

  • 콜백

    함수 선택사항

    callback 매개변수는 다음과 같습니다.

    (ports: DeviceInfo[])=>void

반환 값

  • Promise<DeviceInfo[]>

    Chrome 117 이상

    프로미스는 Manifest V3 이상에서만 지원되며 다른 플랫폼에서는 콜백을 사용해야 합니다.

getInfo()

프로미스
chrome.serial.getInfo(
  connectionId: number,
  callback?: function,
)

지정된 연결의 상태를 검색합니다.

매개변수

  • connectionId

    숫자

    열린 연결의 ID입니다.

  • 콜백

    함수 선택사항

    callback 매개변수는 다음과 같습니다.

    (connectionInfo: ConnectionInfo)=>void

반환 값

  • Chrome 117 이상

    프로미스는 Manifest V3 이상에서만 지원되며 다른 플랫폼에서는 콜백을 사용해야 합니다.

send()

프로미스
chrome.serial.send(
  connectionId: number,
  data: ArrayBuffer,
  callback?: function,
)

지정된 연결에 데이터를 씁니다.

매개변수

  • connectionId

    숫자

    연결의 ID입니다.

  • 데이터

    ArrayBuffer

    전송할 데이터입니다.

  • 콜백

    함수 선택사항

    callback 매개변수는 다음과 같습니다.

    (sendInfo: SendInfo)=>void

반환 값

  • Promise<SendInfo>

    Chrome 117 이상

    프로미스는 Manifest V3 이상에서만 지원되며 다른 플랫폼에서는 콜백을 사용해야 합니다.

setBreak()

Promise Chrome 45 이상
chrome.serial.setBreak(
  connectionId: number,
  callback?: function,
)

지정된 연결에서 문자 전송을 정지하고 clearBreak가 호출될 때까지 전송선을 끊습니다.

매개변수

  • connectionId

    숫자

    연결의 ID입니다.

  • 콜백

    함수 선택사항

    callback 매개변수는 다음과 같습니다.

    (result: boolean)=>void

    • 결과

      boolean

반환 값

  • Promise<boolean>

    Chrome 117 이상

    프로미스는 Manifest V3 이상에서만 지원되며 다른 플랫폼에서는 콜백을 사용해야 합니다.

setControlSignals()

프로미스
chrome.serial.setControlSignals(
  connectionId: number,
  signals: HostControlSignals,
  callback?: function,
)

지정된 연결에서 제어 신호 상태를 설정합니다.

매개변수

  • connectionId

    숫자

    연결의 ID입니다.

  • 신호 세트가 기기로 전송되도록 변경됩니다.

  • 콜백

    함수 선택사항

    callback 매개변수는 다음과 같습니다.

    (result: boolean)=>void

    • 결과

      boolean

반환 값

  • Promise<boolean>

    Chrome 117 이상

    프로미스는 Manifest V3 이상에서만 지원되며 다른 플랫폼에서는 콜백을 사용해야 합니다.

setPaused()

프로미스
chrome.serial.setPaused(
  connectionId: number,
  paused: boolean,
  callback?: function,
)

열려 있는 연결을 일시중지하거나 일시중지를 해제합니다.

매개변수

  • connectionId

    숫자

    열린 연결의 ID입니다.

  • 일시중지됨

    boolean

    일시중지 또는 일시중지 해제 여부를 나타내는 플래그입니다.

  • 콜백

    함수 선택사항

    callback 매개변수는 다음과 같습니다.

    ()=>void

반환 값

  • Promise<void>

    Chrome 117 이상

    프로미스는 Manifest V3 이상에서만 지원되며 다른 플랫폼에서는 콜백을 사용해야 합니다.

update()

프로미스
chrome.serial.update(
  connectionId: number,
  options: ConnectionOptions,
  callback?: function,
)

개방형 직렬 포트 연결의 옵션 설정을 업데이트합니다.

매개변수

  • connectionId

    숫자

    열린 연결의 ID입니다.

  • 포트 구성 옵션

  • 콜백

    함수 선택사항

    callback 매개변수는 다음과 같습니다.

    (result: boolean)=>void

    • 결과

      boolean

반환 값

  • Promise<boolean>

    Chrome 117 이상

    프로미스는 Manifest V3 이상에서만 지원되며 다른 플랫폼에서는 콜백을 사용해야 합니다.

이벤트

onReceive

chrome.serial.onReceive.addListener(
  callback: function,
)

연결에서 데이터를 읽을 때 발생하는 이벤트입니다.

매개변수

onReceiveError

chrome.serial.onReceiveError.addListener(
  callback: function,
)

런타임이 직렬 포트에서 데이터를 기다리는 동안 오류가 발생하면 이벤트가 발생했습니다. 이 이벤트가 발생하면 연결이 paused로 설정될 수 있습니다. "timeout" 오류는 연결을 일시중지하지 않습니다.

매개변수