Skip to content

온라인 시리얼 터미널 (웹 시리얼 모니터)

설치 없는 웹 시리얼 모니터. Chrome·Edge에서 CH340·CP2102·ESP32·Arduino에 연결해 텍스트/HEX 송신, 주기 전송, Modbus CRC 자동 추가. 깨진 글자는 GBK로 다시 표시.

브라우저 실행 무료
시리얼 포트는 브라우저가 직접 읽고 씁니다. 시리얼 데이터는 저희 서버로 전송되지 않습니다.
연결 안 됨

장치를 연결하면 보내오는 데이터가 여기에 표시됩니다.

ms
빠른 전송
송수신 경로는 브라우저 안의 가상 시리얼 포트를 상대로 바이트 단위까지 테스트합니다. 읽기 경계에 걸쳐 나뉜 GBK·UTF-8 문자, CRC-16/MODBUS(01 03 00 00 00 0A → C5 CD, 01 06 00 01 00 03 → 98 0B), XOR, 8비트 합계, 유휴 간격 프레임 분할을 단위 테스트와 엔드투엔드 테스트로 검증하며, CRC 기댓값은 독립 구현에서 가져왔습니다. — Go Tools 팀 · Oct 11, 2026

Go Tools 엔지니어링 팀이 제작하고 검증했습니다.

시리얼 터미널 빠른 답변

시리얼 포트를 열 수 있는 브라우저는?

데스크톱용 Chrome, Edge, Opera 이 Chromium 기반 브라우저(Chrome 89 이상)에는 Web Serial API가 내장되어 있어 페이지를 열고 '포트 선택 후 연결'을 클릭하면 됩니다. 데스크톱용 Firefox 151 이상도 안내되는 사이트 권한 부가 기능을 설치하면 쓸 수 있습니다. Safari와 iOS는 지원하지 않습니다. 데모 장치는 어느 브라우저에서나 모든 기능을 보여 줍니다.

printf로 출력한 중국어가 깨지는 이유는?

흔한 원인: 장치가 GBK로 보내는 경우 Keil이나 IAR로 작성한 중국 마이크로컨트롤러 프로젝트는 GBK로 저장된 경우가 많아 printf도 GBK 바이트를 보냅니다. 이 도구는 데이터가 GBK로 제대로 읽히는 것을 감지하면 전환을 제안하고, 이미 받은 내용도 다시 그립니다. 영문자와 숫자까지 깨진다면 보드레이트부터 확인하십시오.

'Failed to open serial port'는 무슨 뜻인가요?

브라우저가 이유를 알려 주지 않습니다 어떤 실패든 똑같이 'Failed to open serial port.' 메시지만 나오므로 흔한 원인을 차례로 점검하십시오. 다른 시리얼 도구와 Arduino IDE 시리얼 모니터, 디버거를 닫고, Linux에서는 사용자를 dialout 그룹(Arch는 uucp)에 추가하고, 장치가 아직 꽂혀 있는지 확인한 뒤 표준 보드레이트로 다시 시도하십시오.

Modbus는 CRC의 어느 바이트를 먼저 보내나요?

하위 바이트가 먼저입니다 01 03 00 00 00 0A의 CRC-16/MODBUS는 0xCDC5이고, 회선에는 C5 CD 순서로 나갑니다. '체크섬 추가 → CRC-16/MODBUS'를 고르면 도구가 이 순서로 붙이고 미리 보기에도 표시합니다.

AT 명령에 응답이 없나요?

줄 끝을 \r\n으로 ESP8266과 ESP32의 AT 펌웨어는 캐리지 리턴 + 라인 피드(\r\n)를 명령의 끝으로 보므로 AT만 보내면 계속 기다립니다. 줄 끝을 \r\n(CRLF)으로 설정하고 다시 보내십시오.

온라인 시리얼 터미널이란 무엇인가요?

