대부분의 임베디드 개발장비들이 유선랜(이하, Ethernet)을 사용할 수 있도록 되어있다. 이러한 임베디드 시스템들은 이더넷을 통해 파일을 공유하거나, 원격 터미널(ssh, telnet) 또는 부팅때 파일 시스템을 로딩하는 목적으로 사용되어진다. 이것은 필자가 처음 임베디드를 시작할 때도 그랬고 지금도 마찬가지다. 다만, 어느시점부터는 다양한 인터페이스를 이용할 수 있게 되었지만 말이다. 예를들면, usb로 시스템이미지나 파일등을 다운로드할 수 있고, 무선랜(WiFi)등을 통해 네트워크에 연결할 수 있게 되어서 개발환경 자체는 확실히 좋아졌다. 

     

      그럼에도 불구하고 개발자 생활을 하다보면 WiFi와 Ethernet 모두 사용해야 되는 경우가 발생된다. 예를들어 회사에서는 개발하려는 장비가 있다면, 책상 앞의 이더넷 스위치에 모두 연결하고 사용하면 된다. 그런데 집에서 작업을 해야되는 경우, 코로나 또는 출장간 외부 인원의 서포트이 필요한 경우에는 편리한 네트워크 환경을 사용할 수 없는 경우가 더 많다.

     

    필자의 경우에도 필자의 방에서 WiFi신호가 떨어진다. 물론 WiFi Expander를 달아서 사용해서 신호는 보강을 해 놓았지만, 개발 장비에 WiFi가 없다. 그런 상태에서 개발 및 디버깅을 위해 노트북에서 WiFi를 연결하여 사용하고 해야된다. 메일도 확인해야되고 검색 하고 코딩도 해야되니까말이다. 그리고 필자가 개발하고있는 임베디드 장치는 유선 이더넷만 사용가능한데 WiFi가 연결되어있으면, 유선 이더넷의 IP와 개발보드의 IP를 설정해 놓더라도 ssh등을 통한 연결이 안된다. 윈도우에서 기본적으로는 둘중 하나만 사용하여 인터넷 또는 네트워크에 연결되도록 설정 되어있기 때문이다. 

     

    1. 임베디드 시스템 개발을 위한 일반적인 연결 구성

    1.1. 고전적인 임베디드 시스템 개발환경

      아래와 같이 호스트 컴퓨터와 임베디드 장치를 UART나 Ethent, USB 등을 이용하여 개발하였다. 물론 지금도 이렇게 개발하는 경우가 꽤 있다.

     

     

    1.2. 네트워크를 통한 개발 환경

    호스트 컴퓨터에서는 임베디드 장치의 디버그 메시지를 위해 UART를 연결하고 각 장치는 네트워크 스위치나 인터넷 공유기를 통해 내부 네트워크로 연결하여 사용하는 방법으로 현재에도 가장 많이 사용하는 방법이다. 물론 ssh등을 이용한 경우 UART를 연결하지 않아도 되겠지만 개발 초기라면 부팅때 발생하는 메시지가 디버깅에 도움이 되므로 개발 장비는 개발자의 호스트 P에 가까이 있을 수 밖에 없다. 

     

     

    1.3. 최근 개발환경

      앞서 내용과 별 다른 것은 없지만 데스크탑 PC또는 서버와 개발자의 노트북, 개발보드를 하나의 네트워크에 물려 놓고 사용한다. 이때 네트워크는 무선 공유기등을 이용해서 유선이던 무선이던 연결 시키고, 디버그 포트만 개발자의 호스트(랩탑)과 연결하여 사용한다. 

     

      심지어 라즈베리파이 처럼 기본적인 xwindow 시스템을 적용한 개발환경에서는 vnc를 통해 원격으로 개발이 가능하기 때문에 빌드 속도에 문제만 없다면 서버에서 소스를 git으로 내려받아 수정하고 빌드 후 업데이트 하면서 사용한다. 이때 노트북은 원격디스플레이 용으로만 사용된다. 

     

     

    어쨋든 이러한 다양한 환경이 제공되지 못하는 경우라면, 앞서 필자가 언급했던 것 처럼 WiFi만 사용할 수 있는 상태에서 개발보드는 WiFi를 사용하지 못하는 경우이므로 다음과  같이 사용되어져야 한다. 그리고 실제 필드에 나가면 이러한 환경으로 디버깅 해야되는 경우가 더 많다.

     

     

     

    이런경우! 윈도우에서 WiFi와 유선 Ethernet을 모두 활성화 하는 방법에 대해서 알아보자.

     

    2. WiFi와 유선 Ethenet 모두 사용 설정.

    2.1. 윈도우 시작 버튼을 눌러 'gpedit.msc'를 실행한다.

     

    2.2. Windows 연결 관리자 선택

      아래와 같이 로컬 그룹 정책 편집기가 실행되면,  로컬 컴퓨터 정책의 하위 항목에서 다음과 같이 이동한다.

      컴퓨터 구성 > 관리 템플릿 > 네트워크 > Windows 연결 관리자 로 이동

     

     

    2.3. 인터넷 또는 Windows 도메인에 대한 동시 연결 수 최소화 선택

      아래와 같이 사용으로 설정하고, 동시연결 허용을 선택한 후 확인을 눌러서 설정하고 리부팅 해준다. 

     

    그리고 유선 네트워크의 IP를 개발보드와 동일한 네트워크로 설정하고 사용하면 되겠다. 

     

    이렇게 해서 좋았던 것은 라즈베리파이 개발할 때 노트북에서 라즈베리파이를 원격으로(vnc)연결하고 소스를 라즈베리파이로 드래그해서 넣어주고, 라즈베리파이에서 네이티브로 빌드하면 굳이 라즈베리파이에 모니터를 달아주지 않아도 되니까 편리하다. 물론 vnc의 해상도버그 (모니터가 없는 경우 강제 설정시 터미널 최대 크기가 작게 설정되는 문제)가 있지만 hdmi 더미 플러그 하나 달아주면... 정말 편리하게 개발이 가능하다.

     

    그럼 오늘도 좋은 하루 되길 바란다. 

    반응형
    • 네이버 블러그 공유하기
    • 네이버 밴드에 공유하기
    • 페이스북 공유하기
    • 카카오스토리 공유하기