1. 라즈베리파이 설치 및 SSH 설정

0
4335

본 포스팅에서는 라즈비안 OS를 라즈베리파이2에 설치하고 라즈베리파이2를 원격에서 제어 및 파일 관리를 하기 위한 과정을 설명한다.

라즈비안 OS 다운로드

라즈베리파이 이지지 다운로드에 접속하면 라즈베리파이2에 사용하기 위한 OS 이미지를 다운로드 할 수 있다. NOOBS와 RASPBIAN이 공식적으로 지원하는 버전이며, 3rd Patry로 Ubuntu 및 Windows 10을 지원하는 것을 확인 할 수 있다.

20151215_154527

본 포스팅에서는 RASPBIAN JESSIE OS를 사용할 예정이므로 아래 그림과 같이 JESSIE를 다운로드 버튼을 클릭 한다. 본 실습에서는 JESSIE LITE를 사용하였다. 4G SD Card에서는 JESSIE FULL 버전을 사용하기에는 용량이 조금 부족하다.

RASPBINA DOWNLOAD SITE (RASPBIAN JESSIE FULL ) (RASPBIAN JESSIE LITE )

20151215_154757

SD 카드에 라즈비안 OS 이미지 만들기

라즈베리파이2는 SD Card를 파일 시스템으로 하여 구동되며, SD Card에 OS 이미지를 만들기 위해서는 별도의 툴이 필요하다.

윈도우에서는 Win32diskmanager를 이용하면 어렵지 않게 이미지를 만들 수 있다.

다운로드 한 툴을 실행한 후, 앞에서 받은 라즈비안 OS와 SD Card의 경로를 입력하고 Write 버튼을 클릭하면 끝이다.

20151014_100558

이미지 생성이 완료되면, 라즈베리파이에 SD 카드를 장착하고 전원을 인가하면 초기 설정은 끝이다.

라즈베리파이 개발 환경 구축

라즈베리파이 기반에서 개발하기 위한 환경은 크게 3가지로 나눌 수 있다.

  1. HDMI Monitor를 이용하는 방법
  2. USB to Serial을 이용하는 방법
  3. SSH를 이용하는 방법

위 개발 환경에 대한 자세한 설명은 링크를 참고 하기 바란다. ( 단, 링크된 블로그에서는 라즈베리 파이1 기반으로 설명되어 있으니 유의 하기 바람. )

본 포스팅에서는 2번 방법을 사용하여 PC에서 라즈베리파이를 제어할 생각이다. 먼저 2번 방법을 이용하기 위해서는 USB to Serial이 필요하다. ( USB to Serial이 없다면 1번 방법을 이용하여 개발 하기 바란다. )

아래 그림을 보면 06(GND),08(GPIO14),10(GPIO15)가 Serial Monitor용 핀으로 사용되는 것을 알 수 있다.

GPIO_Pi2

RP2_Pinout

image

아래 그림과 같이 라즈베리파이의 GND와 USB to Serial의 GND를 연결하고, 8(GPIO14)을 USB to Serial의 RX 핀에 10번 핀을 USB to Serial의 TX핀에 연결한 후 전원을 인가하면 라즈베리가 부팅되는 로그 메시지를 시리얼 터미널에서 확인 할 수 있다.

20151215_161617

라즈비안의 초기 아이디와 비밀번호는 아래와 같다. 아이디 : pi 비밀번호 : raspberry

20151215_161821

vim 설치

$ sudo apt-get install vim

Filesystem 확장

pi@raspberrypi:~$ df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/root       1.3G  967M  226M  82% /
devtmpfs        459M     0  459M   0% /dev
tmpfs           463M     0  463M   0% /dev/shm
tmpfs           463M  6.2M  457M   2% /run
tmpfs           5.0M  4.0K  5.0M   1% /run/lock
tmpfs           463M     0  463M   0% /sys/fs/cgroup
/dev/mmcblk0p1   60M   20M   41M  34% /boot
pi@raspberrypi:~$

위와 같이 df 명령을 이용하면 라즈베리파이의 현재 사용하고 있는 Filesystem의 용량을 확인 할 수 있다. 근데 아래 결과를 보면 내 SD Card는 4G인데 사용 할 수 있는 총 사이즈가 1.4G 밖에 안된다. raspi-confi를 이용하면 Filesystem을 확장하기 위한 기능을 제공하는데 이를 이용하면 문제는 해결된다. Filesystem를 확장하기 위한 방법은 아래와 같다.

