SerialTool 및 다른 소프트웨어 비교

설명 및 비교 표


이 페이지의 목적

이 페이지에 도착한 경우, 아마도 응용 프로그램의 시리얼 포트 또는 COM 포트에 사용할 소프트웨어를 선택하는 것에 대해 궁금증이 있을 것입니다.
또한 왜 시리얼 포트 사용을 위한 소프트웨어에 대한 비교 표가 있는지 궁금해 할 것입니다. 답은 간단합니다. SerialTool에서는 SerialTool을 시리얼 포트 통신과 관련된 가장 고급 소프트웨어 중 하나로 인식할 것으로 믿기 때문입니다. 이는 다른 더 널리 알려진 및 널리 사용되는 프로그램들과도 잘 견줍니다.

SerialTool의 역사

먼저 SerialTool이 일상적이고 집중적으로 시리얼 포트를 사용하는 10 년간의 경험에서 탄생했다는 사실부터 시작해 봅시다. 이 경험은 대부분의 PC와 노트북에서 아직 RS-232로 물리적으로 사용 가능했던 시절에 거슬러 올라갑니다. 이후 널리 사용되는 USB-Serial 변환기의 편리성을 택하기 전의 시기입니다.

우리는 종종 시리얼 포트 소프트웨어가 RS-422 및 RS-485와도 작동한다고 강조하는 것을 알 수 있습니다.
바로 말하자면 RS232, RS422, RS423 및 RS485는 본질적으로 물리적 계층 프로토콜입니다. 이들은 흔한 장치들을 위한 직렬 통신 프로토콜 및 인터페이스로, 전자 및 임베디드 시스템에서 널리 사용됩니다. 이들은 신호가 전송되는 방식을 변경합니다. PC, 마이크로컨트롤러 또는 TTL 수준의 전송을 통한 직렬 통신 프로토콜을 통해입니다. 이들은 모두 통신 변환기 칩에 의해 RS232, RS422, RS423 또는 RS485 신호로 변환되어야 합니다.
이 해명의 이유는 무엇인가요? 시리얼 포트 또는 COM 포트와 통신하는 모든 소프트웨어는 통신의 물리적 계층에 내재된 거리 및 속도 제한을 가지며 RS-232, RS-422 및 RS-485에서 수신 및 송신할 수 있습니다.
RS-485를 사용하려면 SerialTool을 사용할 수 있습니다. 모든 시리얼 포트와 통신하는 소프트웨어와 마찬가지로입니다.
RS-422 및 RS-485와 호환되도록 강조되는 소프트웨어에 속지 마세요. 그들은 어차피 호환될 것입니다!

Windows, Linux 및 Mac OS용 다중 플랫폼 시리얼 소프트웨어

정확히 그러한 먼 시절에서는 내부적으로 사용하기 위해 설계된 SerialTool의 개인 버전이 개발되었습니다. 이 버전은 내장 환경에서의 모든 일상적인 필요를 수집했습니다. 내장 환경에서는 주로 Windows와 같이 가장 인기 있는 운영 체제 이외의 운영 체제 Linux 및 점점 더 Mac OS를 사용합니다.
SerialTool은 멀티 플랫폼 프레임워크로 개발되었으며 시리얼 포트 연결 루틴은 SerialTool이 배포된 세 가지 운영 체제에 대한 네이티브 함수를 사용하여 작성되었습니다.
안정적이지만 직렬 포트가 지원하는 모든 매개변수에 대한 유연성과 완전한 제어를 허용하지 않는 일부 IDE에서 제공하는 라이브러리가 사용되지 않았습니다. 따라서 소스 코드를 라이브러리가 허용하지 않는 특정 IDE에서 제공하는 곳까지 도달할 수 있도록 작성해야 했습니다. 이러한 노력은 SerialTool이 제공하는 기능 및 성능에 의해 잘 보상되었습니다.

SerialTool은 누구를 위한 것인가요?

아마도 이 소프트웨어가 전문가들을 위해 개발된 것인지 궁금해 할 것입니다.
답은 NO입니다. 이는 모든 종류의 응용 프로그램에 이상적이며, 취미, 학교 및 학문적인 환경에서의 Arduino 보드와의 통신 예제부터 여러 시리얼 연결이 필요한 복잡한 시스템까지 모든 용도에 적합합니다. 이들을 동시에 모니터하고 신뢰성 있고 지속적으로 그리고 유연하게 시리얼 트래픽을 기록해야 하는 필요가 있는 경우입니다.
이러한 이유로 SerialTool은 2009년 이래로 Duolabs 연구소에서 내부적으로 개발되었으며, 그 때의 이름은 SerialTalk였습니다. 이제 전문적인 및 취미적인 맥락에서 시리얼 포트를 사용할 때 자주 발생하는 요구 사항들을 자세히 살펴보겠습니다.