시리얼 터미널은 컴퓨터의 시리얼 포트(대개 CH340이나 CP2102 같은 USB-시리얼 변환 칩이 만드는 COM 포트)를 열고, 장치의 보드레이트로 바이트를 주고받는 도구입니다. 마이크로컨트롤러가 출력하는 로그를 읽고, 모듈에 AT 명령을 보내고, Modbus 장치와 통신할 때 씁니다. 전통적인 도구는 데스크톱 프로그램이지만, 이 도구는 브라우저에 내장된 Web Serial API를 사용하므로 설치가 필요 없고 Windows, macOS, Linux의 Chrome과 Edge에서 동작합니다.

시리얼 포트는 브라우저가 직접 읽고 쓰며, 이 도구는 시리얼 데이터를 저희 서버로 보내지 않습니다. 페이지가 스스로 포트를 검색할 수도 없습니다. 열 수 있는 것은 브라우저 대화 상자에서 사용자가 직접 고르고 허용한 포트뿐입니다.

대부분의 시리얼 터미널과 다른 점이 두 가지 있습니다. 첫째, 받은 원시 바이트를 그대로 보관하므로 UTF-8과 GBK, 또는 텍스트 보기와 HEX 보기를 전환하면 화면 전체가 새 설정으로 다시 그려집니다. 글자가 깨졌다고 처음부터 다시 시작할 필요가 없습니다. 둘째, 보내기 직전의 모든 바이트를 미리 보여 주며 체크섬과 줄 끝은 따로 표시합니다. HEX 입력의 오타는 문제가 된 문자와 함께 보고되며, 프레임에서 조용히 빠지는 일이 없습니다.

# Text view, line ending \r\n
[09:30:01.204] → AT␍␊
[09:30:01.219] OK
# HEX view, CRC-16/MODBUS appended (low byte first)
[09:30:02.517] → 01 03 00 00 00 0A C5 CD
[09:30:02.539] 01 03 14 00 64 00 65 00 66 00 67 00 68 00 69 00 6A 00 6B 00 6C 00 6D 63 D1

웹 시리얼 터미널의 기능

설치 없이 Windows·Mac·Linux에서

브라우저의 Web Serial API를 기반으로 데스크톱용 Chrome, Edge, Opera에서 CH340, CP2102, FT232, PL2303 어댑터는 물론 ESP32-S3, Arduino 같은 보드의 네이티브 USB 시리얼에도 연결합니다. 소프트웨어 설치가 막힌 회사 PC나 마음에 드는 시리얼 도구가 없는 Mac에서 유용합니다.

깨진 글자 진단

들어온 바이트가 깨진 글자로 디코딩되면 최근 데이터를 다른 인코딩으로 다시 읽어 보고, 말이 되면 'GBK로 전환'을 제안합니다. 전환하면 새 데이터뿐 아니라 이미 받은 모든 데이터를 다시 디코딩합니다. 바이트 하나를 문자 하나로 보여 주는 ASCII / Latin-1 보기도 있습니다.

텍스트와 HEX, 바이트 미리 보기

HEX는 01 03 00, 0x01,0x03, 010300 어느 형식으로든 입력할 수 있고, 잘못된 문자와 홀수 자릿수는 건너뛰지 않고 알려 줍니다. 곧 전송될 바이트가 입력란 아래에 표시되며 체크섬과 줄 끝은 대괄호로 묶입니다. 텍스트 모드에서는 \r\n, \n, \r 줄 끝과 선택적인 \r \n \xHH 이스케이프를 쓸 수 있습니다.

CRC·XOR·합계 체크섬 자동 추가

모든 프레임에 CRC-16/MODBUS(하위 바이트 먼저), XOR(BCC) 또는 8비트 합계를 붙일 수 있어 Modbus RTU용 계산기를 따로 둘 필요가 없습니다. 다른 CRC 변형은 CRC 계산기로 파라미터를 먼저 확인한 뒤 바이트를 직접 붙이십시오.

유휴 간격으로 프레임 분할, 밀리초 타임스탬프