$ sudo raspi-config

위 명령을 실행한 후, 1 Expand Filesystem -> OK를 선택하면 Filesystem Size가 확장된다.

20151218_083248

20151218_083546

pi@raspberrypi:~$ df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/root       3.6G  967M  2.5G  28% /
devtmpfs        459M     0  459M   0% /dev
tmpfs           463M     0  463M   0% /dev/shm
tmpfs           463M  6.2M  457M   2% /run
tmpfs           5.0M  4.0K  5.0M   1% /run/lock
tmpfs           463M     0  463M   0% /sys/fs/cgroup
/dev/mmcblk0p1   60M   20M   41M  34% /boot
pi@raspberrypi:~$

SSH를 통한 라즈베리파이 원격제어

이미 앞 섹션에서 USB to Serial을 이용하여 라즈베리파이를 원격제어 했지만,다음 챕터 부터는 Ethernet을 이용하여 원격제어 하려고 한다. (USB to Serial이 없는 경우를 대비) Ethernet을 이용한 원격제어 방법은 Telnet, SSH 등 다양한 방법이 있지만, 본 포스팅에서는 SSH Server를 구동하여 라즈베리파이를 원격제어 하기 위한 방법을 설명한다.

SSH란

SSH는 Secure Shell의 약자로, 네트워크 상의 다른 컴퓨터에 로그인하거나 원격 시스템에서 명령을 실행하고 다른 시스템으로 파일을 복사 할 수 있도록 해주는 응용 프로그램 또는 그 프로토콜을 가리킨다. 기존의 rsh, rlogin, 텔넷 등을 대체하기 위해 설계되었으며, 강력한 인증 방법 및 안전하지 못한 네트워크에서 안전하게 통신을 할 수 있는 기능을 제공한다. 기본적으로는 22번 포트를 사용한다.

(자세한 내용은 위키백과 참고)

SSH Server Enable

다른 OS 이미지의 경우 SSH Server가 설치되어 있지 않아 설치 부터 해야 하는 경우도 있지만, 라즈비안의 경우 SSH Server가 이미 설치되어 있고 이를 설정하기 위한 Command도 제공하고 있다.

pi@raspberrypi:~$ sudo raspi-config

위 명령을 입력 한 후, 9(Advanced Options) -> A4 SSH -> Enable 을 선택하면 SSH Server를 구동 할 수 있다.

20151215_171049

20151215_171209

20151215_171221

라즈베리파이의 IP 주소 확인

pi@raspberrypi:~$ sudo ifconfig
pi@raspberrypi:~$ sudo ifconfig
eth0      Link encap:Ethernet  HWaddr b8:27:eb:ee:bc:e8  
          inet addr:192.168.0.100  Bcast:192.168.0.255  Mask:255.255.255.0
          inet6 addr: fe80::400:765c:d4b4:f6af/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:7178 errors:0 dropped:0 overruns:0 frame:0
          TX packets:452 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:438189 (427.9 KiB)  TX bytes:47107 (46.0 KiB)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:200 errors:0 dropped:0 overruns:0 frame:0
          TX packets:200 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:16656 (16.2 KiB)  TX bytes:16656 (16.2 KiB)

pi@raspberrypi:~$

PuTTY를 이용한 원격 접속

(1) 아래 링크에서 PuTTY를 다운로드 받아 실행한다. http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html

20151215_185012

(2) Host Name에 라즈베리파이의 IP 주소를 입력하고 Open 버튼을 누른다.

20151215_185209

(3) 아래와 같이 로그인 화면이 나오면 접속 성공 ( Default ID: pi / Default Password : raspberry )

20151215_185514

SFTP를 이용한 파일 시스템 관리

WinSCP는 Windows용 SFTP 및 FTP 클라이언트 프로그램이고 오픈소스 프리웨어이며 아래 경로에서 다운로드 할 수 있다. WinSCP 다운로드

WinSCP를 다운로드 하고 설치 한 후, 아래 그림과 같이 호스트 이름과 사용자 계정/비밀번호를 입력하면 라즈베리파이의 파일 시스템을 관리 할 수 있다.

20151215_190813

20151215_190722

위 항목들을 모두 정상적으로 설정하면, 이제 부터 라즈베리파이를 원격에서 접속하여 제어 및 파일들을 관리 할 수 있다.

NO COMMENTS

LEAVE A REPLY