이 블로그는 임베디드 컴퓨터를 이용한 장치(시스템) 개발과 원격제어에 필요한 지식을 공유 하기 위한 블로그 입니다.
실제 개발과 프로그램 예를 위하여 Microchip 사의 ATmega128를 사용한 보드와 Arduino Mega 보드(ATmega2560), Raspberry Pi, Raspberry Pi Pico, WiFi 모듈을 사용 합니다.

terminal-emulator

Terminal emulator
Terminal emulator(Terminal software)



  • Terminal emulator 란?
    • 터미널 에뮬레이터(Terminal emulator)는 컴퓨터 터미널의 기능을 에뮬레이트하는 프로그램이다.

      Terminal emulator는 컴퓨터 터미널 기능을 수행하는 별도의 장치 대신에 PC 등에서 Software로 기존 컴퓨터 터미널과 동일한 기능(작업)을 실행 한다.

    • Terminal emulator를 사용하면 Terminal software를 실행하는 컴퓨터(PC 등)에서 명령 줄 또는 그래픽 인터페이스를 사용하여 원격 컴퓨터에 액세스 할 수 있다.
    • Terminal emulator를 사용하여 다른 컴퓨터의 파일에 액세스하거나 원격 컴퓨터의 응용 프로그램을 실행할 수 있다.
    • Terminal emulator는 호스트(Host)와 원격 PC 간의 파일 전송을 가능하다. 보안을 위하여 두 컴퓨터 간의 통신은 암호화 네트워크 프로토콜 인 SSH (Secure Shell) 등를 사용하여 수행 할 수 있다.
    • 인터넷 통신 기능이 없는 AVR Microcontroller는 Terminal emulator와 시리얼포트를 이용한 Serial 통신으로 접속 하고,
    • 인터넷 통신(TCP/IP(Transmission Control Protocol/Internet Protocol)) 기능이 있는 Raspberry pi는 Terminal emulator와 SSH 통신을 이용(Telnet 등 다른 프로토콜을 사용할 수 있지만 보안 문제 등을 고려하여 현재는 SSH 프로토콜을 사용하는 것이 일반적임)하여 접속한다.

  • Tera Term
    • Term Term은 Open source로 구현 된 터미널 에뮬레이터 프로그램 이다. DEC VT100에서 DEC VT382까지 다양한 유형의 컴퓨터 터미널을 에뮬레이션 할 수 있고, Telnet, SSH 와 직렬 포트 연결을 지원 한다. 또한 내장 된 매크로 스크립팅 언어 와 기타 유용한 플러그인을 포함하고 있다.

    • Tera Term 설치 하기
    • Tera Term을 사용한 Serial 통신
      • Tera Term을 설치하고 처음 실행하면 아래 와 같이 "Tera Term: 새 연결" 창이 열린다. Tera Term이 실행 중인 경우에는 "Tera Term: 새 연결" 창은 File 메뉴(메뉴(F))에서 새로 만들기(N)... 명령을 사용하여 열 수 있다.
      • Serial 통신을 위한 "Tera Term: 새 연결" 창 예

      • Serial 통신을 하고자 하는 경우 이 창에서 "시리얼(E)"을 선택 하고, Serial 통신에 사용 할 장치를 선택 하기 위한 Drop-down list(포트(R):)에서 연결하고자 하는 장치의 포트번호를 선택하고 "확인" 버튼을 Click 한다. 만약 연결하려는 장치의 포트번호를 모르는 경우에는 PC의 장치 관리자에서 연결하려는 장치의 포트번호를 확인하여 사용 한다.
      • 장치의 포트번호를 확인 하기
        • 제어판 -> 하드웨어 및 소리 -> 장치 관리자를 선택하면 장치 관리자 창이 열린다.
        • 이 창의 "포트(COM & LPT)"에서 사용하고자 하는 장치의 COM 포트 번호를 확인 한다.
      • Tera Term 설정(Setup)하기
        • 시리얼포트 설정하기
          • Tera Term을 실행하고 "설정 -> 시리얼포트(E)... "를 선택하면 시리얼포트 설정 창이 열린다.
          • 이 창에서 사용하고자 하는 장치의 UART 통신 설정과 일치 하게 설정 한다.
        • 기타 설정
          • 글꼴 설정: 글꼴, 글꼴 스타일, 크기를 설정 한다.
          • 터미널 설정: 터미널 크기, 줄바꿈, 터미널 ID, Coding, Locale 등을 설정 한다.
        • 설정 저장하기
          • 현재 설정을 설정 이름을 부여하여 저장하면 이 설정을 Restore 하여 쉽게 이용 할 수 있다.
          • 설정 -> 저장하기... 을 선택 하면 설정 저장을 위한 창이 열린다. 이 창에서 설정 이름을 입력하고 저장 한다.
        • 설정 가져오기
          • 설정 -> 가져오기... 을 선택 하면 설정을 Restore 하기 위한 창이 열린다. 이 창에서 가져오기 할 설정 이름을 선택하고 열기를 Click 한다.
    • Tera Term을 사용한 SSH(Secure Shell) 통신
      • Tera Term을 실행하고 "메뉴(F) -> 새로 만들기(N)... "를 실행하면 아래 와 같이 "Tera Term: 새 연결" 창이 열린다.
      • "SSH(Secure Shell) 통신을 위한 Tera Term: 새 연결" 창 예

      • SSH 통신을 하고자 하는 경우 이 창에서 TCP/IP와 SSH를 선택(Telnet은 보안상의 문제로 현재는 거의 사용하지 않는다.) 하고, "호스트(T):" Box에 연결하고자하는 장치의 IP Address를 입력(또는 선택) 하고 "OK" 버튼을 Click 하면 "SSH 인증" 창이 열린다. 이 창에서 연결 하려는 장치의 "사용자 이름" 과 "암호(P):"를 입력하고, "일반텍스트 암호 로그임(L)" 을 체크 한 다음 "OK" 버튼을 Click 하면 해당 장치에 연결 된다.
      • SSH 통신을 위한 "SSH 인증" 창 예


  • PuTTY
    • PuTTY는 Windows를 위한 다목적 터미널 프로그램으로 Telnet, SSH, raw socket 연결과 직렬 포트 연결을 지원 한다.

    • PuTTY 설치 하기
      • PuTTY를 https://www.putty.org/에서 Download 하여 설치(putty.exe를 Download 받은 경우 별도의 설치 없이 적당한 폴더에 저장하고 실행)한다.
    • PuTTY을 사용한 SSH(Secure Shell Protocol) 통신
      • PuTTY를 실행 한다. PuTTY를 실행하면 "PuTTY Configuration" 창이 열리고 "Session" 이 선택된 상태가 된다.
      • "PuTTY Configuration" 창 "Connection type"에서 SSH을 선택 하고, "Host Name(or IP address)"에 연결하고자 하는 장치의 Host Name(또는 IP address)를 입력하고 "Open" 버튼을 Click 한다.
      • "PuTTY Configuration" 창 예

      • 이 컴퓨터로 부터 장치에 처음 연결하는 경우에는 아래와 같이 SSH Key를 Putty의 Cache에 저장 할 것인가? 를 묻는 "PuTTY Security Alert" 창이 열리게 된다. SSH 통신에서는 보안을 위하여 SSH Key를 사용하기 때문에 "Yes" 버튼을 Click 하여야 한다. SSH Key는 한번만 저장하면 되기 때문에 이 컴퓨터에서 동일한 장치에 연결 할 경우 "PuTTY Security Alert" 창은 다음 부터는 열리지 않고 바로 장치에 접속 된다.
      • PuTTY와 장치가 정상적으로 연결되면 장치로 부터 아래와 같은 login 메세지가 PuTTY에 출력 된다.
      • login as:

      • login name을 입력하면 장치로 부터 아래와 같은 password 입력 메세지가 PuTTY에 출력 된다.
      • password:

      • password 가 정상적으로 입력되면 아래 그림의 예와 같이 장치로 부터 메세지가 출력되고 장치에 명령을 입력할 수 있게 된다.
      • PuTTY를 사용하여 Raspberry pi에 Login 한 예

      • 자주 사용하는 장치를 위한 Session 저장 하기
        • 윗 예와 같이 Session 설정을 입력한 다음 "Saved Sessions" 항에 Session 이름을 입력하고 "Save" 버튼을 Click 하면 현재 Session의 설정이 저장되고, Default Settings 문자 아래에 Session 이름이 표시 된다.
        • 저장된 Session 설정을 사용 하고자 하는 경우에는 사용하려는 Session 이름을 선택하고 "Load" 버튼을 Click 한다.
        • Load된 설정을 확인 하고, "Open" 버튼을 Click 하여 장치와 연결 한다.
    • PuTTY을 사용한 Serial 통신
      • PuTTY를 실행 한다. PuTTY를 실행하면 "PuTTY Configuration" 창이 열리고 "Session" 이 선택된 상태가 된다.
      • "PuTTY Configuration" 창 "Connection type"에서 "Serial"을 선택 하고, "Serial Line"에 연결하고자 하는 장치의 COM Port 번호(예: COM6)를 입력하고, "Speed"에 Serial Port의 Baud rate를 입력 한 다음 "Open" 버튼을 Click 한다.
      • Serial Port 연결을 위한 설정(Session)도 SSH 통신의 예와 같이 "Saved Sessions"에 저장 하고 Load 하여 사용 할 수 있다.
      • PuTTY을 사용한 Serial 통신 연결 예


  • OC_Console
    • OC_Console은 초보자가 쉽게 사용 할 수 있는 직렬 포트 연결만 지원하는 가장 간단한 Console 프로그램 이다. OC_Console은 COM1 부터 COM10 번 까지(10개 포트)만 지원 한다.

    • OC_Console 설치 하기
      • https://elmicro.com/de/occonsole.html에서 occonsole_v30.zip File을 Download 하여 적당한 위치에 압축을 풀고 실행(설치 절차 없이 occonsole.exe File을 실행) 한다.
    • OC_Console을 사용한 Serial 통신
      • occonsole.exe 를 실행 한다.
      • "Setting... " 명령을 Click 하면 Setting... 창이 열린다.
      • 이 창에서 필요한 설정을 선택 하고 "OK" 버튼을 Click 하면 설정이 저장 되고, 실행(연결) 된다.
      • OC-Console 창 예

        OC-Console "Setting... " 창 예