따로 다운로드하거나 설치해야 하나요?
Chrome이나 Edge에서는 필요 없습니다. 이 페이지는 브라우저에 내장된 Web Serial API를 쓰므로 데스크톱 클라이언트도 확장 프로그램도 필요 없습니다. Firefox 151 이상에서는 먼저 안내되는 사이트 권한 부가 기능을 설치해야 합니다. 이것은 브라우저의 권한 부여 방식이지 시리얼 드라이버가 아닙니다. 어느 브라우저든 시리얼 칩 드라이버는 있어야 합니다. 장치 관리자에 COM 포트가 보이면 드라이버가 정상이고, 보이지 않으면 칩 제조사 웹사이트에서 드라이버를 받으십시오.
어떤 브라우저에서 동작하나요? 휴대폰에서도 쓸 수 있나요?
데스크톱용 Chrome, Edge, Opera(Chrome 89 이상)는 바로 연결됩니다. 데스크톱용 Firefox 151 이상도 안내되는 사이트 권한 부가 기능을 설치하면 동작합니다. Safari와 iOS는 Web Serial을 지원하지 않습니다. Android용 Chrome 138 이상은 블루투스(RFCOMM) 시리얼 포트만 지원합니다. 유선 USB 시리얼을 쓰려면 Android 17에서 Chrome 148 이상이 필요하고, 휴대폰 자체도 유선 시리얼 포트를 제공해야 합니다. 연결할 수 없는 환경에서는 페이지가 그렇게 알려 주며, 데모 장치는 그대로 쓸 수 있습니다.
시리얼 데이터가 서버로 업로드되나요?
업로드되지 않습니다. 시리얼 포트는 브라우저가 직접 읽고 쓰며, 이 도구는 주고받은 바이트를 저희 서버로 보내지 않습니다. 전송 기록과 설정은 사용자의 브라우저에 저장됩니다.
'포트 선택 후 연결'을 클릭했는데 포트 목록이 비어 있습니다. 어떻게 해야 하나요?
운영체제가 시리얼 장치를 인식하지 못한 상태입니다. 케이블이 충전 전용이 아니라 데이터를 전달하는지, 보드에 전원이 들어왔는지 확인하십시오. Windows에서는 장치 관리자에 COM 포트가 나타나야 하며, 나타나지 않으면 칩(CH340, CP2102 등) 드라이버를 설치하십시오.
포트가 열리지 않는 이유는 무엇인가요?
브라우저는 모든 실패를 똑같이 'Failed to open serial port.' 메시지로 알리므로 원인은 하나씩 배제하며 찾아야 합니다. 흔한 원인 중 하나는 다른 프로그램이 포트를 점유하고 있는 것입니다. 다른 시리얼 도구, Arduino IDE 시리얼 모니터, 디버깅 중인 IDE, 이 도구의 다른 탭을 닫으십시오. Linux에서는 사용자가 dialout 그룹(Arch는 uucp)에 속해 있어야 합니다. 장치가 아직 꽂혀 있는지도 확인하고 표준 보드레이트를 시도하십시오. 일부 드라이버는 흔하지 않은 값을 거부합니다.
깨진 중국어는 어떻게 고치나요?
먼저 영문자와 숫자를 보십시오. 이것들이 정상이고 중국어만 깨진다면 인코딩 불일치입니다. 흔한 경우는 장치가 GBK로 보내는 것입니다. 도구가 이를 감지해 전환을 제안하고 이미 받은 내용을 다시 그립니다. 영문자와 숫자까지 깨진다면 보드레이트나 다른 설정이 장치와 맞지 않는 것입니다.
HEX는 어떻게 보내나요? 어떤 형식을 쓸 수 있나요?
전송 모드를 HEX로 전환하고 01 03 00 0A, 0x01,0x03, 0103000A처럼 입력하십시오. 대소문자는 상관없습니다. G 같은 잘못된 문자와 홀수 자릿수는 건너뛰지 않고 반드시 알려 주며, 보낼 바이트는 입력란 아래에 미리 보여 줍니다.
Modbus CRC는 어떻게 추가하나요? 왜 하위 바이트가 먼저인가요?
'체크섬 추가'를 CRC-16/MODBUS로 설정하고 주소, 함수 코드, 데이터만 입력하면 CRC가 끝에 붙습니다. Modbus RTU는 CRC를 하위 바이트부터 보내므로 0xCDC5는 C5 CD로 나갑니다.
프레임 하나가 두 줄로 나뉘거나 여러 프레임이 한 줄로 합쳐지는 이유는 무엇인가요?
HEX 보기는 도착 사이의 유휴 시간으로 프레임을 나누며 기본값은 50 ms입니다. 장치가 프레임 중간에 그보다 오래 멈추면 프레임이 나뉘고, 프레임끼리 그보다 가깝게 이어지면 합쳐집니다. 프레임 간격을 프레임 안의 멈춤보다 크고 프레임 사이 간격보다 작게 설정하십시오.
DTR과 RTS는 무엇이고, 연결할 때 보드가 리셋된 이유는 무엇인가요?
DTR과 RTS는 시리얼 제어선 두 가닥으로, 많은 보드가 리셋 회로에 연결해 둡니다. Chrome은 포트를 열 때 두 선을 모두 활성으로 만드는데(표준이 아니라 구현상의 동작입니다), 그래서 Arduino Uno처럼 DTR로 리셋되는 보드는 연결할 때 보통 한 번 리셋되며 웹 페이지가 이를 막을 수는 없습니다. 흔히 쓰는 ESP32 자동 프로그래밍 회로에서는 두 선이 모두 활성일 때 칩이 정상 동작하고, RTS가 활성이고 DTR이 비활성일 때만 리셋 상태로 유지됩니다. 연결 뒤에는 토글로 조정하십시오. ESP32가 아무것도 출력하지 않는다면 DTR만 끈 것은 아닌지 확인하십시오.
같은 포트를 다른 시리얼 도구에서 동시에 열 수 있나요?
Windows에서는 안 됩니다. COM 포트는 한 번에 한 프로그램만 열 수 있습니다. Linux와 macOS에서는 먼저 연 프로그램이 독점 접근을 요청했는지에 달려 있습니다. 요청했다면 여기서 여는 것이 실패하고, 요청하지 않았다면 두 프로그램 모두 열리지만 수신 데이터를 나눠 가져가므로 바이트가 사라진 것처럼 보입니다. 한 번에 한 프로그램만 쓰십시오.
사용자 지정 보드레이트를 지원하나요?
지원합니다. 목록의 마지막 항목인 '사용자 지정'에서 원하는 속도를 입력할 수 있습니다. 예를 들어 ESP8266 부트 ROM이 출력할 때 쓰는 74880입니다. 브라우저는 값을 그대로 넘기며, 실제로 동작하는지는 USB-시리얼 칩과 드라이버에 달려 있습니다. 가장 가까운 지원 속도로 맞추는 경우도 있고, 일부 시스템에서는 그 결과 포트가 열리지 않습니다.
데모 장치는 무엇인가요?
페이지에 내장된 가상 마이크로컨트롤러로, 하드웨어가 필요 없습니다. 연결하면 GBK로 시작 메시지를 출력하는데 그 자체가 인코딩 안내 기능의 시연이 되며, 그 뒤로 2초마다 온도를 보고합니다. AT에는 OK로, 그 밖의 AT 명령에는 ERROR로 응답합니다. Modbus 함수 03 읽기 요청은 슬레이브 1을 대상으로 하고 CRC가 올바른 것에만 응답하며, CRC가 틀리거나 다른 주소를 대상으로 한 프레임에는 실제 슬레이브처럼 아무 응답도 하지 않습니다. 그 밖의 내용은 그대로 되돌려 보냅니다.