Açıklama
Bağlı USB cihazlarıyla etkileşim kurmak için chrome.usb
API'yi kullanın. Bu API, USB işlemlerine bir uygulama bağlamından erişim sağlar. Bu API'yi kullanan uygulamalar, donanım cihazları için sürücü olarak çalışabilir. Bu API tarafından oluşturulan hatalar, runtime.lastError
ayarlanarak ve işlevin normal geri çağırması yürütülerek bildirilir. Bu durumda, geri çağırmanın normal parametreleri tanımsız olur.
İzinler
usb
Türler
ConfigDescriptor
Özellikler
-
etkin
boolean
Chrome 47 ve sonraki sürümlerBu etkin yapılandırma mı?
-
configurationValue
sayı
Yapılandırma numarası.
-
açıklama
string isteğe bağlı
Yapılandırmanın açıklaması.
-
extra_data
ArrayBuffer
Bu yapılandırmayla ilişkili fazladan açıklayıcı veriler.
-
arayüzler
Kullanılabilir arayüzler.
-
maxPower
sayı
Bu cihazın ihtiyaç duyduğu miliamper (mA) cinsinden maksimum güç.
-
remoteWakeup
boolean
Cihaz uzaktan uyandırmayı destekler.
-
selfPowered
boolean
Cihaz, kendi gücüne sahiptir.
ConnectionHandle
Özellikler
-
herkese açık kullanıcı adı
sayı
USB cihazı, talep edilen tüm ilişkili arayüzler ve bekleyen aktarımlarla bu bağlantıyı temsil eden opak tutma yeri. Cihaz her açıldığında yeni bir herkese açık kullanıcı adı oluşturulur. Bağlantı adı
Device.device
adından farklı. -
productId
sayı
Ürün kimliği.
-
vendorId
sayı
Cihazın satıcı kimliği.
ControlTransferInfo
Özellikler
-
veri
ArrayBuffer isteğe bağlı
Aktarılacak veri (yalnızca çıkış aktarımları için gereklidir).
-
direction
Aktarım yönü (
"in"
veya"out"
). -
indeks
sayı
wIndex
alanı için Aynı kaynak'a bakın. -
length
numara isteğe bağlı
Alınacak maksimum bayt sayısı (yalnızca giriş aktarımları için gereklidir).
-
alıcı
Aktarım hedefi.
"interface"
veya"endpoint"
iseindex
tarafından belirtilen hedefin talep edilmesi gerekir. -
istek
sayı
bRequest
alanı, Evrensel Seri Yol Aracı Spesifikasyonu Revizyon 1.1 § 9.3'e bakın. -
requestType
İstek türü.
-
Mola
numara isteğe bağlı
Chrome 43 ve sonraki sürümlerİstek zaman aşımı (milisaniye cinsinden).
0
varsayılan değeri, zaman aşımı olmadığını gösterir. -
value
sayı
wValue
alanı için Aynı kaynak'a bakın.
Device
Özellikler
-
cihaz
sayı
USB cihazı için opak bir kimlik. Cihaz fişten çıkarılana kadar bu ayar değişmeden kalır.
-
manufacturerName
dize
Chrome 46 ve sonraki sürümlerCihazdan okunan iManufacturer dizesi (varsa).
-
productId
sayı
Ürün kimliği.
-
productName
dize
Chrome 46 ve sonraki sürümlerCihazdan okunan iProduct dizesi (varsa).
-
serialNumber
dize
Chrome 46 ve sonraki sürümlerCihazdan okunan iSerialNumber dizesi (varsa).
-
vendorId
sayı
Cihazın satıcı kimliği.
-
sürüm
sayı
Chrome 51 ve sonraki sürümlerCihaz sürümü (bcdDevice alanı).
DeviceFilter
Özellikler
-
interfaceClass
numara isteğe bağlı
USB arayüz sınıfı, cihazdaki herhangi bir arayüzle eşleşir.
-
interfaceProtocol
numara isteğe bağlı
USB arayüz protokolü, yalnızca arayüz alt sınıfı eşleşirse işaretlidir.
-
interfaceSubclass
numara isteğe bağlı
USB arayüz alt sınıfı; yalnızca arayüz sınıfı eşleşirse işaretlidir.
-
productId
numara isteğe bağlı
Cihaz ürün kimliği, yalnızca tedarikçi kimliği eşleştiğinde kontrol edilir.
-
vendorId
numara isteğe bağlı
Cihaz tedarikçi firması kimliği.
DevicePromptOptions
Özellikler
-
filtreler
DeviceFilter[] isteğe bağlı
Kullanıcıya sunulan cihazların listesini filtreleyin. Birden fazla filtre sağlanmışsa herhangi bir filtreyle eşleşen cihazlar görüntülenir.
-
çoklu
boole isteğe bağlı
Kullanıcının birden fazla cihaz seçmesine izin ver.
Direction
Direction, Recipient, RequestType ve TransferType öğelerinin tümü, USB spesifikasyonu içinde kendi adlarıyla eşlenir.
Enum
"içinde"
"out"
EndpointDescriptor
Özellikler
-
adres
sayı
Uç nokta adresi.
-
direction
Aktarım yönü.
-
extra_data
ArrayBuffer
Bu uç noktayla ilişkili fazladan açıklayıcı veriler.
-
maximumPacketSize
sayı
Maksimum paket boyutu.
-
pollingInterval
numara isteğe bağlı
Yoklama aralığı (yalnızca kesme ve eş zamanlı).
-
senkronizasyon
SynchronizationType isteğe bağlı
Aktarım senkronizasyon modu (yalnızca iki kronometre).
-
tür
Aktarım türü.
-
kullanım
UsageType isteğe bağlı
Uç nokta kullanımı ipucu.
EnumerateDevicesAndRequestAccessOptions
Özellikler
-
interfaceId
numara isteğe bağlı
Erişim isteğinde bulunulacak arayüz kimliği. Yalnızca Chrome OS'te kullanılabilir. Diğer platformlar üzerinde bir etkisi yoktur.
-
productId
sayı
Ürün kimliği.
-
vendorId
sayı
Cihazın satıcı kimliği.
EnumerateDevicesOptions
Özellikler
-
filtreler
DeviceFilter[] isteğe bağlı
Belirli bir filtreyle eşleşen bir cihaz döndürülür. Boş bir filtre listesi, uygulamanın izninin olduğu tüm cihazları döndürür.
-
productId
numara isteğe bağlı
Kullanımdan kaldırıldıDeviceFilter.productId
ayarına eşdeğer. -
vendorId
numara isteğe bağlı
Kullanımdan kaldırıldıDeviceFilter.vendorId
ayarına eşdeğer.
GenericTransferInfo
Özellikler
-
veri
ArrayBuffer isteğe bağlı
Aktarılacak veri (yalnızca çıkış aktarımları için gereklidir).
-
direction
Aktarım yönü (
"in"
veya"out"
). -
uç nokta
sayı
Hedef uç nokta adresi. Bu uç noktayı içeren arayüzle ilgili hak talebinde bulunulmalıdır.
-
length
numara isteğe bağlı
Alınacak maksimum bayt sayısı (yalnızca giriş aktarımları için gereklidir).
-
Mola
numara isteğe bağlı
Chrome 43 ve sonraki sürümlerİstek zaman aşımı (milisaniye cinsinden).
0
varsayılan değeri, zaman aşımı olmadığını gösterir.
InterfaceDescriptor
Özellikler
-
alternateSetting
sayı
Arayüz alternatif ayar numarası (varsayılan olarak
0
değerine ayarlanır) -
açıklama
string isteğe bağlı
Arayüzün açıklaması.
-
endpoints
Kullanılabilir uç noktalar.
-
extra_data
ArrayBuffer
Bu arayüzle ilgili fazladan açıklayıcı veriler.
-
interfaceClass
sayı
USB arayüz sınıfı.
-
interfaceNumber
sayı
Arayüz numarası.
-
interfaceProtocol
sayı
USB arayüz protokolü.
-
interfaceSubclass
sayı
USB arayüzü alt sınıfı.
IsochronousTransferInfo
Özellikler
-
packetLength
sayı
Bu aktarımdaki paketlerin her birinin uzunluğu.
-
paketler
sayı
Bu aktarımdaki toplam paket sayısı.
-
transferInfo
Parametreleri aktarın. Bu parametre bloğunda belirtilen aktarım uzunluğu veya veri tamponu, aktarımın bağımsız paketlerini oluşturmak için
packetLength
sınırları boyunca bölünür.
Recipient
Enum
"interface"
RequestType
Enum
"standard"
"class"
SynchronizationType
Kesme ve eş zamanlı modlar için SynchronizationType ve UsageType, USB spesifikasyonu içinde kendi adlarıyla eşlenir.
Enum
TransferResultInfo
Özellikler
-
veri
ArrayBuffer isteğe bağlı
Giriş aktarımı tarafından döndürülen veriler. Çıkış aktarımları için
undefined
. -
resultCode
numara isteğe bağlı
0
değeri, aktarımın başarılı olduğunu gösterir. Diğer değerler hata olduğunu gösterir.
TransferType
Enum
"control"
"interrupt"
"bulk"
UsageType
Enum
"data"
"feedback"
"explicitFeedback"
Yöntemler
bulkTransfer()
chrome.usb.bulkTransfer(
handle: ConnectionHandle,
transferInfo: GenericTransferInfo,
callback?: function,
)
Belirtilen cihazda toplu aktarım gerçekleştirir.
Parametreler
-
herkese açık kullanıcı adı
Cihaz bağlantısı açık olmalıdır.
-
transferInfo
Aktarım parametreleri.
-
geri çağırma
Functions (isteğe bağlı)
callback
parametresi şu şekilde görünür:(info: TransferResultInfo) => void
-
bilgi
-
İlerlemeler
-
Promise<TransferResultInfo>
Chrome 116 ve sonraki sürümlerVaatler yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformların geri çağırmaları kullanması gerekir.
claimInterface()
chrome.usb.claimInterface(
handle: ConnectionHandle,
interfaceNumber: number,
callback?: function,
)
Bir USB cihazdaki bir arayüz için hak talebinde bulunuyor. Verilerin bir arayüze veya ilişkili uç noktalara aktarılabilmesi için arayüzün hak talebinde bulunulması gerekir. Bir arayüz üzerinde, aynı anda yalnızca bir bağlantı herkese açık kullanıcı adı talep edilebilir. Arayüz için önceden hak talebinde bulunulmuşsa bu çağrı başarısız olur.
Arayüz artık gerekli olmadığında releaseInterface
çağrılmalıdır.
Parametreler
-
herkese açık kullanıcı adı
Cihaz bağlantısı açık olmalıdır.
-
interfaceNumber
sayı
Hak talebinde bulunulacak arayüz.
-
geri çağırma
Functions (isteğe bağlı)
callback
parametresi şu şekilde görünür:() => void
İlerlemeler
-
Promise<void>
Chrome 116 ve sonraki sürümlerVaatler yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformların geri çağırmaları kullanması gerekir.
closeDevice()
chrome.usb.closeDevice(
handle: ConnectionHandle,
callback?: function,
)
Bir bağlantı tutma yerini kapatır. Kapatılan herkese açık kullanıcı adlarında işlemlerin çağrılması güvenli bir işlemdir ancak hiçbir işlem yapılmasına neden olmaz.
Parametreler
-
herkese açık kullanıcı adı
Kapatılacak
ConnectionHandle
. -
geri çağırma
Functions (isteğe bağlı)
callback
parametresi şu şekilde görünür:() => void
İlerlemeler
-
Promise<void>
Chrome 116 ve sonraki sürümlerVaatler yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformların geri çağırmaları kullanması gerekir.
controlTransfer()
chrome.usb.controlTransfer(
handle: ConnectionHandle,
transferInfo: ControlTransferInfo,
callback?: function,
)
Belirtilen cihazda kontrol aktarımı gerçekleştirir.
Kontrol aktarımları cihazı, arayüzü veya bir uç noktayı belirtir. Bir arayüze veya uç noktaya aktarım için arayüzle ilgili hak talebinde bulunulması gerekir.
Parametreler
-
herkese açık kullanıcı adı
Cihaz bağlantısı açık olmalıdır.
-
transferInfo
-
geri çağırma
Functions (isteğe bağlı)
callback
parametresi şu şekilde görünür:(info: TransferResultInfo) => void
-
bilgi
-
İlerlemeler
-
Promise<TransferResultInfo>
Chrome 116 ve sonraki sürümlerVaatler yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformların geri çağırmaları kullanması gerekir.
findDevices()
chrome.usb.findDevices(
options: EnumerateDevicesAndRequestAccessOptions,
callback?: function,
)
Tedarikçi, ürün ve (isteğe bağlı olarak) arayüz kimlikleri tarafından belirtilen USB cihazlarını bulur ve izinlerin verilmesi bu cihazları kullanıma açar.
Erişim isteği reddedilirse veya cihaz açılamıyorsa bir bağlantı tanıtıcısı oluşturulmaz veya döndürülmez.
Bu yöntemin çağrılması, her cihazda getDevices
ve ardından openDevice
çağrılmasıyla eşdeğerdir.
Parametreler
-
seçenekler
Hedef cihazlarda aranacak özellikler.
-
geri çağırma
Functions (isteğe bağlı)
callback
parametresi şu şekilde görünür:(handles: ConnectionHandle[]) => void
-
herkese açık kullanıcı adları
-
İlerlemeler
-
Promise<ConnectionHandle[]>
Chrome 116 ve sonraki sürümlerVaatler yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformların geri çağırmaları kullanması gerekir.
getConfiguration()
chrome.usb.getConfiguration(
handle: ConnectionHandle,
callback?: function,
)
Seçili olan yapılandırmanın yapılandırma tanımlayıcısını alır.
Parametreler
-
herkese açık kullanıcı adı
Cihaz bağlantısı açık olmalıdır.
-
geri çağırma
Functions (isteğe bağlı)
callback
parametresi şu şekilde görünür:(config: ConfigDescriptor) => void
-
config
-
İlerlemeler
-
Promise<ConfigDescriptor>
Chrome 116 ve sonraki sürümlerVaatler yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformların geri çağırmaları kullanması gerekir.
getConfigurations()
chrome.usb.getConfigurations(
device: Device,
callback?: function,
)
Cihaz yapılandırması tanımlayıcılarının tamamını döndürür.
Parametreler
-
cihaz
Açıklayıcıların alınacağı
Device
. -
geri çağırma
Functions (isteğe bağlı)
callback
parametresi şu şekilde görünür:(configs: ConfigDescriptor[]) => void
-
configs
-
İlerlemeler
-
Promise<ConfigDescriptor[]>
Chrome 116 ve sonraki sürümlerVaatler yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformların geri çağırmaları kullanması gerekir.
getDevices()
chrome.usb.getDevices(
options: EnumerateDevicesOptions,
callback?: function,
)
Bağlı USB cihazlarını sıralar.
Parametreler
İlerlemeler
-
Söz<Cihaz[]>
Chrome 116 ve sonraki sürümlerVaatler yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformların geri çağırmaları kullanması gerekir.
getUserSelectedDevices()
chrome.usb.getUserSelectedDevices(
options: DevicePromptOptions,
callback?: function,
)
Kullanıcıya bir cihaz seçici sunar ve seçilen Device
ları döndürür. Kullanıcı iptal ederse seçici cihazlar boş olur. İletişim kutusunun gösterilebilmesi için kullanıcı hareketi gereklidir. Kullanıcı hareketi olmadan geri çağırma, kullanıcı işlemi iptal etmiş gibi çalışır.
Parametreler
İlerlemeler
-
Söz<Cihaz[]>
Chrome 116 ve sonraki sürümlerVaatler yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformların geri çağırmaları kullanması gerekir.
interruptTransfer()
chrome.usb.interruptTransfer(
handle: ConnectionHandle,
transferInfo: GenericTransferInfo,
callback?: function,
)
Belirtilen cihazda kesinti aktarımı gerçekleştirir.
Parametreler
-
herkese açık kullanıcı adı
Cihaz bağlantısı açık olmalıdır.
-
transferInfo
Aktarım parametreleri.
-
geri çağırma
Functions (isteğe bağlı)
callback
parametresi şu şekilde görünür:(info: TransferResultInfo) => void
-
bilgi
-
İlerlemeler
-
Promise<TransferResultInfo>
Chrome 116 ve sonraki sürümlerVaatler yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformların geri çağırmaları kullanması gerekir.
isochronousTransfer()
chrome.usb.isochronousTransfer(
handle: ConnectionHandle,
transferInfo: IsochronousTransferInfo,
callback?: function,
)
İlgili cihazda eş zamanlı aktarım işlemi gerçekleştirir.
Parametreler
-
herkese açık kullanıcı adı
Cihaz bağlantısı açık olmalıdır.
-
transferInfo
-
geri çağırma
Functions (isteğe bağlı)
callback
parametresi şu şekilde görünür:(info: TransferResultInfo) => void
-
bilgi
-
İlerlemeler
-
Promise<TransferResultInfo>
Chrome 116 ve sonraki sürümlerVaatler yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformların geri çağırmaları kullanması gerekir.
listInterfaces()
chrome.usb.listInterfaces(
handle: ConnectionHandle,
callback?: function,
)
Bir USB cihazındaki tüm arayüzleri listeler.
Parametreler
-
herkese açık kullanıcı adı
Cihaz bağlantısı açık olmalıdır.
-
geri çağırma
Functions (isteğe bağlı)
callback
parametresi şu şekilde görünür:(descriptors: InterfaceDescriptor[]) => void
-
descriptors
-
İlerlemeler
-
Promise<InterfaceDescriptor[]>
Chrome 116 ve sonraki sürümlerVaatler yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformların geri çağırmaları kullanması gerekir.
openDevice()
chrome.usb.openDevice(
device: Device,
callback?: function,
)
getDevices
tarafından döndürülen bir USB cihazı açar.
Parametreler
-
cihaz
Açılacak
Device
. -
geri çağırma
Functions (isteğe bağlı)
callback
parametresi şu şekilde görünür:(handle: ConnectionHandle) => void
-
herkese açık kullanıcı adı
-
İlerlemeler
-
Promise<ConnectionHandle>
Chrome 116 ve sonraki sürümlerVaatler yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformların geri çağırmaları kullanması gerekir.
releaseInterface()
chrome.usb.releaseInterface(
handle: ConnectionHandle,
interfaceNumber: number,
callback?: function,
)
Hak talebinde bulunulan bir arayüzü iptal eder.
Parametreler
-
herkese açık kullanıcı adı
Cihaz bağlantısı açık olmalıdır.
-
interfaceNumber
sayı
Kullanıma sunulacak arayüz.
-
geri çağırma
Functions (isteğe bağlı)
callback
parametresi şu şekilde görünür:() => void
İlerlemeler
-
Promise<void>
Chrome 116 ve sonraki sürümlerVaatler yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformların geri çağırmaları kullanması gerekir.
requestAccess()
chrome.usb.requestAccess(
device: Device,
interfaceId: number,
callback?: function,
)
Bu işlev Chrome OS'e özgüdür ve diğer platformlarda çağrılamazdı. Bu işlem, dolaylı yoldan openDevice
kapsamında gerçekleştiriliyor ve işlevi, tüm platformlarda true
sonucunu döndürecek.
Cihazda belirtilen arayüzle ilgili hak talebinde bulunulmaması durumunda, Chrome OS tarafından talep edilen bir cihaza izin aracısından erişim talep eder.
Parametreler
-
cihaz
Erişim isteğinde bulunulacak
Device
. -
interfaceId
sayı
İstenen arayüz.
-
geri çağırma
Functions (isteğe bağlı)
callback
parametresi şu şekilde görünür:(success: boolean) => void
-
başarılı
boolean
-
İlerlemeler
-
Promise<boolean>
Chrome 116 ve sonraki sürümlerVaatler yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformların geri çağırmaları kullanması gerekir.
resetDevice()
chrome.usb.resetDevice(
handle: ConnectionHandle,
callback?: function,
)
USB cihazı sıfırlamaya çalışır. Sıfırlama işlemi başarısız olursa belirtilen bağlantı tutamacı kapatılır ve USB cihazının bağlantısı kesilip yeniden bağlanılmış olarak görünür. Bu durumda, cihazı edinmek için getDevices
veya findDevices
yeniden çağrılmalıdır.
Parametreler
-
herkese açık kullanıcı adı
Sıfırlanacak bağlantı tutma yeri.
-
geri çağırma
Functions (isteğe bağlı)
callback
parametresi şu şekilde görünür:(success: boolean) => void
-
başarılı
boolean
-
İlerlemeler
-
Promise<boolean>
Chrome 116 ve sonraki sürümlerVaatler yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformların geri çağırmaları kullanması gerekir.
setConfiguration()
chrome.usb.setConfiguration(
handle: ConnectionHandle,
configurationValue: number,
callback?: function,
)
Bir cihaz yapılandırması seçin.
Bu işlev, cihazın kullanılabilir yapılandırmalarından birini seçerek cihazı etkin bir şekilde sıfırlar. Yalnızca 0
değerinden büyük yapılandırma değerleri geçerlidir ancak bazı hatalı cihazların 0
çalışan yapılandırması vardır. Dolayısıyla bu değere izin verilir.
Parametreler
-
herkese açık kullanıcı adı
Cihaz bağlantısı açık olmalıdır.
-
configurationValue
sayı
-
geri çağırma
Functions (isteğe bağlı)
callback
parametresi şu şekilde görünür:() => void
İlerlemeler
-
Promise<void>
Chrome 116 ve sonraki sürümlerVaatler yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformların geri çağırmaları kullanması gerekir.
setInterfaceAlternateSetting()
chrome.usb.setInterfaceAlternateSetting(
handle: ConnectionHandle,
interfaceNumber: number,
alternateSetting: number,
callback?: function,
)
Önceden talep edilen arayüzde alternatif bir ayar seçer.
Parametreler
-
herkese açık kullanıcı adı
Bu arayüzle ilgili hak talebinde bulunulan cihaza açık bağlantı.
-
interfaceNumber
sayı
Yapılandırılacak arayüz.
-
alternateSetting
sayı
Yapılandırılacak alternatif ayar.
-
geri çağırma
Functions (isteğe bağlı)
callback
parametresi şu şekilde görünür:() => void
İlerlemeler
-
Promise<void>
Chrome 116 ve sonraki sürümlerVaatler yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformların geri çağırmaları kullanması gerekir.
Etkinlikler
onDeviceAdded
chrome.usb.onDeviceAdded.addListener(
callback: function,
)
Sisteme bir cihaz eklendiğinde oluşturulan etkinlik. Etkinlikler yalnızca cihaza erişim izni olan uygulama ve uzantılara yayınlanır. İzin, yükleme sırasında, kullanıcı isteğe bağlı bir izni (bkz. permissions.request
) kabul ettiğinde veya getUserSelectedDevices
aracılığıyla verilmiş olabilir.
Parametreler
-
geri çağırma
işlev
callback
parametresi şu şekilde görünür:(device: Device) => void
-
cihaz
-
onDeviceRemoved
chrome.usb.onDeviceRemoved.addListener(
callback: function,
)
Bir cihaz sistemden kaldırıldığında oluşturulan etkinlik. Hangi etkinliklerin yayınlandığına ilişkin bilgi için onDeviceAdded
bölümüne bakın.