6/22/2018

Raspberry-Pi3 RASPBIAN OS 설정 및 VNC 연결

1. Raspberry 기본사용법 

Raspberry를 소스를 보면 거의 Node.js 즉 Javascript 기준으로 된 Project가 많으며, 이를 이해하기 위해서 아래와 같이 기본적으로 알아두자

  • Raspberry Pi Image Download
  https://www.raspberrypi.org/downloads/

  • Image Write 방법 
  https://ahyuo79.blogspot.com/2017/10/raspberry-pi.html
  https://ahyuo79.blogspot.com/2016/05/sd-card-writer-window.html

HDMI 모니터를 지속적으로 사용하면 좋겠지만, 여분의 모니터가 없을 경우 VNC와 SSH를 이용하여 원격접속하여 Raspberry를 이용해야 할 것이다.

  • 기본사용법 
  https://www.w3schools.com/nodejs/nodejs_raspberrypi.asp

  • GPIO 사용법 
  https://www.w3schools.com/nodejs/nodejs_raspberrypi_gpio_intro.asp
  https://wikidocs.net/3172
  https://wikidocs.net/20429

  • Raspberry Camera 연결 및 기본 사용법
Raspberry Pi용 Camera를 구입하여, CSI Interface로 연결하여 테스트 진행 
  https://wikidocs.net/3178
  https://wikidocs.net/3251
  https://www.raspberrypi.org/documentation/raspbian/applications/camera.md
  https://www.raspberrypi.org/documentation/configuration/camera.md


1.1. Raspberry HDMI 연결 

VNC와 SSH를 이용한다고 하더라도 처음 한번은 HDMI 모니터에 연결하여 아래와 같이 기본설정을 해줘야 한다.

  • Terminal 실행 (Mac 주소 파악)
우선 우측의 WIFI 접속하기전에 AP에 DHCP를 고정으로 할당하기 위해서 아래와 같이 Mac주소를 알아내자.
나의 경우는 Raspberry PI의 WIFI만 이용할 것이므로 wlan0의 Mac 주소로 할당을 할 것이다.


WLAN 과 ETH 상태확인 
$ ifconfig  //현재 wlan0 상태와 eth0 연결상태확인 
....
wlan0: flags=4163 up  mtu 1500
...
ether b8:27:eb:ba:e2:ad  
....

  1. 현재 사용중인 AP를 DHCP Server 상위 Mac Address에 맞게 고정 IP로 할당
  2. Raspberry의 상위 우측의 WIFI 연결 후  다시 설정된 IP확인 

WLAN 상태 및 기능확인 
$ iwconfig  // 현재 wlan0 의 ESSID 와 Mode 확인 (Managed)
wlan0     IEEE 802.11 ESSID:"JHLEE_AP"
          Mode:Managed   Frequecy:2.417 GHz .....
          ....
          
          
$ iw list // WIFI Phy 정보도 확인가능 (monitor 모드 미제공)
....
Supported interface mode:  //이부분 확인 후  다음 Supported TX/RX Frame Tyepe 확인 
    * IBSS
    * manged
    * AP
    * P2P-Client
    * P2P-GO
    * P2P-device 
    ....
    
    software interface modes (can always be added):  // 이 부분 확인     

WLAN0 monitor 모드 
Raspberry Pi에서 monitor 모드 사용하고자하면, USB Dongle을 이용하시길 

  • GUI 화면 SSH Server 및 VNC Server 설정 
GUI 화면에서 아래와 같이 상단 좌측의 위 버튼을 누르면 아래와 같이 설정 가능하다
쉽게

  Preferences->Raspberry Pi Configuration->Interfaces



Interfaces 에서 VNC와 SSH 및 Camera를 Enable 해주고, 아래와 같이 GUI 우측 상단에 WIFI 설정을 하여 AP에 연결하자


만약 Terminal에서 AP를 설정한다고 하면 아래와 같이 해주자.

$ sudo vi /etc/wpa_supplicant/wpa_supplicant.conf 
network={
        ssid="JHLEE_AP"
        psk=xxxxx"          # Password 
        key_mgmt=WPA-PSK
}

1.2 VNC Server 와 VNC Viewer 설치 

Raspberry 안에 VNC Server를 설치 후 Window/Linux에서 VNC Viewer(Client)를 통해 Display 장치 없이 원격으로 이를 제어하자. 

  • VNC Server 와 VNC Viewer 확인 
기본적으로 Rasbperry Pi Image에  VNC Server 와 VNC View는 내부에 포함하고 있지만 없을 경우 아래와 같이 설치해주자.

$ sudo apt-get update
$ sudo apt-get install realvnc-vnc-server 
$ sudo apt-get install realvnc-vnc-viewer

현재 확인을 해보니, tightvnc는 지원을 안해주는 것 같다.

  • Terminal에서 VNC and SSH Server 설정 
$ sudo raspi-config 
 interfacing options 
     -> vnc-server enable


  • VNC 와 SSH Server의 기본 ID와 PW
기본 Raspberry Pi의 ID와 Password는 아래와 동일하다

ID: pi 
PW:raspberry 

만약 변경하고자 한다면
  Preferences->Raspberry Pi Configuration->System->Change Password



1.3. Window/Linux의 VNC Viewer 설치 및 연결 

RealVNC를 Window용으로 다운받아 설치를 하자

   VNC-Viewer-6.17.1113-Windows.exe

  • Window/Linux Download 
   https://www.realvnc.com/en/connect/download/viewer/

이제 Network가 정상적으로 연결이 되고, VNC Server가 동작이 되면 Window에서 Remote Control이 되므로, 이제 HDMI 모니터 대신 VNC Viewer를 사용하자

기타 VNC Viewer
  https://www.tightvnc.com/


2. 각 기타 설정 변경 

  • Display 화면의 Resolution 변경 
GUI에서 아래와 같이 본인이 원하는 Resolution으로 변경을 해주자.

  Preferences->Raspberry Pi Configuration->System->Set Resolution

  Default(720x480)
  1920x1080으로 변경


아래와 같이 Full HD로 변경 우측에 VNC 및 WIFI 부분을 확인 가능


아래와 같이 다양한 옵션이 있으니, 가급적 아래와 명령어로 수정을 하자.
상위 모든 수정은 아래의 raspi-config에서 가능하다.

  • 시간과 지역설정 
일단 아래와 같이 시간만 설정을 해보고, WIFI-Country도 기본설정을 하자.

TimeZone 
 - Area : Asia
 - Location: Seoul

  • GUI에서 지역 및 시간 설정 
   Preferences->Raspberry Pi Configuration->Localisation

  • Terminal에서 설정 
$ sudo raspi-config 
 Localisation Options
     -> I1 Change Locale             // Language 설정 , Korea , UTF8 설정  
     -> I2 Change Timezone           // Timezone       
     -> I3 Change Keyboard Layout    // Keyboard 설정 
     -> I3 Wi-fi Country             // WIFI Country 변경