SerialTool을 독특하게 만드는 것은 무엇인가요?

먼저 SerialTool은 현재까지 단일 응용 프로그램 시작에서 여러 다중 시리얼 포트를 동시에 처리할 수 있는 유일한 소프트웨어입니다. 따라서 모든 시리얼 포트 또는 COM 포트에 할당이 있어야 합니다. 본질적으로 단일 응용 프로그램 내에서 여러 시리얼 포트에서 동시에 작업할 수 있으며 각 시리얼 포트에 순차적인 번호를 할당하고 복수의 소프트웨어를 동시에 시작하지 않아도 다양한 기능을 구성할 수 있게 될 것입니다.
이 기능은 내부적으로 관리하기가 매우 복잡하며 SerialTool에 구현되기까지 많은 달의 개발이 필요했습니다. 이제 바이트를 시리얼 포트로 간단히 보내는 것을 살펴보겠습니다.

시리얼 포트로 데이터 보내기 (ASCII 및 16진수 모드)

가장 일반적인 두 모드는 ASCII 문자열이나 16진수의 바이트 배열을 보내는 것입니다. SerialTool을 사용하면 두 모드 모두에서 효율적으로, 직관적으로 빠르게 바이트를 보낼 수 있습니다.

또한 CR = 캐리지 리턴 (\r, 16진수에서 0x0D, 10진수에서 13) 및 LF = 줄 바꿈 (\n, 16진수에서 0x0A, 10진수에서 10)과 같은 미리 정의된 바이트 문자열을 자동으로 보낼 수도 있습니다.

CRC를 사용한 자동 완성

특히 산업 분야에서는 바이트 끝에 CRC (순환 중복 확인)를 보내는 것이 필요한 경우가 있습니다. CRC 계산은 보내려는 바이트를 기반으로 하며 체크섬의 형식 중 하나입니다. CRC 또는 수신자에 의한 수신된 바이트의 정확성을 위한 제어 바이트는 MODBUS와 같은 특정 통신 프로토콜에서 종종 필요합니다. SerialTool은 실제 페이로드 끝에 보낼 수 있는 가장 다양한 CRC 다항식을 제공합니다.

퀵 버퍼 사용

실제 페이로드 전송은 복잡한 옵션이나 혼란을 초래하는 창에 심취하지 않고 즉시 바이트를 전송할 수 있도록 특별히 설계된 퀵 버퍼라는 빠른 전송 패널을 통해 이루어집니다. ASCII 바이트를 보내는 것은 전형적인 통신 터미널과 유사하게 키보드 키를 직접 입력하여 수행할 수도 있습니다. 현재 SerialTool은 전형적인 터미널의 모든 기능을 수행할 수 없습니다(예: VT100)만, 응용 프로그램의 주요 측면으로서의 시리얼 포트를 관리하기 위한 소프트웨어로 위치하고 있습니다. 미래의 개발에서는 현재 사용 가능한 터미널 모드가 확장되어 VT100 인코딩과 호환될 수 있습니다.

Q: 그런데 수신 및 전송한 바이트를 어떻게 어디서 볼 수 있나요?
많은 소프트웨어 프로그램은 터미널 화면을 갖추고 있어 전통적인 TeraTerm과 유사하게 바이트를 송수신할 수 있습니다. SerialTool은 위에서 언급한 바와 같이 하이브리드 터미널 모드를 제공합니다.

Q: 16진수 바이트는 어떻게 처리되나요?
상황이 복잡해지는데, 16진수 바이트는 항상 ASCII로 표현할 수 없어 가시적으로 표시할 수 없는 문자를 생성하거나 실제 터미널의 경우 비정상적으로 보이는 동작을 생성할 수 있습니다. 전통적인 터미널에서는 키보드의 DEL 키에 해당하는 바이트를 수신하면 터미널이 마지막으로 전송한 문자를 삭제합니다. 원격 소스로부터 16진수 바이트를 수신하고 해당 바이트를 패킷의 일부로서 가로챌 필요가 있는 경우 이는 이상적이지 않습니다.
SerialTool은 두 가지 방법으로 이 문제를 해결합니다. 첫째, 여러 모드에서 전송 및 수신된 바이트를 표시할 수 있는 전통적인 터미널 화면을 갖추고 있습니다. 순수 ASCII, 출력 가능한 ASCII만 또는 16진수 (다양한 형식 유형과 함께). 여기를 참조하세요..

만약 클래식 터미널 모드를 사용하지 않을 경우, SerialTool은 16진수 터미널 모드를 제공합니다.
16진수 터미널 모드에서는 각 바이트 또는 바이트 패킷이 편집 테이블에서 표시되어 수신 및 전송된 페이로드를 빠르고 직관적으로 정확하게 볼 수 있습니다.