HEX 보기에서는 설정한 밀리초(기본 50 ms)보다 오래 회선이 조용하면 새 프레임이 시작되므로, 요청/응답 프로토콜은 한 줄에 프레임 하나씩 표시됩니다. 모든 줄에 밀리초 타임스탬프가 붙고 바이트 카운터가 실시간으로 갱신됩니다.

주기 전송, 전송 기록, 로그 내보내기

폴링이나 장시간 내구 시험을 위해 명령을 일정 간격으로 반복 전송하고, 최근 명령은 클릭 한 번으로 다시 보낼 수 있습니다. 로그는 타임스탬프와 송수신 방향, 원시 HEX가 담긴 텍스트로 내보내므로 나중에 다시 디코딩하거나 다른 도구로 분석할 수 있습니다.

시리얼 예시: AT 명령, Modbus, 글자 깨짐

AT 모듈 테스트(ESP8266 / ESP32 AT 펌웨어)

전송(텍스트, 줄 끝 \r\n): AT
전송한 바이트: 41 54 0D 0A
응답: OK

ESP-AT 펌웨어는 캐리지 리턴 + 라인 피드에서 명령이 끝난 것으로 봅니다. 41 54만 보내면 모듈은 계속 기다립니다. 줄 끝을 \r\n으로 하면 미리 보기에 41 54 [0D 0A]가 표시됩니다.

Modbus RTU 홀딩 레지스터 읽기(CRC 자동 추가)

전송(HEX, CRC-16/MODBUS 추가): 01 03 00 00 00 0A
전송한 바이트: 01 03 00 00 00 0A C5 CD
슬레이브 응답: 01 03 14 00 64 00 65 … 00 6D 63 D1

슬레이브 01, 함수 코드 03, 시작 주소 0000, 개수 000A. CRC는 0xCDC5이고 Modbus는 하위 바이트를 먼저 보내므로 회선에는 C5 CD가 나갑니다. 응답에서 14는 바이트 수(20바이트 = 레지스터 10개)이고, 마지막 두 바이트도 하위 바이트가 먼저인 CRC입니다. 데모 장치는 정확히 이 형식으로 응답합니다.

마이크로컨트롤러가 출력한 중국어가 깨져 보임

수신: CE C2 B6 C8 3A 32 35 A1 E6 0D 0A
UTF-8로 보면: �¶�:25��
GBK로 보면: 温度:25℃

같은 바이트가 UTF-8로는 깨지고, GBK로는 温度:25℃(온도 25 °C)로 읽힙니다. 손상된 것은 없으며 양쪽이 인코딩에 대해 합의하지 않았을 뿐입니다. 도구가 이를 감지해 전환을 제안합니다.

XOR 체크섬을 붙인 사용자 정의 프로토콜 프레임

전송(HEX, XOR / BCC 추가): AA 55 01 02
전송한 바이트: AA 55 01 02 FC

XOR은 페이로드의 모든 바이트를 차례로 XOR 연산해 한 바이트로 줄입니다: AA ⊕ 55 ⊕ 01 ⊕ 02 = FC. 체크섬은 입력란의 모든 바이트를 대상으로 합니다. 프로토콜이 헤더를 계산에서 뺀다면 그 체크섬을 따로 계산해 직접 입력하십시오.

