Açıklama
Bağlı USB cihazlarla 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. Uygulamalar bu API'yi kullanarak donanım cihazları için sürücü olarak işlev görebilir. Bu API tarafından oluşturulan hatalar, runtime.lastError
ayarlanarak ve işlevin normal geri çağırma işlevi çalıştırılarak bildirilir. Bu durumda geri çağırma işlevinin normal parametreleri tanımlanmaz.
İ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
dize isteğe bağlı
Yapılandırmanın açıklaması.
-
extra_data
ArrayBuffer
Bu yapılandırmayla ilişkili ek tanımlayıcı verileri.
-
arayüzler
Kullanılabilir arayüzler.
-
maxPower
sayı
Bu cihazın ihtiyaç duyduğu maksimum güç (miliamper cinsinden).
-
remoteWakeup
boolean
Cihaz, uzaktan uyandırma özelliğini desteklemelidir.
-
selfPowered
boolean
Cihaz kendi kendine güç alır.
ConnectionHandle
Özellikler
-
tanıtıcı
sayı
USB cihazıyla bu bağlantıyı ve ilişkili tüm hak talebinde bulunulan arayüzleri ve bekleyen aktarım işlemlerini temsil eden opak bir herkese açık kullanıcı adı. Cihaz her açıldığında yeni bir herkese açık kullanıcı adı oluşturulur. Bağlantı herkese açık kullanıcı adı
Device.device
ile aynı değil. -
productId
sayı
Ürün kimliği.
-
vendorId
sayı
Cihaz tedarikçi firma kimliği.
ControlTransferInfo
Özellikler
-
veri
ArrayBuffer isteğe bağlı
Aktarılacak veriler (yalnızca çıkış aktarımları için gereklidir).
-
direction
Aktarım yönü (
"in"
veya"out"
). -
indeks
sayı
wIndex
alanı için Aynı kaynak bölümüne bakın. -
uzunluk
number 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 verilen hedef için hak talebinde bulunulmalıdır. -
istek
sayı
bRequest
alanı için Universal Serial Bus Specification Revision 1.1 (Evrensel Seri Yol Spesifikasyonu 1.1 Sürümü) Bölüm 9.3'e bakın. -
requestType
İstek türü.
-
Mola
number isteğe bağlı
Chrome 43 ve sonraki sürümlerİstek zaman aşımı (milisaniye cinsinden). Varsayılan değer olan
0
, zaman aşımı olmadığını gösterir. -
value
sayı
wValue
alanı için Aynı kaynak bölümüne bakın.
Device
Özellikler
-
cihaz
sayı
USB cihazının opak kimliği. Cihazın fişi çekilene kadar değişmez.
-
manufacturerName
dize
Chrome 46 ve sonraki sürümlerMevcutsa cihazdan okunan iManufacturer dizesi.
-
productId
sayı
Ürün kimliği.
-
productName
dize
Chrome 46 ve sonraki sürümlerMevcutsa cihazdan okunan iProduct dizesi.
-
serialNumber
dize
Chrome 46 ve sonraki sürümlerMevcutsa cihazdan okunan iSerialNumber dizesi.
-
vendorId
sayı
Cihaz tedarikçi firma kimliği.
-
sürüm
sayı
Chrome 51 ve sonraki sürümlerCihaz sürümü (bcdDevice alanı).
DeviceFilter
Özellikler
-
interfaceClass
number isteğe bağlı
USB arayüzü sınıfı, cihazdaki herhangi bir arayüzle eşleşir.
-
interfaceProtocol
number isteğe bağlı
USB arayüzü protokolü, yalnızca arayüz alt sınıfı eşleşirse kontrol edilir.
-
interfaceSubclass
number isteğe bağlı
USB arayüzü alt sınıfı, yalnızca arayüz sınıfı eşleşirse işaretlenir.
-
productId
number isteğe bağlı
Cihaz ürün kimliği. Yalnızca satıcı kimliği eşleşirse kontrol edilir.
-
vendorId
number isteğe bağlı
Cihaz tedarikçi firma kimliği.
DevicePromptOptions
Özellikler
-
filtreler
DeviceFilter[] isteğe bağlı
Kullanıcıya sunulan cihaz listesini filtreleyin. Birden fazla filtre sağlanırsa herhangi bir filtreyle eşleşen cihazlar gösterilir.
-
çoklu
boole isteğe bağlı
Kullanıcının birden fazla cihaz seçmesine izin verin.
Direction
Direction, Recipient, RequestType ve TransferType, USB spesifikasyonundaki benzerleriyle eşlenir.
Enum
"in"
"out"
EndpointDescriptor
Özellikler
-
adres
sayı
Uç nokta adresi.
-
direction
Aktarım yönü.
-
extra_data
ArrayBuffer
Bu uç noktayla ilişkili ek tanımlayıcı verileri.
-
maximumPacketSize
sayı
Maksimum paket boyutu.
-
pollingInterval
number isteğe bağlı
Yoklama aralığı (yalnızca kesinti ve senkronize).
-
senkronizasyon
SynchronizationType isteğe bağlı
Aktarım senkronizasyonu modu (yalnızca senkronize).
-
tür
Aktarım türü.
-
kullanım
UsageType isteğe bağlı
Uç nokta kullanım ipucu.
EnumerateDevicesAndRequestAccessOptions
Özellikler
-
interfaceId
number isteğe bağlı
Erişim isteğinde bulunulacak arayüz kimliği. Yalnızca Chrome OS'te kullanılabilir. Diğer platformları etkilemez.
-
productId
sayı
Ürün kimliği.
-
vendorId
sayı
Cihaz tedarikçi firma kimliği.
EnumerateDevicesOptions
Özellikler
-
filtreler
DeviceFilter[] isteğe bağlı
Belirli bir filtreyle eşleşen bir cihaz iade edilir. Boş bir filtre listesi, uygulamanın izni olan tüm cihazları döndürür.
-
productId
number isteğe bağlı
Kullanımdan kaldırıldıDeviceFilter.productId
ayarına eşdeğerdir. -
vendorId
number isteğe bağlı
Kullanımdan kaldırıldıDeviceFilter.vendorId
ayarına eşdeğerdir.
GenericTransferInfo
Özellikler
-
veri
ArrayBuffer isteğe bağlı
Aktarılacak veriler (yalnızca çıkış aktarımları için gereklidir).
-
direction
Aktarım yönü (
"in"
veya"out"
). -
uç nokta
sayı
Hedef uç noktası adresi. Bu uç noktayı içeren arayüz için hak talebinde bulunulmalıdır.
-
uzunluk
number isteğe bağlı
Alınacak maksimum bayt sayısı (yalnızca giriş aktarımları için gereklidir).
-
Mola
number isteğe bağlı
Chrome 43 ve sonraki sürümlerİstek zaman aşımı (milisaniye cinsinden). Varsayılan değer olan
0
, zaman aşımı olmadığını gösterir.
InterfaceDescriptor
Özellikler
-
alternateSetting
sayı
Arayüz alternatif ayar numarası (varsayılan olarak
0
-
açıklama
dize isteğe bağlı
Arayüzün açıklaması.
-
endpoints
Kullanılabilir uç noktalar.
-
extra_data
ArrayBuffer
Bu arayüzle ilişkili ek tanımlayıcı verileri.
-
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.
-
paket
sayı
Bu aktarımdaki toplam paket sayısı.
-
transferInfo
Aktarım parametreleri. Bu parametre bloğunda belirtilen aktarım uzunluğu veya veri arabelleği, aktarımdaki tek tek paketleri oluşturmak için
packetLength
sınırları boyunca bölünür.
Recipient
Enum
"device"
"interface"
"endpoint"
"other"
RequestType
Enum
"standard"
"class"
"vendor"
"reserved"
SynchronizationType
Kesinti ve senkronize modlar için SynchronizationType ve UsageType, USB spesifikasyonundaki benzer adlarla eşlenir.
Enum
"asynchronous"
"adaptive"
"synchronous"
TransferResultInfo
Özellikler
-
veri
ArrayBuffer isteğe bağlı
Giriş aktarımı tarafından döndürülen veriler.
undefined
çıkış aktarımları için. -
resultCode
number isteğe bağlı
0
değeri, aktarımın başarılı olduğunu gösterir. Diğer değerler hatayı gösterir.
TransferType
Enum
"control"
"interrupt"
"isochronous"
"bulk"
UsageType
Enum
"data"
"feedback"
"explicitFeedback"
"periodic"
"notification"
Yöntemler
bulkTransfer()
chrome.usb.bulkTransfer(
handle: ConnectionHandle,
transferInfo: GenericTransferInfo,
callback?: function,
)
Belirtilen cihazda toplu aktarım gerçekleştirir.
Parametreler
-
tanıtıcı
Cihaza açık bir bağlantı.
-
transferInfo
Aktarım parametreleri.
-
geri çağırma
işlev isteğe bağlı
callback
parametresi şu şekilde görünür:(info: TransferResultInfo) => void
-
bilgi
-
İadeler
-
Promise<TransferResultInfo>
Chrome 116 ve sonraki sürümlerSözler yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformların geri çağırma işlevlerini kullanması gerekir.
claimInterface()
chrome.usb.claimInterface(
handle: ConnectionHandle,
interfaceNumber: number,
callback?: function,
)
USB cihazda bir arayüz için hak talebinde bulunur. Verilerin bir arayüze veya ilişkili uç noktalara aktarılabilmesi için arayüz için hak talebinde bulunulması gerekir. Bir arayüz için herhangi bir zamanda yalnızca bir bağlantı herkese açık kullanıcı adı hak talebinde bulunabilir. Arayüz için hak talebinde bulunulmuşsa bu çağrı başarısız olur.
Arayüze artık ihtiyaç duyulmadığında releaseInterface
çağrılmalıdır.
Parametreler
-
tanıtıcı
Cihaza açık bir bağlantı.
-
interfaceNumber
sayı
Hak talebinde bulunulacak arayüz.
-
geri çağırma
işlev isteğe bağlı
callback
parametresi şu şekilde görünür:() => void
İadeler
-
Promise<void>
Chrome 116 ve sonraki sürümlerSözler yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformların geri çağırma işlevlerini kullanması gerekir.
closeDevice()
chrome.usb.closeDevice(
handle: ConnectionHandle,
callback?: function,
)
Bağlantı adını kapatır. Kapatıldıktan sonra bir herkese açık kullanıcı adında işlem çağrısı güvenli bir işlemdir ancak herhangi bir işlem yapılmasına neden olmaz.
Parametreler
-
tanıtıcı
Kapatmak için
ConnectionHandle
simgesine dokunun. -
geri çağırma
işlev isteğe bağlı
callback
parametresi şu şekilde görünür:() => void
İadeler
-
Promise<void>
Chrome 116 ve sonraki sürümlerSözler yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformların geri çağırma işlevlerini kullanması gerekir.
controlTransfer()
chrome.usb.controlTransfer(
handle: ConnectionHandle,
transferInfo: ControlTransferInfo,
callback?: function,
)
Belirtilen cihazda kontrol aktarımı gerçekleştirir.
Kontrol aktarımları cihazı, bir arayüzü veya uç noktayı ifade eder. Bir arayüze veya uç noktaya aktarım yapmak için arayüzün talep edilmesi gerekir.
Parametreler
-
tanıtıcı
Cihaza açık bir bağlantı.
-
transferInfo
-
geri çağırma
işlev isteğe bağlı
callback
parametresi şu şekilde görünür:(info: TransferResultInfo) => void
-
bilgi
-
İadeler
-
Promise<TransferResultInfo>
Chrome 116 ve sonraki sürümlerSözler yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformların geri çağırma işlevlerini kullanması gerekir.
findDevices()
chrome.usb.findDevices(
options: EnumerateDevicesAndRequestAccessOptions,
callback?: function,
)
Tedarikçi firma, ürün ve (isteğe bağlı olarak) arayüz kimlikleri tarafından belirtilen USB cihazları bulur ve izinler izin veriyorsa bunları kullanıma açar.
Erişim isteği reddedilirse veya cihaz açılamazsa bağlantı türü oluşturulmaz veya döndürülmez.
Bu yöntemi çağırmak, her cihaz için getDevices
ve ardından openDevice
çağrılmasına eşdeğerdir.
Parametreler
-
seçenekler
Hedef cihazlarda aranacak özellikler.
-
geri çağırma
işlev isteğe bağlı
callback
parametresi şu şekilde görünür:(handles: ConnectionHandle[]) => void
-
herkese açık kullanıcı adları
-
İadeler
-
Promise<ConnectionHandle[]>
Chrome 116 ve sonraki sürümlerSözler yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformların geri çağırma işlevlerini kullanması gerekir.
getConfiguration()
chrome.usb.getConfiguration(
handle: ConnectionHandle,
callback?: function,
)
Şu anda seçili olan yapılandırma için yapılandırma tanımlayıcısını alır.
Parametreler
-
tanıtıcı
Cihaza açık bir bağlantı.
-
geri çağırma
işlev isteğe bağlı
callback
parametresi şu şekilde görünür:(config: ConfigDescriptor) => void
-
yapılandırma
-
İadeler
-
Promise<ConfigDescriptor>
Chrome 116 ve sonraki sürümlerSözler yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformların geri çağırma işlevlerini kullanması gerekir.
getConfigurations()
chrome.usb.getConfigurations(
device: Device,
callback?: function,
)
Cihaz yapılandırma tanımlayıcılarının tam setini döndürür.
Parametreler
-
cihaz
Tanımlayıcıları alacağı
Device
. -
geri çağırma
işlev isteğe bağlı
callback
parametresi şu şekilde görünür:(configs: ConfigDescriptor[]) => void
-
configs
-
İadeler
-
Promise<ConfigDescriptor[]>
Chrome 116 ve sonraki sürümlerSözler yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformların geri çağırma işlevlerini kullanması gerekir.
getDevices()
chrome.usb.getDevices(
options: EnumerateDevicesOptions,
callback?: function,
)
Bağlı USB cihazlarını listeler.
Parametreler
İadeler
-
Promise<Device[]>
Chrome 116 ve sonraki sürümlerSözler yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformların geri çağırma işlevlerini kullanması gerekir.
getUserSelectedDevices()
chrome.usb.getUserSelectedDevices(
options: DevicePromptOptions,
callback?: function,
)
Kullanıcıya bir cihaz seçici sunar ve seçilen Device
öğelerini döndürür. Kullanıcı seçiciyi iptal ederse cihazlar boş olur. İletişim kutusunun gösterilmesi için kullanıcı hareketi gerekir. Kullanıcı hareketi olmadan geri çağırma, kullanıcı iptal etmiş gibi çalışır.
Parametreler
İadeler
-
Promise<Device[]>
Chrome 116 ve sonraki sürümlerSözler yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformların geri çağırma işlevlerini kullanması gerekir.
interruptTransfer()
chrome.usb.interruptTransfer(
handle: ConnectionHandle,
transferInfo: GenericTransferInfo,
callback?: function,
)
Belirtilen cihazda kesinti aktarımı gerçekleştirir.
Parametreler
-
tanıtıcı
Cihaza açık bir bağlantı.
-
transferInfo
Aktarım parametreleri.
-
geri çağırma
işlev isteğe bağlı
callback
parametresi şu şekilde görünür:(info: TransferResultInfo) => void
-
bilgi
-
İadeler
-
Promise<TransferResultInfo>
Chrome 116 ve sonraki sürümlerSözler yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformların geri çağırma işlevlerini kullanması gerekir.
isochronousTransfer()
chrome.usb.isochronousTransfer(
handle: ConnectionHandle,
transferInfo: IsochronousTransferInfo,
callback?: function,
)
Belirli cihazda senkronize aktarım gerçekleştirir.
Parametreler
-
tanıtıcı
Cihaza açık bir bağlantı.
-
transferInfo
-
geri çağırma
işlev isteğe bağlı
callback
parametresi şu şekilde görünür:(info: TransferResultInfo) => void
-
bilgi
-
İadeler
-
Promise<TransferResultInfo>
Chrome 116 ve sonraki sürümlerSözler yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformların geri çağırma işlevlerini kullanması gerekir.
listInterfaces()
chrome.usb.listInterfaces(
handle: ConnectionHandle,
callback?: function,
)
USB cihazdaki tüm arayüzleri listeler.
Parametreler
-
tanıtıcı
Cihaza açık bir bağlantı.
-
geri çağırma
işlev isteğe bağlı
callback
parametresi şu şekilde görünür:(descriptors: InterfaceDescriptor[]) => void
-
tanımlayıcılar
-
İadeler
-
Promise<InterfaceDescriptor[]>
Chrome 116 ve sonraki sürümlerSözler yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformların geri çağırma işlevlerini kullanması gerekir.
openDevice()
chrome.usb.openDevice(
device: Device,
callback?: function,
)
getDevices
tarafından iade edilen bir USB cihazını açar.
Parametreler
-
cihaz
Açılacak
Device
. -
geri çağırma
işlev isteğe bağlı
callback
parametresi şu şekilde görünür:(handle: ConnectionHandle) => void
-
tanıtıcı
-
İadeler
-
Promise<ConnectionHandle>
Chrome 116 ve sonraki sürümlerSözler yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformların geri çağırma işlevlerini kullanması gerekir.
releaseInterface()
chrome.usb.releaseInterface(
handle: ConnectionHandle,
interfaceNumber: number,
callback?: function,
)
Hak talebinde bulunulan bir arayüzü iptal eder.
Parametreler
-
tanıtıcı
Cihaza açık bir bağlantı.
-
interfaceNumber
sayı
Yayınlanacak arayüz.
-
geri çağırma
işlev isteğe bağlı
callback
parametresi şu şekilde görünür:() => void
İadeler
-
Promise<void>
Chrome 116 ve sonraki sürümlerSözler yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformların geri çağırma işlevlerini kullanması gerekir.
requestAccess()
chrome.usb.requestAccess(
device: Device,
interfaceId: number,
callback?: function,
)
Bu işlev ChromeOS'e özeldir ve diğer platformlarda çağrılırsa başarısız olur. Bu işlem artık openDevice
kapsamında örtülü olarak gerçekleştirilir ve bu işlev tüm platformlarda true
döndürür.
Cihazdaki belirli bir arayüz için hak talebinde bulunulmamışsa izin aracısından Chrome OS tarafından hak talebinde bulunulan bir cihaza erişim isteğinde bulunur.
Parametreler
-
cihaz
Erişim isteğinde bulunacağınız
Device
. -
interfaceId
sayı
İstenen arayüz.
-
geri çağırma
işlev isteğe bağlı
callback
parametresi şu şekilde görünür:(success: boolean) => void
-
başarılı
boolean
-
İadeler
-
Promise<boolean>
Chrome 116 ve sonraki sürümlerSözler yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformların geri çağırma işlevlerini kullanması gerekir.
resetDevice()
chrome.usb.resetDevice(
handle: ConnectionHandle,
callback?: function,
)
USB cihazı sıfırlamaya çalışır. Sıfırlama başarısız olursa belirtilen bağlantı türü kapatılır ve USB cihazın bağlantısı kesilip yeniden bağlanır. Bu durumda, cihazı almak için getDevices
veya findDevices
işlevi tekrar çağrılmalıdır.
Parametreler
-
tanıtıcı
Sıfırlanacak bağlantı herkese açık kullanıcı adı.
-
geri çağırma
işlev isteğe bağlı
callback
parametresi şu şekilde görünür:(success: boolean) => void
-
başarılı
boolean
-
İadeler
-
Promise<boolean>
Chrome 116 ve sonraki sürümlerSözler yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformların geri çağırma işlevlerini kullanması gerekir.
setConfiguration()
chrome.usb.setConfiguration(
handle: ConnectionHandle,
configurationValue: number,
callback?: function,
)
Bir cihaz yapılandırması seçin.
Bu işlev, cihazın mevcut yapılandırmalarından birini seçerek cihazı etkili bir şekilde sıfırlar. Yalnızca 0
'ten büyük yapılandırma değerleri geçerlidir. Ancak bazı hatalı cihazlarda çalışan bir 0
yapılandırması olduğundan bu değere izin verilir.
Parametreler
-
tanıtıcı
Cihaza açık bir bağlantı.
-
configurationValue
sayı
-
geri çağırma
işlev isteğe bağlı
callback
parametresi şu şekilde görünür:() => void
İadeler
-
Promise<void>
Chrome 116 ve sonraki sürümlerSözler yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformların geri çağırma işlevlerini kullanması gerekir.
setInterfaceAlternateSetting()
chrome.usb.setInterfaceAlternateSetting(
handle: ConnectionHandle,
interfaceNumber: number,
alternateSetting: number,
callback?: function,
)
Daha önce hak talebinde bulunulan bir arayüzde alternatif bir ayar seçer.
Parametreler
-
tanıtıcı
Bu arayüzün hak talebinde bulunulduğu cihaza açık bir bağlantı.
-
interfaceNumber
sayı
Yapılandırılacak arayüz.
-
alternateSetting
sayı
Yapılandırılacak alternatif ayar.
-
geri çağırma
işlev isteğe bağlı
callback
parametresi şu şekilde görünür:() => void
İadeler
-
Promise<void>
Chrome 116 ve sonraki sürümlerSözler yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformların geri çağırma işlevlerini kullanması gerekir.
Etkinlikler
onDeviceAdded
chrome.usb.onDeviceAdded.addListener(
callback: function,
)
Sisteme bir cihaz eklendiğinde oluşturulan etkinlik. Etkinlikler yalnızca cihaza erişme izni olan uygulamalara ve uzantılara yayınlanır. İzin, kullanıcı isteğe bağlı bir izni kabul ettiğinde (bkz. permissions.request
) veya getUserSelectedDevices
aracılığıyla yükleme sırasında 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 dair bilgi için onDeviceAdded
bölümüne bakın.