자동화&툴 리뷰

Firefox의 Web Serial 지원 발표 — 개발자가 알아야 할 핵심 정리

노동1호 2026. 5. 23. 06:03

Firefox 151부터 Web Serial API를 통해 마이크로컨트롤러, 3D 프린터, 전력계 등 직렬 장치와 직접 통신할 수 있다.


Firefox의 Web Serial 지원 발표 — 개발자가 알아야 할 핵심 정리

웹 브라우저가 마이크로컨트롤러, 3D 프린터, 전력계 같은 직렬 장치와 직접 통신할 수 있다면? 바로 이것이 Firefox 151이 추가한 Web Serial API 지원이다.

Mozilla는 2026년 5월, Firefox 151 데스크톱 판부터 Web Serial API를 공식 지원한다고 밝혔다. 13년간의 논쟁 끝에 내린 결정이다.

Web Serial API란 무엇인가

Web Serial API는 웹사이트가 JavaScript로 직렬 장치를 읽고 쓸 수 있게 하는 웹 API다. 직렬 통신은 마이크로컨트롤러, 개발 보드, 3D 프린터, 전력계 등 다양한 하드웨어와 데이터를 주고받는 표준 방식이다.

지원 대상 장치 목록은 꽤 넓다:

ESP 계열 보드 — Espressif ESP32, ESP8266 등

Raspberry Pi Pico 시리즈

3D 프린터 — Bambu Lab, Creality, Prusa 등

LEGO 장치

USB 전력계 — AVHzY C3 USB, Joy-IT TC66C, YZXStudio USB ZY1280

CNC 머신 및 기타 직렬 연결 하드웨어

최신 컴퓨터에는 직렬 포트가 없다. 하지만 USB로 연결되거나 블루투스로 페어링된 장치는 운영체제에서 직렬 포트처럼 인식된다.

CircuitPython으로 웹에서 펌웨어 설치하기

Web Serial의 실용적용례 중 하나는 CircuitPython 설치다. Adafruit는 Firefox와 협력하여 웹에서 CircuitPython 펌웨어를 설치하는 워크플로를 테스트했다.

CircuitPython 설치 프로세스:

1. 브라우저에서 Adafruit Web Serial Tool 열기

2. USB 케이블로 보드 연결

3. 웹에서 펌웨어 파일 선택

4. 한 번의 클릭으로 설치 완료

이후 code.py 파일을 USB 드래그 앤 드롭으로 배포하면 된다. 복잡한 개발 환경 없이 순수 텍스트 기반 Python 코드를 바로 실행할 수 있다.

전력 측정과 홈 자동화

Mozilla 엔지니어 Florian Quèze는 Web Serial을 활용한 전력 측정 데모를 만들었다. 시판 USB 전력계에서 데이터를 읽어 Firefox에 실시간 표시하는 프로젝트다.

흥미로운 점은 이 데이터를 Firefox Profiler로 내보낼 수 있다는 것이다. 전력 소비 패턴을 시각화하고 공유하는 것이 간편해졌다.

홈 자동화 쪽도 주목할 만하다. ESPHome 펌웨어를 설치한 ESP32 기반 장치를 Web Serial로 설정할 수 있다. Home Assistant와 연동하면 웹 브라우저만으로 스마트홈 장치 관리가 가능하다.

보안은 어떻게 확보했는가

직렬 포트 접근은 민감한 작업이다. Mozilla는 여러층차적 보안을 구현했다.

명시적 사용자 허용 — 웹사이트는 사용자가 명시적으로 허용하기 전까지 직렬 포트를 볼 수 없다. navigator.serial.requestPort() 호출이 반드시 필요하다.

사이트별·포트별 권한 — 한번 허용해도 특정 사이트와 특정 포트에만 접근이 제한된다.

애드온 게이팅 — Firefox는 Web MIDI API에서 도입한 애드온 게이팅을 활용한다. 사용자에게 권한 요청 이유를 더 자세히 설명하는 프롬프트가 표시된다.

Enterprise 정책 — 기업 환경에서는 DefaultSerialGuardSetting 정책으로 조직 전체의 Web Serial 기능을 관리자가 제어할 수 있다.

표준화 전망

Web Serial API는 현재 WICG(Web Incubator Community Group) 단계에 있다. Mozilla는 WHATWG 표준화를 추진 중이며, 실제 하드웨어 워크플로 테스트와 피드백을 요청하고 있다.

Lobste.rs에서는 Chromium 기반 브라우저에 먼저 구현된 기능인 만큼 Chrome과 Firefox 간 기능 parity도 기대된다.

시작하는 방법

Firefox 151 이상 버전이 필요하다. 현재 Firefox 151.0이 이미 출시되어 있다.

// Web Serial API 기본 사용 예시async function connectToSerial() {// 직렬 포트 요청const port = await navigator.serial.requestPort();// 시리얼 포트 열기 (9600 보드레이트)await port.open({ baudRate: 9600 });// 데이터 읽기const reader = port.readable.getReader();while (true) {const { value, done } = await reader.read();if (done) break;console.log(new TextDecoder().decode(value));}// 포트 닫기await port.close();}

Firefox 웹 Serial 지원은 웹 플랫폼의 가능성을 한 단계 넓혔다. 하드웨어 개발자, 메이커, IoT 엔지니어라면 반드시 주목해야 할 기능이다.


📚 출처

Announcing Web Serial Support in Firefox - hacks.mozilla.org

Firefox 151.0 Release Notes


📚 출처

https://news.hada.io/topic?id=29761