온라인 시리얼 터미널 사용법

  1. 1

    장치 연결

    보드나 USB-시리얼 어댑터를 컴퓨터에 꽂습니다. Windows에서는 장치 관리자의 '포트(COM & LPT)' 아래에 새 COM 포트가 나타나야 합니다. 나타나지 않으면 드라이버가 없거나 충전 전용 케이블입니다.

  2. 2

    포트 설정 맞추기

    보드레이트, 데이터 비트, 패리티, 스톱 비트는 펌웨어와 같아야 합니다. 흔히 쓰는 값은 115200 8N1과 9600 8N1입니다. 연결 중에는 설정이 잠기므로 변경하려면 연결을 해제하십시오.

  3. 3

    포트 선택 후 연결

    '포트 선택 후 연결'을 클릭하고 브라우저 목록에서 포트를 고릅니다. 상태 표시줄에 USB 벤더 ID로 판별한 칩 제조사가 표시됩니다(예: WCH (QinHeng), Silicon Labs CP210x). 하드웨어가 없다면 '데모 장치'를 클릭하십시오.

  4. 4

    수신 데이터 확인

    텍스트 보기는 받은 줄마다 한 줄씩 밀리초 타임스탬프와 함께 보여 줍니다. 바이너리 프로토콜은 HEX 보기로 전환하면 유휴 간격으로 프레임이 나뉩니다. 글자가 깨지면 인코딩 안내를 따르십시오.

  5. 5

    전송 후 로그 저장

    텍스트 또는 HEX, 줄 끝, 체크섬을 고르고 바이트 미리 보기를 확인한 뒤 Ctrl+Enter를 누릅니다. 폴링에는 주기 전송을 쓰십시오. 작업이 끝나면 '로그 저장'을 클릭해 전체를 내보냅니다.

흔한 시리얼 문제: 글자 깨짐, 무응답, 포트 열기 실패

중국어가 깨져 보임

장치는 GBK로 보내는데 터미널이 UTF-8로 디코딩하면 중국어 글자가 모두 대체 문자나 엉뚱한 기호로 바뀝니다. 데이터에는 문제가 없으니 올바른 인코딩으로 읽으면 됩니다.

✗ 오류
인코딩: UTF-8
표시: �¶�:25��
✓ 정상
인코딩: GBK
표시: 温度:25℃

AT 명령에 응답이 없음

ESP8266과 ESP32의 AT 펌웨어는 \r\n을 받은 뒤에야 명령을 해석하기 시작합니다. 줄 끝이 '없음'이면 41 54 두 바이트만 전송됩니다.

✗ 오류
41 54
✓ 정상
41 54 0D 0A

Modbus 슬레이브가 응답하지 않음

RTU 프레임에는 하위 바이트가 먼저인 올바른 CRC가 있어야 하고, 그 뒤에는 아무것도 붙으면 안 됩니다. CRC가 없거나, 바이트 순서가 뒤바뀌었거나, HEX 모드에서 0D 0A 줄 끝이 아직 켜져 있으면 슬레이브는 프레임을 손상된 것으로 보고 버리며 아무것도 돌려보내지 않습니다.

✗ 오류
01 03 00 00 00 0A CD C5
✓ 정상
01 03 00 00 00 0A C5 CD

영문자와 숫자까지 전부 깨짐

이런 증상은 인코딩 문제인 경우가 드뭅니다. 보드레이트(또는 데이터 비트나 패리티)가 장치와 맞지 않아 모든 바이트를 엉뚱한 시점에 샘플링하고 있는 것입니다. 장치 속도의 두 배나 절반으로 설정하면 보통 보낸 것보다 훨씬 적거나 훨씬 많은 바이트가 들어오고, 그 대부분은 의미 없는 값입니다. 펌웨어에 설정된 값을 쓰십시오.

✗ 오류
터미널 57600 8N1, 장치 115200 8N1
✓ 정상
터미널 115200 8N1, 장치 115200 8N1

브라우저 시리얼 터미널이 유용한 경우

Arduino와 ESP32 디버그 출력
Serial.println()이 출력하는 센서 값과 상태 변화를 밀리초 타임스탬프와 함께 읽어 실행 순서를 따라갈 수 있습니다.
STM32와 8051의 printf 로그
중국어 프로젝트에서 USART로 리디렉션한 printf는 GBK로 출력되는 경우가 많습니다. 펌웨어를 고치지 말고 여기서 인코딩을 전환하십시오.
Modbus RTU 장치 시운전
RS-485-USB 어댑터로 계측기와 PLC에 연결해 CRC를 붙인 HEX를 보내고, 응답을 프레임 단위로 나눠 봅니다. 부동소수점 값을 담은 레지스터는 IEEE 754 형식의 원시 바이트 4개로 도착합니다.
AT 명령 모듈 설정
Wi-Fi, 셀룰러, 블루투스 모듈에 올바른 줄 끝으로 AT 명령을 보내고, 자주 쓰는 명령은 전송 기록에 남겨 클릭 한 번으로 다시 보냅니다.
평소 쓰던 도구가 없는 컴퓨터에서 빠른 점검
설치가 막힌 회사 PC, 실험실 공용 컴퓨터, Mac이나 Linux에서도 페이지만 열면 바로 쓸 수 있습니다. 캡처한 HEX를 다른 인코딩의 텍스트로 읽으려면 16진수 문자열 변환에 붙여넣으십시오.

