1 puan yazan GN⁺ 2 시간 전 | 1 yorum | WhatsApp'ta paylaş
  • Firefox 151 masaüstü sürümünden itibaren Web Serial API desteği sunuluyor; böylece web uygulamaları yerel yazılım olmadan uyumlu seri aygıtlarla iletişim kurabiliyor
  • Web Serial, JavaScript ile seri aygıtlardan okuma ve bu aygıtlara yazma sağlayan bir API; mikrodenetleyiciler, 3D yazıcılar ve güç ölçerler gibi aygıtlara doğrudan bağlanabiliyor
  • Adafruit iş akışında Web Serial ile firmware aktarılıp CircuitPython kurulabiliyor ve code.py dosyasıyla aygıt kodu kolayca dağıtılabiliyor
  • Firefox, açık kullanıcı izni, site ve port bazlı yetkiler ile eklenti geçidi kullanarak aygıt erişiminin güvenlik ve gizlilik risklerini azaltıyor
  • Mozilla, WICG aşamasındaki Web Serial için WHATWG standardizasyonunu ilerletiyor ve gerçek donanım iş akışları üzerinde test ile geri bildirim istiyor

Web Serial API ve destek kapsamı

  • Firefox 151 for Desktop sürümünden itibaren Web Serial API destekleniyor; böylece web uygulamaları yerel yazılım olmadan uyumlu aygıtlarla iletişim kurabiliyor
  • Web Serial API, web sitelerinin JavaScript ile seri aygıtlardan okuma ve bu aygıtlara yazma yapmasını sağlayan bir web API'si
  • Hedef aygıtlar arasında mikrodenetleyiciler, geliştirme kartları, 3D yazıcılar, güç ölçerler ve diğer seri bağlantılı donanımlar yer alıyor
  • Seri uyumlu aygıtlar arasında Espressif ESP tabanlı kartlar, Raspberry Pi Picos, 3D yazıcılar ve LEGO aygıtları bulunuyor
  • Modern bilgisayarlarda genelde seri port bulunmasa da USB üzerinden bağlanan ya da Bluetooth ile eşleştirilen aygıtlar, işletim sistemine seri port gibi görünecek şekilde kendilerini seri destekli aygıt olarak tanıtabiliyor
  • Web Serial uyumlu aygıtlar; hobi geliştiriciler, donanım hacker'ları, eğitmenler, maker'lar ve geliştiriciler tarafından ev otomasyonu, donanım prototipleme ve 3D baskı gibi alanlarda kullanılıyor

Adafruit ve CircuitPython iş akışı

  • Adafruit, açık kaynak donanım ve STEM eğitimi alanlarında Web Serial kullanımını gösteren öne çıkan kuruluşlardan biri
  • Adafruit, Web Serial üzerinden firmware aktararak kendi aygıtlarına CircuitPython kurulumunu hızla yapmayı sağlıyor
  • Kurulumdan sonra dosya adı code.py olarak ayarlanırsa çoğu aygıtta kod, dosyayı USB aygıtına sürükleyip bırakarak dağıtılabiliyor
  • Python programları, basit metin tabanlı giriş/çıkış üzerinden Web Serial aracılığıyla web sayfalarıyla birlikte çalışabiliyor
  • Adafruit Web Serial Tool kullanılabiliyor; bu, CircuitPython sitesindeki OPEN INSTALLER yönteminden farklı
  • example CircuitPython Web Serial project, yerel bir web page üzerinden Web Serial kullanarak CircuitPython file çalıştıran bir aygıta mesaj gönderen bir yapı sunuyor
  • Mozilla, Adafruit ile iş birliği yaparak Firefox uygulamasını bu toplulukta yaygın olarak kullanılan gerçek donanım iş akışlarına göre test etti
  • Mozilla mühendisi Alex Franchuk, Web Serial ile elektronik aygıtları birleştiren Page Playground adlı bir çalışma hazırladı

Güç ölçümü ve ev otomasyonu

  • Mozilla'dan Florian Quèze, güç tüketimini ölçmeye yönelik çeşitli projeleri denedi ve Web Serial ile ticari bir USB güç ölçerden güç verisini okuyup Firefox'ta gösteren bir demo hazırladı
  • İlgili kod, veriyi Firefox Profiler'a aktarabiliyor; böylece güç verisini görselleştirmek ve paylaşmak kolaylaşıyor
  • İlgili kaynaklar arasında page, GitHub repo ve üç parlaklık moduna sahip bir lambanın güç kullanımını kaydeden Firefox Profiler verisi bulunuyor
  • Test edilen USB güç ölçerler arasında AVHzY C3 USB, Joy-IT TC66C ve YZXStudio USB ZY1280 yer alıyor
  • Home Assistant, ev otomasyonu için popüler bir açık kaynak proje; ESPHome ise düşük maliyetli ESP32 ve benzeri aygıtlar için Home Assistant uyumlu firmware sağlıyor
  • ESPHome firmware'i Web Serial üzerinden birkaç tıklamayla kurulup yapılandırılabiliyor

