Firefox'un Web Serial desteği duyuruldu
(hacks.mozilla.org)- 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.pydosyası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.pyolarak 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 INSTALLERyö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
Lobste.rs görüşleri
Keşke WebUSB de uygulansa
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
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
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ı