시리얼 통신과 Web Serial의 동작 원리

Web Serial API가 포트를 여는 방식
브라우저는 운영체제의 시리얼 드라이버를 통해 포트를 엽니다(Windows는 COM 포트, macOS는 /dev/cu.*, Linux는 /dev/ttyUSB* 또는 /dev/ttyACM*). 그리고 페이지에 두 개의 바이트 스트림, 즉 수신용 ReadableStream과 송신용 WritableStream을 넘깁니다. 접근 권한은 포트별로, 브라우저 자체의 선택 창을 통해서만 부여됩니다. 페이지가 스스로 컴퓨터의 시리얼 포트 목록을 가져올 수는 없습니다.
8N1과 보드레이트
8N1은 데이터 비트 8개, 패리티 없음, 스톱 비트 1개를 뜻합니다. 시작 비트를 더하면 바이트 하나가 회선에서 10비트를 차지하므로 115200보드로는 초당 최대 약 11,520바이트, 9600보드로는 약 960바이트를 보낼 수 있습니다. 보드레이트 차이가 크거나 데이터 비트나 패리티가 맞지 않으면 데이터가 깨집니다(Windows에서는 프레이밍 오류도 보고됩니다).
프레임을 나눠야 하는 이유
시리얼 회선에는 패킷이라는 개념이 없습니다. USB-시리얼 칩은 받은 바이트를 USB 패킷으로 모으고, 브라우저는 읽을 때마다 그런 덩어리를 하나씩 받습니다. 프레임 하나가 두 덩어리로 나뉘어 올 수도, 여러 프레임이 한 덩어리로 올 수도 있습니다. HEX 보기는 덩어리 사이의 유휴 시간을 기준으로 스트림을 다시 나눕니다. 브라우저가 아는 것은 각 USB 패킷이 도착한 시각이지 각 바이트가 회선을 지나간 시각이 아니므로 기본 임계값은 50 ms이며, 프로토콜에 맞게 조정하십시오. Modbus RTU 자체는 프레임 사이에 최소 3.5문자 시간(9600보드에서 약 4 ms)의 무신호 구간을 요구하지만 브라우저는 그만큼 정밀하게 잴 수 없습니다. 그래서 유휴 간격 기반 분할은 근사치일 뿐, Modbus 규격대로의 정확한 프레임 검출기가 아닙니다.
UTF-8과 GBK의 바이트 차이
温度(온도)는 UTF-8에서 E6 B8 A9 E5 BA A6으로 글자당 3바이트, GBK에서는 CE C2 B6 C8로 글자당 2바이트입니다. 한 글자의 바이트가 두 번의 읽기에 걸쳐 나뉠 수 있으므로 디코딩은 스트리밍 방식으로 하고, 불완전한 끝부분은 다음 덩어리를 위해 남겨 둡니다. 인코딩을 변경하면 원시 바이트부터 다시 디코딩합니다.
세 가지 체크섬의 계산 방식
CRC-16/MODBUS: 다항식 0x8005(반사 형태로는 0xA001), 초기값 0xFFFF, 입력과 출력 모두 반전, 최종 XOR 없음, 하위 바이트 먼저 전송. XOR(BCC): 모든 바이트를 XOR해 한 바이트로 모은 값. SUM8: 모든 바이트를 더한 뒤 하위 8비트만 남긴 값. 셋 다 페이로드만 대상으로 하며, 뒤에 붙는 줄 끝은 포함하지 않습니다.

