이번 시간에는 저번 시간에 잠깐 언급한 라즈베리파이의 IP 확인의 필요성과 해결방법을 알아보도록 하겠습니다.
처음 라즈베리파이를 접하고 원격개발 키워드로 검색을 해보신 분들 중 다음과 같은 생각을 해보신 분이 계실겁니다.
"라즈베리파이 ip를 모르는데 어떻게 그 IP로 원격 접속을 하는거지?"
"라즈베리파이 전원만 켜놨는데 어떻게 IP를 알 수 있는 거지?"
이 궁금증에 대한 해답을 알려드리도록 하겠습니다. 무선망(와이파이) 연결에 해당하는 내용입니다.
해결할 수 있는 상황은 3가지로 분류할 수 있습니다.
1. 집에서 와이파이로 라즈베리파이 사용 시
최초 1회는 모니터 연결로 라즈베리파이가 집에서 자동으로 집 와이파이가 자동으로 연결될 수 있게끔 설정 해둔 상태여야합니다.
복잡하게 생각할 것 없이 라즈베리파이를 처음 ON 시킨 후 본인 집 와이파이를 연결했다면 다음 번부터 자동으로 탐색하여 연결된다는 의미입니다.
2. 야외에서 라즈베리파이 사용 시
대학교 빈 강의실에서 라즈베리파이를 원격개발한다는 가정입니다.
2-1) 학교 인터넷 망 사용 시
최초 1회는 해당 장소에서 모니터 연결로 와이파이에 연결한 상태여야하고 다음 부터 똑같은 장소에서 사용해야 합니다.
학교에서 사용 시 고정 IP로 설정시킬 수 있으나 학교에서만 사용할 경우 편하겠지만 집에서 원격으로 접속할 경우 모니터로 연결하여 이 설정을 해제하여 사용해야하는 큰 불편함이 있습니다.
2-2) 휴대폰 핫스팟 테더링으로 연결하여 사용 시
2-1 번이 제대로 수행되지 않을 경우 사용할 수 있는 방법입니다.
3. 때려 맞추기
가급적 1,2 번으로 해결한 후 정 급할 때만 사용하는 방법으로 아래에서 설명할 SW를 다운받기 귀찮을 때 사용합니다.
예를들어 집 와이파이를 사용하는 환경에서 노트북으로 확인한 IP가 192.168.0.7일 경우
vnc-viewr에 192.168.0.5부터 대략 192.168.0.15 까지 일일이 입력해보는 것입니다. 로딩속도가 빠르기 때문에 많은 시간이 소요되지 않습니다. 라즈베리파이에 할당되는 IP도 비슷한 숫자대로 할당되는 것 같길래 사용해 보았는데 의외로 금방 연결되었습니다. 하지만 매우 비효율적인 방법이기에 비추천합니다.....
이제 1,2 번을 해결하기 위해 Nmap-Zmap GUI이라는 소프트웨어를 다운받아야 합니다.
아래 링크를 클릭 후 중간의 보라색으로 구별된 영역 중 Microsoft Windows binaries에서 빨간 박스 친 부분을 다운로드합니다.
위에서 언급한 1,2번을 해결하기 위해 각 상황별로 라즈베리파이의 IP를 모르는 상황입니다.
(라즈베리파이는 해당 시설의 와이파이에 연결되어있으나 IP를 확인할 방법을 모르는 상황이어야 합니다.)
보통 집의 와이파이 IP는 192.168.0.* 꼴로 할당됩니다. PC의 cmd창에서 ipconfig명령어로 쉽게 확인할 수 있습니다.
학교 인터넷 망도 앞3자리는 같고 끝자리만 다르게 할당되는 형태일겁니다. ex) 192.43.35.*
핫스팟 테더링도 마찬가지입니다.
이제 아까 설치한 namp-znamp GUI를 실행한 후 command 입력창에 다음과 같이 입력합니다.
집일때: namp -sn 192.168.0.*/24
학교 와이파이망 사용 시: 예를들어 PC/노트북/핸드폰 으로 ip확인했을 때 앞3자리가 210.93.56.* 형태 일 경우
namp -sn 210.93.56.*/24
핫스팟 사용 시: 동일, 만약 pc/노트북/핸드폰으로 ip확인 했을 때 앞 3자리가 192.68.43.*꼴일 경우
namp -sn 192.68.43.*/24
입력 시 '*'은 가능한 모든 경우를 의미, "/24"는 앞3자리 (000.000.000) 까지는 유효한 value임을 나타내는 의미입니다.
저 같은 경우 집 와이파이를 이용, 다음과 같이 입력해 보았습니다.
그리고 오른쪽 scan버튼을 클릭하면 몇 초 후 다음과 같이 집 와이파이에 연결된 모든 기기들의 목록이 뜨게됩니다.
라즈베리파이는 현재 192.168.0.9에 연결되어 있음을 알 수 있고 이 정보를 이용, vnc-viewer에 입력하여 원격접속할 수 있게됩니다.
4. 모바일 핫스팟(이게 제일 좋음)
1,2,3번 방법은 매우 비효율적이고 그냥 감에 의존한 때려맞추기 방법입니다. 절대 비추천하구요.
가장 nice한 방법은 노트북의 모바일 핫스팟 기능을 켜서 sd카드 파일에 네트워크 id/pwd를 입력하여 연결하는 방법입니다. 이 방법의 장점은 최초 연결을 위해 모니터가 필요없다는 점, 그리고 한번 연결해두면 위치에 상관없이 와이파이가 연결된 모든 장소에서 자동으로 라즈베리파이가 와이파이에 연결된다는 점입니다.
이제껏 라즈베리파이를 사용하기 위해 모니터를 연결하고 마우스 ,키보드를 연결하여 사용했습니다.
분명 너무 불편하고 노트북이나 pc로 원격제어하여 사용하는게 훨씬 더 편할 때가 많습니다.
라즈베리파이로 원격제어 하는 방법으로는 대표적으로 Putty와 VNC-viewr 사용이 있는데 저는 VNC-viewer만 사용하기 때문에 이 방법을 업로드 하겠습니다.
원격제어를 하기 전에 분명한 전제 조건이 있습니다.
"원격제어하기 전에 라즈베리파이의 IP를 알아야한다."
putty나 vnc-viewer 방법 모두 라즈베리파이의 ip를 안다는 가정하에 그 ip를 원격으로 이용하는 방식입니다.
그렇기 때문에 원격제어를 하기 전에 라즈베리파이의 ip를 알고 있어야합니다.
저같은 대학생이 학교에서 라즈베리파이를 쓰려면 학교 무선망을 사용해야 하는데 대부분 잠금되어있으므로 이를 해제하고 사용하기 위해 최초1회는 무조건 모니터에 연결하여 사용할 수 있는 상황이 필요하며 기본적으로 유동 IP를 사용하지만 고정 IP로 고정시켜놔도 집에서는 그 IP를 사용할 수 없기 때문에 매우 불편합니다. 따라서 가급적 원격제어를 하는 장소는 아래 두 부류가 적합합니다.
1. 집(공유기 사용, IP가 변경되어도 모니터 연결없이 원격으로 IP확인하는 방법 있음)
2. 모니터 연결과 원격제어를 동시에 할 수 있는 야외 시설
특히 1번의 경우 다음에 어떻게 원격으로 라즈베리파이의 IP를 확인하는지 알려드리도록 하겠습니다.
이제, VNC-viewer를 설치하여 원격제어 해보도록 하겠습니다. 방법은 매우 간단합니다.