chrome.serial

설명

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

권한

serial

유형

ConnectionInfo

속성

  • bitrate

    번호 선택사항

    ConnectionOptions.bitrate를 참조하세요. 비표준 비트 전송률이 사용 중이거나 기본 기기를 쿼리하는 중에 오류가 발생한 경우 이 필드가 누락되거나 부정확할 수 있습니다.

  • bufferSize

    숫자

    ConnectionOptions.bufferSize 보기

  • connectionId

    숫자

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

  • ctsFlowControl

    불리언 선택사항

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

  • dataBits

    DataBits 선택사항

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

  • 이름

    문자열

    ConnectionOptions.name 보기

  • parityBit

    ParityBit 선택사항

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

  • 일시중지됨

    부울

    연결이 onReceive 이벤트를 트리거하지 못하도록 차단되었는지 여부를 나타내는 플래그입니다.

  • 영구

    부울

    ConnectionOptions.persistent 보기

  • receiveTimeout

    숫자

    ConnectionOptions.receiveTimeout 보기

  • sendTimeout

    숫자

    ConnectionOptions.sendTimeout 보기

  • stopBits

    StopBits 선택사항

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

ConnectionOptions

속성

  • bitrate

    번호 선택사항

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

  • bufferSize

    번호 선택사항

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

  • ctsFlowControl

    불리언 선택사항

    RTS/CTS 하드웨어 흐름 제어를 사용 설정할지 여부를 나타내는 플래그입니다. 기본값은 false입니다.

  • dataBits

    DataBits 선택사항

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

  • 이름

    문자열 선택사항

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

  • parityBit

    ParityBit 선택사항

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

  • 영구

    불리언 선택사항

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

  • receiveTimeout

    번호 선택사항

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

  • sendTimeout

    번호 선택사항

    'timeout' 오류와 함께 콜백을 호출하기 전에 send 작업이 완료될 때까지 기다리는 최대 시간 (밀리초)입니다. 0이면 전송 시간 초과 오류가 트리거되지 않습니다. 기본값은 0입니다.

  • stopBits

    StopBits 선택사항

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

DataBits

열거형

"seven"

"eight"

DeviceControlSignals

속성

  • cts

    부울

    CTS (Clear To Send)

  • dcd

    부울

    DCD (데이터 캐리어 감지) 또는 RLSD (수신 회선 신호/ 감지)입니다.

  • dsr

    부울

    DSR (데이터 세트 준비됨)

  • ri

    부울

    RI (벨소리 표시기)

DeviceInfo

속성

  • displayName

    문자열 선택사항

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

  • 경로

    문자열

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

  • productId

    번호 선택사항

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

  • vendorId

    번호 선택사항

    기본 기기에 대해 결정할 수 있는 경우 PCI 또는 USB 공급업체 ID입니다.

HostControlSignals

속성

  • dtr

    불리언 선택사항

    DTR (데이터 터미널 준비)

  • rts

    불리언 선택사항

    RTS (발송 요청)

ParityBit

열거형

"no"

"odd"

"even"

ReceiveError

열거형

'disconnected'
연결이 해제되었습니다.

'timeout'
receiveTimeout밀리초 동안 데이터가 수신되지 않았습니다.

'device_lost'
기기가 호스트에서 연결 해제되었을 가능성이 높습니다.

'break'
기기에서 중단 조건을 감지했습니다.

'frame_error'
기기에서 프레이밍 오류를 감지했습니다.

'오버런'
문자 버퍼 오버런이 발생했습니다. 다음 문자가 손실됩니다.

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

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

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

ReceiveErrorInfo

속성

  • connectionId

    숫자

    연결 식별자입니다.

  • 오류

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

ReceiveInfo

속성

  • connectionId

    숫자

    연결 식별자입니다.

  • 데이터

    ArrayBuffer

    수신된 데이터입니다.

SendError

열거형

'disconnected'
연결이 해제되었습니다.

'대기 중'
전송이 이미 대기 중입니다.

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

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

SendInfo

속성

  • bytesSent

    숫자

    전송된 바이트 수입니다.

  • 오류

    SendError 선택사항

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

StopBits

열거형

"one"

"two"

메서드

clearBreak()

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

지정된 연결에서 문자 전송을 복원하고 전송 라인을 중단되지 않은 상태로 배치합니다.

매개변수

  • connectionId

    숫자

    연결의 ID입니다.

  • callback

    함수 선택사항

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

    (result: boolean) => void

    • 결과

      부울

반환 값

  • Promise<boolean>

    Chrome 117 이상

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

connect()

Promise
chrome.serial.connect(
  path: string,
  options?: ConnectionOptions,
  callback?: function,
)
: Promise<ConnectionInfo>

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