Q: 그런데 정확히 무엇을 의미하는 것인가요? 바이트 또는 바이트 패킷이라는 말은?
시리얼 포트에서 단일 바이트가 전송되거나 수신될 수 있으며 사전 정의된 시간 후에 전송이 완료된 것으로 간주되어 패킷이 생성될 수 있습니다. 이 경우 단일 바이트를 포함하는 패킷이 생성됩니다.

Q: 패킷 간의 간격은 어떻게 결정할 수 있나요?
일반적으로 오실로스코프 또는 논리 상태 분석기와 같은 도구를 사용하여 패킷 간의 간격을 결정합니다. 그러나 (이러한 도구를 갖고 있더라도) 물리적 연결을 만들고 비트 간의 타이밍을 관찰하여 원격 장치가 얼마나 자주 바이트 또는 패킷을 전송하는지 결정하는 것이 항상 편리하거나 실용적이지 않을 수 있습니다. SerialTool은 정확히 단일 바이트 도착 이후 경과된 시간을 정확히 결정하고 바이트 간의 밀리초를 설정하여 패킷을 구분할 수 있는 능력을 제공합니다.
더불어 SerialTool은 또한 마지막으로 받거나 전송된 패킷 이후 경과된 시간을 기록하고 모니터링할 수 있는 기능도 제공합니다.

Q: 시리얼 포트로 보내기 위해 버퍼를 복사하고 붙여넣어야 하는 일이 얼마나 자주 있었나요? 아마도 실수를 하거나 일부 바이트를 잊어버리기도 했을 것입니다.
많은 이에게 공통된 어려움입니다. 퀵 버퍼와 일치하게 SerialTool은 미리 로드된 버퍼를 사용하여 빠르고 신뢰성 있게 보낼 수 있는 기능을 제공합니다.
몇 시간 동안 일한 후에는 몇 가지 오류가 발생할 수 있습니다. 다중 버퍼 기능은 ASCII 또는 16진수 형식이던지 상관없이 버퍼를 빠르게 찾아낼 수 있도록 도와줍니다.

시리얼 데이터 기록 파일

이게 충분하다고 생각하십니까? 일부 사용자는 만족할 수 있을 것이고 대부분의 사용 가능한 소프트웨어 프로그램은 이러한 기능 중 일부만 제공합니다. 그러나 임베디드 세계와 관련이 있는 사람이나 대량의 데이터를 송수신하는 취미 애플리케이션에 참여하는 사람은 더 많은 것이 필요하다는 필요성을 깨닫게 될 것입니다. 데이터가 많아지면 특정 역공학 작업을 위해 흐름이나 프로토콜을 분석하기 위해 수신 및 송신 데이터를 저장해야 할 필요성이 생깁니다. SerialTool을 사용하면 데이터 로그를 파일로 저장하여 후속 조직화 및 정밀한 분석이 가능하며 특정 시리얼 포트를 통해 실제로 전달된 내용을 확인할 수 있습니다. 로그는 텍스트 모드에서 볼 수 있거나 바이너리 파일로 직접 저장할 수 있습니다.
예를 들어 USB-시리얼 어댑터를 송신 및 수신 신호에 연결하여 원격 장치에 펌웨어를 다운로드하는 경우 두 장치 간에 교환되는 모든 트래픽을 수동으로 관찰할 수 있습니다. 펌웨어 다운로드의 경우 나중에 자세한 분석을 위해 데이터 스트림을 직접 파일로 저장할 수 있습니다.

시리얼 필터 및 알람 기능

특정 관심 패킷만 가로채고 그 내용을 분석해야 할 수도 있습니다.
이 문서가 작성된 시점에서 특정 상용 소프트웨어 프로그램은 특정 패킷을 필터링하고 그에 따라 알람을 생성할 수 있는 기능이 없습니다. SerialTool은 하나 이상의 시리얼 포트에서 들어오는 트래픽을 분석하고 미리 정의된 패킷이나 간단한 바이트 시퀀스가 수신되면 알람을 생성할 수 있습니다. ASCII 또는 16진수 형식이든 상관없이 SerialTool은 이러한 패킷에 필터를 적용하고 수신 흐름 중에 해당 패킷을 표시하거나 차단할 수 있습니다. 또한 특정 패킷이나 바이트 시퀀스만을 별도의 파일로 저장할 수 있습니다. 이 기능은 SerialTool에서 제공하는 알람 기능으로 가능합니다.

시리얼 포트 데이터를 서버 또는 클라우드로 보내기

SerialTool은 많은 다른 상용 소프트웨어 프로그램이 가지지 않거나 일부 형태로만 가진 기능을 제공합니다: 시리얼 트래픽을 네트워크로 보내는 능력. SerialTool을 사용하면 TCP 또는 UDP 프로토콜을 사용하여 서버로 양방향 트래픽(수신 및 전송)을 보낼 수 있습니다. 이를 네트워크 패킷 전송이라고 합니다. IPv4 및 IPv6를 모두 지원합니다.

