Web'deki donanım cihazlarına erişme

Tercih ettiğiniz bir donanım cihazıyla iletişim kurmak için uygun API'yi seçin.

François Beaufort
François Beaufort

Bu kılavuzun amacı, bir reklamverenle iletişim kuracağınız en iyi API'yi seçmenize yardımcı olmaktır. donanım cihazı (ör. web kamerası, mikrofon vb.) "En iyi"ye göre Yani bu size ihtiyacınız olan her şeyi en kısa sürede sunar. Başka bir deyişle, çözmek istediğiniz genel kullanım alanını (ör. videoya erişim) biliyorsunuz ancak hangi API'yi kullanacağını bilmiyor veya bunu gerçekleştirmenin başka bir yolu olup olmadığını merak ediyor.

Web geliştiricilerinin yaygın olarak karşılaştığım sorunlardan biri, yazılım geliştirme ve daha kolay erişilen üst düzey API'ler hakkında bilgi edinmeden uygulamanızı ve daha iyi bir kullanıcı deneyimi sunmanızı sağlar. Bu nedenle, bu kılavuza, önce üst düzey API'lerden bahsedilir. Ancak, üst düzey API'nin ihtiyaçlarınızı karşılamadığını belirledik.

🕹 Bu cihazdan giriş etkinlikleri alın

Klavye ve Pointer etkinliklerini dinlemeyi deneyin. Bu cihaz bir oyunsa hangi düğmelere basıldığını öğrenmek için Gamepad API'yi kullanın ve hangi eksenlerin hareket ettiğini gösterir.

Bu seçeneklerin hiçbiri sizin için uygun değilse, alt düzey bir API çözüm olabilir. Yolculuğunuza başlamak için Cihazınızla nasıl iletişim kuracağınızı öğrenme başlıklı makaleye göz atın.

📸 Bu cihazdan ses ve videoya erişin

Bu cihazdan canlı ses ve video akışları almak için MediaDevices.getUserMedia() işlevini kullanın ve ses ve video çekme hakkında bilgi edinin. Ayrıca, cihazdaki kameranın kaydırma, yatırma ve yakınlaştırma ile parlaklık ve kontrast ve hatta durağan resimler çekebilirsiniz. Efekt eklemek için Web Sesi kullanılabilir. ses görselleştirmeleri oluşturabilir veya uzamsal efektler uygulayabilir (ör. kaydırma). Chrome'da Web'de Ses uygulamalarının performansını nasıl bulabileceğinize göz atın de faydalı olabilir.

Bu seçeneklerin hiçbiri sizin için uygun değilse, alt düzey bir API çözüm olabilir. Yolculuğunuza başlamak için Cihazınızla nasıl iletişim kuracağınızı öğrenme başlıklı makaleye göz atın.

🖨 Bu cihaza yazdır

Kullanıcının bunu seçmesine izin veren bir tarayıcı iletişim kutusu açmak için window.print() işlevini kullanın. cihazınızı hedef olarak belirleyin.

Bu çözüm işinize yaramazsa alt seviye bir API'ye ihtiyacınız olabilir. Ödeme yap Yolculuğunuza başlamak için cihazınızla nasıl iletişim kuracağınızı keşfedin.

🔐 Bu cihazla kimliğinizi doğrulayın

Güçlü, onaylanmış ve kaynak kapsamlı bir ortak anahtar oluşturmak için WebAuthn'u kullanın bu donanım güvenlik cihazıyla kimlik doğrulaması gerçekleştirebilir. Google Pay, Bluetooth, NFC ve USB-dolaşımda U2F veya FIDO2 kimlik doğrulayıcılarının kullanımı. olarak da bilinen güvenlik anahtarı ve kullanıcıların parmak izlerini veya ekran kilitlerini kullanarak kimlik doğrulaması yapabilir. Daha fazla bilgi için ilk WebAuthn uygulamasını kullanın.

Bu cihaz başka bir donanım güvenlik cihazı ise (ör. kripto para cüzdanı) kullanıyorsanız düşük seviyeli bir API çözüm olabilir. Keşfet'e göz atın: cihazınızla nasıl iletişim kuracağınızı öğrenin.

🗄 Bu cihazdaki dosyalara erişin

Dosyaları okumak ve doğrudan dosyalardaki değişiklikleri kaydetmek için File System Access API'yi kullanın ve klasörler dahildir. Kullanılabilir değilse sormak için File API'yi kullanın kullanıcının tarayıcı iletişim kutusundan yerel dosyaları seçmesini ve ardından, içeriklerini okumasını yapmanız gerekir.

Bu seçeneklerin hiçbiri sizin için uygun değilse, alt düzey bir API çözüm olabilir. Yolculuğunuza başlamak için Cihazınızla nasıl iletişim kuracağınızı öğrenme başlıklı makaleye göz atın.

🧲 Bu cihazdaki sensörlere erişin

Hareket sensörlerinden (ör. ivme ölçer veya jiroskop) ve çevre sensörleri (ör. ortam ışığı, manyetometre). Bu seçenek mevcut değilse DeviceMotion ve DeviceOrientation ayarlarını kullanın. yerleşik ivme ölçer, jiroskop ve pusulaya erişmek için etkinlikleri mobil cihazlar.

İşinize yaramıyorsa, düşük seviyeli bir API çözüm olabilir. Ödeme yap Yolculuğunuza başlamak için cihazınızla nasıl iletişim kuracağınızı keşfedin.

🛰 GPS koordinatlarına bu cihazdan erişin

Kullanıcının bulunduğu yerin enlem ve boylamını almak için Geolocation API bu cihazdaki mevcut konumunuz.