매개변수

  • 경로

    문자열

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

  • 옵션

    ConnectionOptions 선택사항

    포트 구성 옵션입니다.

  • callback

    함수 선택사항

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

    (connectionInfo: ConnectionInfo) => void

반환 값

  • Chrome 117 이상

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

disconnect()

Promise
chrome.serial.disconnect(
  connectionId: number,
  callback?: function,
)
: Promise<boolean>

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

매개변수

  • connectionId

    숫자

    열린 연결의 ID입니다.

  • callback

    함수 선택사항

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

    (result: boolean) => void

    • 결과

      부울

반환 값

  • Promise<boolean>

    Chrome 117 이상

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

flush()

Promise
chrome.serial.flush(
  connectionId: number,
  callback?: function,
)
: Promise<boolean>

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

매개변수

  • connectionId

    숫자

  • callback

    함수 선택사항

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

    (result: boolean) => void

    • 결과

      부울

반환 값

  • Promise<boolean>

    Chrome 117 이상

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

getConnections()

Promise
chrome.serial.getConnections(
  callback?: function,
)
: Promise<ConnectionInfo[]>

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

매개변수

  • callback

    함수 선택사항

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

    (connectionInfos: ConnectionInfo[]) => void

반환 값

  • Promise<ConnectionInfo[]>

    Chrome 117 이상

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

getControlSignals()

Promise
chrome.serial.getControlSignals(
  connectionId: number,
  callback?: function,
)
: Promise<DeviceControlSignals>

지정된 연결의 제어 신호 상태를 가져옵니다.

매개변수

반환 값

  • Chrome 117 이상

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

getDevices()

Promise
chrome.serial.getDevices(
  callback?: function,
)
: Promise<DeviceInfo[]>

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

매개변수

  • callback

    함수 선택사항

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

    (ports: DeviceInfo[]) => void

반환 값

  • Promise<DeviceInfo[]>

    Chrome 117 이상

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

getInfo()

Promise
chrome.serial.getInfo(
  connectionId: number,
  callback?: function,
)
: Promise<ConnectionInfo>

지정된 연결의 상태를 가져옵니다.

매개변수

  • connectionId

    숫자

    열린 연결의 ID입니다.

  • callback

    함수 선택사항

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

    (connectionInfo: ConnectionInfo) => void

반환 값

  • Chrome 117 이상

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

send()

Promise
chrome.serial.send(
  connectionId: number,
  data: ArrayBuffer,
  callback?: function,
)
: Promise<SendInfo>

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

매개변수

  • connectionId

    숫자

    연결의 ID입니다.

  • 데이터

    ArrayBuffer

    전송할 데이터입니다.

  • callback

    함수 선택사항

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

    (sendInfo: SendInfo) => void

반환 값

  • Promise<SendInfo>

    Chrome 117 이상

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

setBreak()

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

지정된 연결에서 문자 전송을 일시 중지하고 clearBreak가 호출될 때까지 전송 라인을 브레이크 상태로 설정합니다.

매개변수

  • connectionId

    숫자

    연결의 ID입니다.

  • callback

    함수 선택사항

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

    (result: boolean) => void

    • 결과

      부울

반환 값

  • Promise<boolean>

    Chrome 117 이상

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

setControlSignals()

Promise
chrome.serial.setControlSignals(
  connectionId: number,
  signals: HostControlSignals,
  callback?: function,
)
: Promise<boolean>

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

매개변수

  • connectionId

    숫자

    연결의 ID입니다.

  • 기기에 전송할 신호 변경사항 집합입니다.

  • callback

    함수 선택사항

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

    (result: boolean) => void

    • 결과

      부울

반환 값

  • Promise<boolean>

    Chrome 117 이상

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

setPaused()

Promise
chrome.serial.setPaused(
  connectionId: number,
  paused: boolean,
  callback?: function,
)
: Promise<void>

열린 연결을 일시중지하거나 일시중지 해제합니다.

매개변수

  • connectionId

    숫자

    열린 연결의 ID입니다.

  • 일시중지됨

    부울

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

  • callback

    함수 선택사항

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

    () => void

반환 값

  • Promise<void>

    Chrome 117 이상

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

update()

Promise
chrome.serial.update(
  connectionId: number,
  options: ConnectionOptions,
  callback?: function,
)
: Promise<boolean>

열린 직렬 포트 연결의 옵션 설정을 업데이트합니다.

매개변수

  • connectionId

    숫자

    열린 연결의 ID입니다.

  • 포트 구성 옵션입니다.

  • callback

    함수 선택사항

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

    (result: boolean) => void

    • 결과

      부울

반환 값

  • Promise<boolean>

    Chrome 117 이상

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

이벤트

onReceive

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

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

매개변수

  • callback

    함수

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

    (info: ReceiveInfo) => void

onReceiveError

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

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

매개변수