Firefox의 Web Serial 지원 발표
6 days ago
11
- Firefox 151 데스크톱부터 Web Serial API를 지원해 웹 앱이 네이티브 소프트웨어 없이 호환 직렬 장치와 통신할 수 있음
- Web Serial은 JavaScript로 직렬 장치를 읽고 쓰는 API로, 마이크로컨트롤러·3D 프린터·전력계 등에 직접 연결 가능함
- Adafruit 워크플로에서는 Web Serial로 펌웨어를 전달해 CircuitPython을 설치하고, code.py 파일로 장치 코드를 쉽게 배포함
- Firefox는 명시적 사용자 허용, 사이트별·포트별 권한, 애드온 게이팅으로 장치 접근의 보안·개인정보 보호 위험을 줄임
- Mozilla는 WICG 단계의 Web Serial을 WHATWG 표준화로 추진하며, 실제 하드웨어 워크플로 테스트와 피드백을 요청함
Web Serial API와 지원 범위
- Firefox 151 for Desktop부터 Web Serial API를 지원해 웹 애플리케이션이 네이티브 소프트웨어 없이 호환 장치와 통신할 수 있음
- Web Serial API는 웹사이트가 JavaScript로 직렬 장치를 읽고 쓸 수 있게 하는 웹 API임
- 대상 장치는 마이크로컨트롤러, 개발 보드, 3D 프린터, 전력계, 기타 직렬 연결 하드웨어를 포함함
- 직렬 호환 장치에는 Espressif ESP 기반 보드, Raspberry Pi Picos, 3D 프린터, LEGO 장치 등이 들어감
- 최신 컴퓨터에는 보통 직렬 포트가 없지만, USB 포트에 연결되거나 Bluetooth로 페어링된 장치는 운영체제에서 직렬 포트처럼 보이도록 자신을 직렬 가능 장치로 알릴 수 있음
- Web Serial 호환 장치는 취미 개발자, 하드웨어 해커, 교육자, 메이커, 개발자가 홈 자동화, 하드웨어 프로토타이핑, 3D 프린팅 등에 활용함
Adafruit와 CircuitPython 워크플로
- Adafruit는 오픈소스 하드웨어와 STEM 교육 분야에서 Web Serial 활용을 보여주는 대표 조직 중 하나임
- Adafruit는 Web Serial로 펌웨어를 전달해 자사 장치에 CircuitPython을 빠르게 설치할 수 있게 함
- 설치 후 파일 이름을 code.py로 지정하면 대부분의 장치에서 USB 장치로 파일을 끌어다 놓는 방식으로 코드를 배포할 수 있음
- Python 프로그램은 단순한 텍스트 기반 입출력으로 Web Serial을 통해 웹 페이지와 상호운용 가능함
- Adafruit Web Serial Tool을 사용할 수 있으며, CircuitPython 사이트의 OPEN INSTALLER 방식과는 구분됨
- example CircuitPython Web Serial project는 로컬 web page에서 Web Serial을 사용해 CircuitPython file을 실행 중인 장치로 메시지를 보내는 구조임
- Mozilla는 Adafruit와 협력해 Firefox 구현을 이 커뮤니티에서 흔히 쓰는 실제 하드웨어 워크플로에 맞춰 테스트함
- Mozilla 엔지니어 Alex Franchuk은 Web Serial과 전자 장치를 결합한 Page Playground를 만들었음
전력 측정과 홈 자동화
보안과 개인정보 보호
- 웹 플랫폼이 하드웨어 장치를 읽고 쓸 수 있게 되면 보안과 개인정보 보호 우려가 커짐
- Web Serial에서 웹사이트는 사용자가 명시적으로 허용하기 전까지 직렬 포트를 보거나 접근할 수 없음
- 포트 허용은 사이트별·포트별로 이뤄짐
- Web Serial API는 웹사이트가 navigator.serial.requestPort()를 호출하도록 요구하며, 사용자는 접근을 허용할 포트를 선택하거나 모든 접근을 거부할 수 있음
- 웹사이트는 연결된 장치 목록을 받지 않으며, 사용자가 선택한 포트 외에는 유용한 지문추적 정보가 제공되지 않음
- Firefox는 사이트가 직렬 포트 접근을 요청하는 시점과 이유를 사용자가 이해하도록 Web MIDI API 구현에서 도입한 애드온 게이팅(add-on gating) 을 사용함
- 애드온 게이팅은 다른 웹 권한 프롬프트보다 사용자가 무엇을 허용하는지 더 자세히 알려줌
- 애드온 게이팅 프롬프트는 사이트가 처음 포트 접근을 요청할 때 포트 선택 프롬프트보다 먼저 표시됨
- Firefox Enterprise Policies를 사용하는 조직에서는 Web Serial이 기본적으로 비활성화됨
- 관리자는 DefaultSerialGuardSetting 정책 설정으로 조직 전체의 Web Serial 기능을 명시적으로 허용하거나 차단할 수 있음
표준화와 피드백
- Web Serial은 아직 Web Incubator Community Group(WICG) 단계에 있지만, Mozilla는 범위와 오랜 인큐베이션을 고려할 때 표준화 경로가 있다고 봄
- Mozilla는 새 Workstream proposal을 통해 WHATWG에서 Web Serial API 표준화를 추진 중임
- Mozilla는 주변장치에 대한 웹 접근 방식을 형성하기 위해 생태계 파트너와 표준화 기구와 협력할 계획임
- 장치 기반 Web Serial 워크플로가 있다면 Firefox에서 테스트할 수 있음
- Mozilla Connect에서 프로젝트를 공유하고 질문하거나 피드백을 남길 수 있음
- 기술 문제는 support.mozilla.org를 확인하거나 Bugzilla에 버그를 제출하면 됨
-
Homepage
-
개발자
- Firefox의 Web Serial 지원 발표