İşinize yaramıyorsa, düşük seviyeli bir API çözüm olabilir. Ödeme yap Yolculuğunuza başlamak için cihazınızla nasıl iletişim kuracağınızı keşfedin.

🔋 Bu cihazın pilini kontrol edin

Pil şarj seviyesi ve ana makine bilgilerini almak için Battery API'yi kullanın pil seviyesi veya şarj durumu değiştiğinde bildirim alın.

İşinize yaramıyorsa, düşük seviyeli bir API çözüm olabilir. Ödeme yap Yolculuğunuza başlamak için cihazınızla nasıl iletişim kuracağınızı keşfedin.

🏠 Bu cihazla ağ üzerinden iletişim kurun

Yerel ağda ses yayınlamak ve/veya bir uzaktan oynatma cihazında (örneğin, akıllı TV veya kablosuz hoparlör) video oynatma veya Sunu API'sını kullanarak bir web sayfasını ikinci bir ekranda (ör. HDMI kablosuyla bağlı veya kablosuz olarak bağlanmış bir akıllı TV).

Bu cihaz bir web sunucusunu açığa çıkarıyorsa aşağıdakileri yapmak için Getirme API'sini ve/veya WebSockets'i kullanın. Uygun uç noktalara basarak bu cihazdan bazı verileri alın. TCP ve UDP soketleri web'de kullanılamaz. Kullanımı için WebTransport'a bakın etkileşimli, çift yönlü ve çok yönlü ağ bağlantılarıdır. Lütfen WebRTC, diğer tarayıcılarla gerçek zamanlı olarak veri iletişim kurmak için de kullanılabilir eşler arası protokol kullanarak.

🧱 Cihazınızla nasıl iletişim kuracağınızı keşfedin

Hangi alt düzey API'yı kullanacağınıza, ve fiziksel bağlantınızdır. Kablosuzsa, Web NFC'yi kontrol edin ve çok kısa menzilli kablosuz bağlantılar ve yakındaki cihazlar için Web Bluetooth veya Web Serial kablosuz cihazlar.

  • Web NFC ile, cihazın yakınında olduğunda bu cihazı okuma ve yazma Kullanıcının cihazı (genellikle 5-10 cm, 2-4 inç). NFC TagInfo by NXP, tersine mühendislik için bu cihazın içeriklerine göz atmanıza olanak tanır amaçlar.

  • Web Bluetooth'u kullanarak bu cihaza Bluetooth Düşük Enerji üzerinden bağlanın bağlantı. E-posta ve tıklama başı maliyet gibi Bluetooth GATT hizmetlerini (pil hizmeti gibi) bu davranış iyi belgelenmiştir. Cevap hayır ise, bu noktada veya tersine mühendislik çalışması yapın. Şunları yapabilirsiniz: nRF Connect for Mobile (Mobil Cihazlar için nRF Connect) ve yerleşik tarayıcı araçları gibi harici araçları kullanın. örneğin Chromium tabanlı about://bluetooth-internals dahili sayfası yardımcı olur. Bluetooth Ampulünün Tersine Mühendislik başlıklı makaleye göz atın Uri'de Shaked (Uri) Bluetooth cihazlarının, HID veya seri numarasını da söyleyebileceğini unutmayın çok önemlidir.

  • Bluetooth üzerinden seri bağlantı sayesinde, eşlenmiş cihazlarda RFCOMM hizmetleriyle iletişim kurun. Standartlaştırılmış Seri Bağlantı Noktası Profili (SPP) gibi Bluetooth Classic cihazlar. Örneğin, özel RFCOMM tabanlı hizmetlerden yararlanacaksanız, ilgili cihazın hizmet UUID'sinin requestPort() öğesine iletileceği tedarikçi firma dokümanları.

Kabloluysanız şu API'leri belirli sırayla inceleyin:

  1. WebHID sayesinde, HID raporlarını ve rapor tanımlayıcılarını koleksiyonlar bu cihazı anlamanıza yardımcı olur. Bu özellik, Bu cihaz için tedarikçi firma belgeleri olmadan zorlayıcı olabiliyor. Benzer araçlar Wireshark, projenize tersine mühendislik uygulamanıza yardımcı olabilir. HID cihazını da kullanabilirsiniz Gezgin web uygulaması

  2. Web Serial'da, bu cihazın satıcı dokümanları olmadan ve hangi cihazın bu cihazın desteklediği komutlar var, bu zor ama yine de mümkün tahminde bulunabilirsiniz. Bu cihazda tersine mühendislik yapılabilir. Wireshark gibi araçlarla trafiğini artırın. Ayrıca, Seri Terminali web uygulamasını kullanın.

  3. WebUSB ile, bu cihaz ve hangi USB cihazıyla ilgili net belgeler olmadan bu cihazın desteklediği komutlar var, bu zor ama yine de mümkün tahminde bulunabilirsiniz. Suz'un Exploring WebUSB ve heyecan verici potansiyelini izleyin Hinton. Ayrıca, ham USB girişi yakalayarak bu cihaza tersine mühendislik de yapabilirsiniz. Wireshark gibi harici araçlarla USB tanımlayıcılarını denetleme ve trafik işlemlerini gerçekleştirme ve about://usb-internals dahili sayfası gibi yerleşik tarayıcı araçları .

Teşekkür

Bu makaleyi inceledikleri için Reilly Grant, Thomas Steiner ve Kayce Basques'e teşekkür ederiz.

Fotoğraf: Darya Tryfanava'nın Unsplash'te kullanıma sunuldu.