Güvenlik ve gizlilik

  • Web platformunun donanım aygıtlarından okuma ve bu aygıtlara yazma yeteneği kazanması, güvenlik ve gizlilik endişelerini artırıyor
  • Web Serial'da bir web sitesi, kullanıcı açıkça izin vermeden seri portları göremez veya onlara erişemez
  • Port izni site ve port bazında veriliyor
  • Web Serial API, web sitesinin navigator.serial.requestPort() çağrısı yapmasını gerektiriyor; kullanıcı da erişim verilecek portu seçebiliyor ya da tüm erişimi reddedebiliyor
  • Web sitesi, bağlı aygıtların listesini almıyor ve kullanıcının seçtiği port dışında faydalı parmak izi bilgisi sağlanmıyor
  • Firefox, kullanıcının bir sitenin seri port erişimini ne zaman ve neden istediğini anlamasına yardımcı olmak için Web MIDI API uygulamasında kullanılan eklenti geçidi (add-on gating) yaklaşımını kullanıyor
  • Eklenti geçidi, kullanıcının neye izin verdiğini diğer web izin istemlerine göre daha ayrıntılı biçimde açıklıyor
  • Eklenti geçidi istemi, bir site ilk kez port erişimi istediğinde port seçme isteminden önce gösteriliyor
  • Firefox Enterprise Policies kullanan kuruluşlarda Web Serial varsayılan olarak devre dışı
  • Yöneticiler, DefaultSerialGuardSetting politika ayarıyla kuruluş genelinde Web Serial özelliğini açıkça etkinleştirebilir veya engelleyebilir

Standardizasyon ve geri bildirim

  • Web Serial hâlâ Web Incubator Community Group(WICG) aşamasında, ancak Mozilla kapsamı ve uzun süren inkübasyonu nedeniyle bunun için bir standardizasyon yolu olduğunu düşünüyor
  • Mozilla, yeni bir Workstream proposal aracılığıyla WHATWG içinde Web Serial API standardizasyonunu ilerletiyor
  • Mozilla, çevre birimlerine web erişimi yaklaşımını şekillendirmek için ekosistem ortakları ve standart kuruluşlarıyla birlikte çalışmayı planlıyor
  • Aygıt tabanlı bir Web Serial iş akışınız varsa bunu Firefox'ta test edebilirsiniz
  • Mozilla Connect üzerinden projenizi paylaşabilir, soru sorabilir veya geri bildirim bırakabilirsiniz
  • Teknik sorunlar için support.mozilla.org'u inceleyebilir veya Bugzilla üzerinden hata bildirebilirsiniz

1 yorum

 
GN⁺ 2 시간 전
Lobste.rs görüşleri
  • Keşke WebUSB de uygulansa

    • Eğer bu, ESP gibi mikrodenetleyicilere firmware yüklemeyi mümkün kılarsa, benim WebUSB kullanım senaryolarımın %95~100'ünü çözmüş olur
    • Birisi bunu Firefox uzantısı olarak uygulamış: https://github.com/ArcaneNibble/awawausb
  • Kolay kandırılabilecek insanları, özellikle de seri portun ne olduğunu bilmeyenleri nasıl korumayı planladıklarını merak ediyorum. Mozilla'nın standart pozisyonunda da buna dair bir ifade var

    Seri arayüz sunan cihazlar çoğu zaman çok az ya da hiç kimlik doğrulama olmadan güçlü düşük seviye işlevleri açığa çıkarır. Yeterli korumalar olmadan bu tür işlevleri web'e açmak, ilgili cihaz için ciddi bir tehdit oluşturur

    • Acemi bir kullanıcının sahip olabileceği seri destekli cihaz olarak aklıma sadece fare geliyor. Firmware güncellemesi imzasızsa zararlı yazılım yüklenebilir ama saldırgan için çok faydalı bir hedef gibi görünmüyor
      Makro özellikli klavyeler biraz daha endişe verici olabilir. Yine de Chrome'da bu özellik yıllardır vardı ve büyük bir sorun çıkmadı; bu yüzden bunu ciddi bir kaygı olarak görmüyorum. Özellikle çevre birimlerinin bunu yapılandırma amacıyla giderek daha fazla kullanmaya başlamasıyla birlikte, faydası riskinden çok daha büyük
  • Bu saçmalık. Web sayfası görüntüleyicisine seri port erişimi eklemenin ne kadar akıl dışı olduğunu anlatmak zor

    • Katılmıyorum. Aşırı derecede kullanışlı bir özellik ve artık bunu kullanmak için Chrome'a geçmek zorunda olmamama sevindim
    • Web zaten yaklaşık 20 yıl önce bir uygulama platformuna dönüştü
  • Ah, evet. Web sitelerinin tam da ihtiyaç duyduğu şey buydu. WebRawSockets'u bekliyorum. Yarı şaka ama bir zamanlar benim de dahil olduğum SVG çalışma grubu gerçekten SVG'ye ham soketler eklemeye çalışmıştı

    • SVG çalışma grubunun SVG'ye ham soketler eklemeye çalışması kulağa inanılmaz geliyor. Sebebinin ne olduğunu hatırlıyor musun?