Kori 8월 23일에 포스트됨 공유하기 8월 23일에 포스트됨 Gheorghe-Razvan Radu의 "Powerful Serial Communication Component in FireMonkey for Delphi and C++ Builder on Windows" 을 번역했습니다. (원문 작성: 2020년 8월 26일, 최종 번역: 2023년 8월 23일) 파이어몽키용 ComPort(TFComport)는 시리얼 포트에 연결된 장치와 통신하는데 사용하는 컴포넌트로써 사용하기 쉽고 매우 강력하다. 제조사인 WinSoft의 웹 사이트에서 이 컴포넌트의 평가판을 다운로드할 수 있다. TFComport의 특징 사용하기 쉽고 매우 강력하다. RS232 프로토콜을 사용하여 시리얼 포트에 연결된 모든 장치와 통신 할 수 있다. 멀티 스레딩과 오버래핑(overlapping)을 사용하므로, 성능을 극대화한다. 정품 버전에는 소스 코드가 포함되어 있다. Windows 32/64비트 지원, 델파이/C++ 빌더 XE2 - 10.4 지원 (옮긴이: 번역일 2023.8 기준 최신 버전인 11까지 지원됨) 애플리케이션에 배포하기 위한 로열티 부담이 없음 설치 설치는 매우 간단하고 자동이다: 여기에서 인스톨러(설치 파일)를 다운로드하고 실행한 후 단계를 따르면 된다(설치를 시작하기 전에 IDE를 닫아야 함). 사용 방법 제조사에서 제공하는 좋은 데모 프로젝트(여기를 클릭)가 기본 예제로 제공된다. 하지만 지금 이 글은 이 기본 예제를 조금 더 확장해서 GSM 휴대폰과 통신을 해보려고 한다. 주로, GSM 휴대폰 안에는 시리얼 포트를 사용하여 통신을 할 수 있고 표준 AT 명령을 사용할 수있다. 지금 우리가 하려는 것은 TFComport를 사용하여 일부 AT 명령을 전화기에게 보내고 전화기의 응답을 읽는 것이다. 테스트에는 삼성 갤럭시 A10e를 사용하겠다. 컴퓨터에 이 휴대폰을 USB 케이블로 연결하면 일반적으로 윈도우 10은 이 장치에 필요한 드라이버들을 설치한다. 드라이버 설치가 완료되고 나면, 장치 관리자에서 모뎀 장치를 볼 수 있다. 휴대폰과 통신하는 데 사용할 시리얼 포트는 (아래 화면과 같이)COM5 이다. IDE를 시작하고 데모 프로젝트를 열어 실행해 보자. 모든 장치와 시리얼 포트로 통신하려면 통신 파라미터를 설정하고 통신을 여는 다음 단계를 준수해야 한다. 명령을 입력하기 위한 TEdit(EditCommand) 하나와 그 명령을 휴대폰으로 보내기 위한 TButton(ButtonSend)을 폼 위에 올려둔다. TFComport에는 AfterOpen 이벤트가 있다. 이 이벤트는 포트가 열리거나 닫혔을 때 무언가를 수행하고 싶을 때 매우 유용핟. 기본 데모에는 UpdateComInfo라는 프로시저가 이미 포함되어 있다. 이 프로시저는 해당 포트의 Active 프로퍼티를 기준으로 버튼을 활성화 또는 비활성화한다. 이 UpdateComInfo 프로시저를 수정하여, EditCommand와 SendButton을 포함하도록 하자. procedure TFormMain.UpdateComInfo; begin if not FDisableUpdate then with FComPort do begin if Active then ButtonOpenClose.Text := 'Close' else ButtonOpenClose.Text := 'Open'; Memo.Enabled := Active; if Active then Memo.SetFocus; ComboBoxDeviceName.Enabled := not Active; ButtonConfig.Enabled := not Active; ButtonSetRTS.Enabled := Active; ButtonClearRTS.Enabled := Active; ButtonSetDTR.Enabled := Active; ButtonClearDTR.Enabled := Active; //---- 우리가 추가한 코드 ButtonSend.Enabled := Active; EditCommand.Enabled := Active; end; end; 이제 휴대폰에게 명령을 보내야 한다. ButtonSend에 대한 클릭 이벤트에서 수행하도록 하자. procedure TFormMain.ButtonSendClick(Sender: TObject); begin Memo.Lines.Add('AT Command sent: '+EditCommand.Text); FComPort.Write(EditCommand.Text+#13#10,TEncoding.ANSI); end; 결과는 다음과 같다: 파이어몽키용 ComPort가 필요한 컴포넌트라고 생각된다면, WinSoft 웹사이트에서 정식 버전을 구입하면 된다! 위 데모가 마음에 든다면, ComPort Component Suite를 WinSoft의 멋진 기타 100 여가지 컴포넌트들이 함께 들어 있는 Enterprise Component Pack을 구입할 수도 있다. (옮긴이: 이하 당시에 진행된 프로모션 안내는 번역하지 않음) 인용하기 이 댓글 링크 다른 사이트에 공유하기 더 많은 공유 선택 사항
어드민 8월 23일에 포스트됨 공유하기 8월 23일에 포스트됨 위 WinSoft의 컴포넌트 이외에도, 여러 제작자가 여러 컴포넌트를 제공하고 있습니다. 시리얼 통신 컴포넌트 목록 보기 인용하기 이 댓글 링크 다른 사이트에 공유하기 더 많은 공유 선택 사항
Recommended Posts
이 토의에 참여하세요
지금 바로 의견을 남길 수 있습니다. 그리고 나서 가입해도 됩니다. 이미 회원이라면, 지금 로그인하고 본인 계정으로 의견을 남기세요.