시리얼 디버깅 팁

인코딩보다 통신 설정부터 확인
출력이 깨지면 먼저 보드레이트, 데이터 비트, 패리티, 스톱 비트가 장치와 일치하는지 확인하십시오. 설정이 틀리면 어떤 인코딩으로도 제대로 읽히지 않습니다.
바이너리 프로토콜은 HEX 보기로
Modbus 같은 프로토콜에는 00, 0D, 0A 바이트가 가득한데, 텍스트 보기는 이를 줄바꿈이나 제어 문자로 처리합니다. 각 바이트의 의미는 아스키코드표에서 확인할 수 있습니다. HEX 보기로 전환하고 프레임 간격은 장치의 응답 간격보다 조금 크게 설정하십시오.
펌웨어와 터미널의 인코딩 통일
새 프로젝트는 소스 파일을 UTF-8로 저장하면 로그가 어디서나 제대로 읽힙니다. 기존 GBK 프로젝트라면 여기서 인코딩을 한 번 GBK로 맞춰 두십시오. 도구가 그 설정을 기억합니다.
원시 HEX 로그 보관
간헐적인 장애를 추적할 때 내보낸 로그에는 덩어리마다 원시 바이트와 밀리초 타임스탬프가 남습니다. 디코딩된 텍스트만 저장하면 그때의 인코딩 선택이 파일에 굳어 버립니다.
주기 전송 간격은 넉넉하게
간격은 장치가 명령을 처리하고 응답하는 데 걸리는 시간보다 길어야 합니다. 그렇지 않으면 요청이 쌓여 응답과 요청이 어긋납니다. 응답 시간은 장치 설명서에서 확인하고 여유를 두십시오.

시리얼 터미널 자주 묻는 질문

따로 다운로드하거나 설치해야 하나요?
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가 틀리거나 다른 주소를 대상으로 한 프레임에는 실제 슬레이브처럼 아무 응답도 하지 않습니다. 그 밖의 내용은 그대로 되돌려 보냅니다.

cURL 명령어 생성기 & 빌더

웹 & API

온라인 curl 명령어 생성기. 메서드·헤더·인증·바디를 설정하면 즉시 복사 가능한 명령어가 생성됩니다. Bearer·POST JSON·파일 업로드 프리셋. 무료, 서버 전송 없음.

htpasswd 생성기 — bcrypt, Apache MD5 (apr1) & Basic Auth

웹 & API

bcrypt, Apache MD5 (apr1), SHA-1 등으로 htpasswd 항목을 생성하는 웹 도구. Apache, nginx, Docker 설정 스니펫 포함. 100% 브라우저에서 처리 — 업로드 없음.

Open Graph 메타 태그 생성기

웹 & API

Open Graph, Twitter Card, SEO 메타 태그를 생성하고 Google·Facebook·X 실시간 미리보기로 확인하세요. 100% 무료 웹 도구, 가입 없이 코드를 복사·붙여넣기.

nginx location 테스터 — 그 블록이 이기는 이유

웹 & API

어떤 nginx location 블록이 이기고 나머지는 왜 졌는지 보여줍니다. =, ^~, ~, ~* 매칭을 브라우저 안에서 처리하는 무료 온라인 테스터입니다.

IPv4 서브넷 계산기

웹 & API

IPv4 주소와 CIDR로 네트워크·브로드캐스트 주소, 사용 가능 호스트 범위, 서브넷 마스크, 와일드카드를 계산하는 온라인 도구. RFC 3021 /31 지원, 브라우저에서 실행.

traceparent 디코더 — W3C Trace Context

웹 & API

16진수 세기는 그만. 무료 온라인 traceparent 디코더 — 브라우저에서 실행, 업로드 없음. trace ID·span ID·trace-flags 8비트·tracestate 검사·Datadog/X-Ray/B3 변환.