Q: 데이터를 클라우드로 보낼 수 있을까요?
절대로 가능합니다! SerialTool은 또한 Network Packet Sender를 사용하여 데이터를 클라우드로 보낼 수 있습니다. 클라우드 서버에 GET 또는 POST 호출을 수행하여 시리얼 데이터를 더 자세히 분석, 필터링 및 저장할 수 있습니다.
전문적인 맥락에서 예를 들어 SerialTool을 실행하는 Linux 미니 PC를 원격 기계에 연결하여 모든 트래픽을 클라우드 백엔드로 전송할 수 있습니다. 고유한 통신 프로토콜을 개발할 필요 없이 네이티브 클라우드 연결이 없는 산업용 기계를 원격으로 모니터링하거나 센서를 설치하고 다양한 통신 프로토콜을 개발하지 않고도 데이터를 직접 클라우드로 보낼 수 있습니다. 또한 실시간 분석을 위해 시리얼 포트 트래픽을 외부 소프트웨어에 훅하기 위해 필요할 수 있습니다. SerialTool은 소유 소프트웨어로 모든 시리얼 포트 트래픽을 분석합니다.
SerialTool은 이 기능을 테스트하기 위해 작은 php 스크립트를 개발했습니다. Network Packet Sender 페이지에서 확인할 수 있습니다.

시리얼 포트로 파일 전송

SerialTool은 파일(크기가 큰 경우도 포함)을 시리얼 포트로 직접 전송할 수 있는 기능을 제공합니다. 텍스트 또는 바이너리 파일의 종류에 상관없이 SerialTool은 파일을 정의된 바이트 패킷으로 자동으로 나누어 지정된 간격으로 전송합니다.

자동 응답

Q: Arduino로 개발한 시리얼 프로토콜을 테스트하고 패킷을 보낸 후 다른 장치를 만들지 않고 미리 정의된 응답을 받고 싶다면 어떻게 해야 할까요?
이 경우에도 SerialTool은 AutoAnswer 모드로 도움을 줍니다. 복잡한 스크립트를 작성하거나 어려운 프로그래밍 언어를 사용하지 않고도 SerialTool에게 특정 페이로드를 수신하면 미리 정의된 페이로드로 응답하도록 지시할 수 있습니다. SerialTool은 이 기능을 빠르고 실용적이며 직관적으로 제공합니다.

SerialTool에서 현재 사용 가능한 모든 기능을 언급하고 싶지만 직접 실험하는 기쁨을 빼앗을 수 있습니다. SerialTool 개발 팀은 여러분의 요구사항, 버그 보고, 또는 개선 제안에 대해 사용 가능합니다. 언급된 기능 중 일부는 SerialTool의 PRO 버전에서만 사용 가능할 수 있습니다. FREE 및 PRO 버전에서 사용 가능한 기능을 확인하려면 때때로 변경 로그를 확인하십시오.

PRO 및 FREE 버전 간의 차이점

FREE 버전은 SerialTool의 기본 기능을 제공하며 PRO 버전의 일부 기능을 평가할 수 있는 기회를 제공합니다.
PRO 버전은 FREE 버전에서 발견되는 일부 제한 사항을 제거합니다:

  • 저장된 구성 수
  • 저장된 바이트 버퍼 수
  • 저장된 알람 수
  • 저장된 로그 수
  • 저장된 매크로 수
  • 동시에 사용 가능한 시리얼 포트 수
  • 미래의 PRO 기능 및 개선 사항
추가 기능은 PRO 버전에서 제공되며 소프트웨어를 귀사의 워크스테이션에 설치할 수 있습니다. 기능이 여러분의 요구에 충족되기를 바라며 개선에 대한 모든 제안을 기쁘게 받아드리겠습니다.
라이센스 페이지에서 PRO 버전을 구입하는 방법에 대한 정보를 확인할 수 있습니다.

SerialTool RealTerm CoolTerm TeraTerm

Operating System Windows 32/64Bits, Mac OS, Linux Windows 32/64Bits Windows 32/64Bits, Mac OS, Linux Windows 32/64Bits
Multiple Serials Ports

Up to 4

1

1 per software launch

1

Python® Scripting

Graphic data flow (SerialScope)

HEX Terminal

USBMap

Scheduled Multiple Buffer Send

Multiple Buffers Storing

Auto Answer

Alarms

Data Flow recording

CRC autofill

Over 30 types

ModBus only
Time difference between packets

Multiple data print out

File Sending

Serial Packet to network

Customizable GUI

NOTE: If you find any inaccuracy, please report it to us.