글로벌 사물인터넷 표준인 oneM2M 기반으로 개발한 IoT 오픈소스 플랫폼 OCEAN 제2차 기술 세미나에 다녀왔습니다.

OCEAN는 서버용 모비우스(Mobius)와 클라이언트(IoT 기기들)용 &Cube로 구성되어 있습니다. 

한마디로 요약하면 IoT기기의 정보를 모비우스 서버로 전송하고 그걸 다시 가공해서 웹이나 앱으로 레포팅 해주는 것입니다.

OCEAN SITE : www.iotocean.org


기술 세미나 1차는 라즈베리 파이로 진행했다고 하던데 2차는 아두이노 우노로 진행합니다.

1차 세미나는 모르고 지나갔고 우연히 아두이노 스토리 카페 쪽지 보고 2차 세미나를 알게되었습니다.


OCEAN는 2016년 10월 13일 IoT 전시회에서 보기는 했는데 그게 IoT 플랫폼인지 몰랐습니다.


그러다가 11월 쯤 IoT 책을 보다가 '오픈소스 IoT 플랫폼은 왜 없는 것일까?'라는 의문에

검색을 하다가 전자부품연구원에 OCEAN을 알게되었습니다.

어~어~어~~~ 이건.

책꽂이를 뒤지니 IoT 전시회에서 받은 'OCEAN' 팜플렛이 떡하니 있네요 

써보고는 싶었지만 설치 과정이 너무 어려워 보여서 시작도 못하고 있었는데 기술 세미나 한다는 소식에 한달음에 달려갑니다.


▲ 장소는 삼성동 포스코 사거리 북쪽에 있는 잿팟 코워킹스페이스에서 이루어졌습니다.


지도 앱에 번지를 찍고 가니 이 건물쯤인데 …

건물벽에 작게 'ZAG POT'라고 적혀 있습니다.


▲ 지하라고 했는데.. 오른쪽을 보니 지하로 내려가는 곳에 Z.A.G. POT 라고 적혀 있네요.

꼭 다와서 약속 장소 앞에서 헤매는데 이번에는 한번에 찾기 성공 


▲ 넓은 홀…

잿팟이 보험 전문 카페였구나. 근데 카페면 카페지 보험전문 카페는 뭐하는 곳일까?


▲ 조금 일찍와서 앞쪽에 좋은 자리를 잡고 맥북을 컵니다.


▲ 한 동안 안쓴 아두이노 우노가 정상 동작하는지 확인합니다.

어제 밤에 했어야 하는데 IDE만 설치하고 밤 늦게 까지 리뷰 쓰느라고 미쳐 못했습니다.

예제 소스를 업로드 시키는데 어라~~ 업로드가 안됩니다.

급 검색질… 아두이노 통신용 com 포트를 지정 안 했군요. 

다행이 바로 해결하고 정상 동작 확인


▲ 세미나가 시작되고 전자부품연구원(KETI) 성낙명 전임이 자세히 설명해 줍니다.


▲ 아두이노 우노에 잠시 빌린 JSN270 와이파이 쉴드를 붙였습니다.


와이파이 쉴드 라이브러리를 가져오고 컴파일 합니다.

에러를 남발 합니다..

역시 한번에 되면 배우는게 없지요.

에러를 하나 하나 잡고 컴파일 후 아두이노로 업로드 성공


시리얼 모니터링을 해보는데 와이파이 접속을 못하는지 서버로 데이터 전송은 실패.


그렇다치고 서버용 모비우스(Mobius) 세팅도 해봅니다.

뭘 빼먹었는지 쉽지 않습니다.

성공 하지는 못해서 이번주도 주말 숙제가 하나 생겨버렸습니다.

이런 3주째 주말마다 밤 새가면서 다른 숙제를 하고 있네요.

같이 준 자료 보고 서버 세팅을 해봐야 겠습니다.



데비안 계열(유부투, 라즈비안)의 기본 방화벽은 ufw 입니다. 

방화벽 설정은 포트 또는 아이피 단위로 허용, 거부를 설정 할 수 있습니다.


라즈베리 파이에 패키지 관리자 apt-get로 ufw 방화벽을 설치합니다.

sudo apt-get install ufw


설치 후 ufw는 비활성화인 상태이므로 활성화 시키도록 합니다.
sudo ufw enable


비활성화는 ufw disable 입니다.
sudo ufw disable



방화벽 설정 상태를 볼까요?
처음이면 아무것도 없어야 되는데 이라이더는 이미 설정한 값들이 보입니다.
sudo ufw status verbose

Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing)
New profiles: skip

To                         Action      From
--                         ------      ----
Anywhere                   ALLOW IN    아이피
21                         ALLOW IN    Anywhere
22                         ALLOW IN    Anywhere
3306/tcp                   ALLOW IN    Anywhere
21                         ALLOW IN    Anywhere (v6)
22                         ALLOW IN    Anywhere (v6)
3306/tcp                   ALLOW IN    Anywhere (v6)
ufw 의 기본룰은 들어오는 패킷은 전부 거부(inbound deny), 나가는 패킷은 전부 허용(outbound allow) 입니다. 기본 룰을 확인해 볼까요?
sudo ufw show raw

엄청 복잡하게 나옵니다.
알아보고 힘들고 간단하게 보고 싶으면 sudo ufw status verbose 명령으로 확인하세요


기본 정책의 inbound deny 정책이 맘에 안들 겁니다.
그래서 기본 정책을 차단 시킵니다.
sudo ufw default deny

반대로 기본 정책을 허용하려면 sudo ufw default allow 합니다.


어떤 포트를 열어야 될지 알아보고 위해 현재 열려 있는 포트를 확인해봅니다.
netstat -nap | grep LISTEN



방화벽 허용은 ufw allow 이고 거부는 ufw deny 입니다.

이제 방화벽에 특정 포트를 허용하는 명령입니다.
sudo ufw allow /

21번 포트를 허용해볼까요? (tcp/udp 모두 허용합니다)
sudo ufw allow 21



21번 포트의 tcp만 허용해볼까요?
sudo ufw allow 21/tcp


21번 포트의 udp만 허용해볼까요?
sudo ufw allow 21/udp



거부 명령은 allow 를 deny 로 바꾸면 됩니다.
sudo ufw deny 21/udp



서비스 포트 번호를 모르겠다면 서비스로 등록도 가능합니다.
sudo ufw

서비스 네임을 확인하는 명령입니다.
less /etc/services



특정 아이피(IP) 192.168.1.2를 허가하고 싶으면
sudo ufw allow from 192.168.1.2


특정 아이피(IP)의 tcp, 21 포트를 허가하고 싶으면
sudo ufw allow from 192.168.1.2 to any port 21 proto tcp


특정 아이피(IP)의 모든 프로토콜, 21 포트를 허가하고 싶으면
sudo ufw allow from 192.168.1.2 to any port 21



등록한 룰을 잘못 입력했다면 삭제합니다.
sudo ufw delete allow 21/tcp 



이외에도 파일을 직접 편집하는 방법도 있습니다.
vi 에디터로 적은 이유는 vi 사용법을 모르는 사람은 함부로 건들지 말라는 뜻입니다.
sudo vi /etc/ufw/before.rules 


이 포스팅을 끝으로 라즈베리파이 기본 설정을 마치도록 하겠습니다.

마지막으로 원격 그래픽 접속 방법인 VNC(Virtual Network Computing : 가상 네트워크 컴퓨팅)를 소개합니다.

 

라즈베리파이 데스크톱(GUI) 환경으로 접속하기 위해서는 VNC를 설치하고 접속해야 합니다.

당연히 파이 부팅시 데스크탑 환경이 실행되고 있어야 합니다.


앞의 raspi-config 설정 마지막 고급옵션에서 VNC 사용으로 설정해야 합니다.

아직 설정 안 했다면 이전 포스팅(raspi-config 편)을 참고하세요



▲ 이제 윈도우 pc 에서 VNC viewer 를 설치해볼까요


https://www.realvnc.com/ 페이지에서 접속하여 하단의 DOWNLOAD에 'VNC VIEWER'를 누릅니다.

기본 ‘Windows’가 선택되어 있고 64비트 실행파일을 받으려면  ‘EXE x64’ 눌러 다운로드합니다.





▲ 다운로드가 완료되면 실행합니다.

라이선스 내용을 잘 읽어 보고 동의합니다.


▲ 정보 제공할 거냐 하면 잘 생각해보고 제공하거나 안 하거나 선택한 후 다음을 누릅니다.


▲ 상단의 ‘Enter a VNC server address or search’에 접속할 파이의 아이피나 도메인을 입력합니다.



로그인 화면이 나오고 파이에 접속할 수 있는 아이디와 비밀번호를 입력합니다.

 그럼 파이의 화면을 VNC VIEWER를 통해 볼 수 있습니다.



만약 방화벽 설정에 문제가 없고 VNC에서 사용하는 5900 포트도 정상적으로 열려 있는데 접속이 안 된다면 파이 설정에서 VNC를 활성화 시켰지 않았거나 데스크톱이 실행이 안 되어 있을 수 있으니 그쪽을 확인해 보세요.



2016/11/15 - [Program/IoT (사물인터넷)] - 개발자들의 장난감 초소형 pc 라즈베리파이3 (Raspberry Pi 3) 소개

2016/11/16 - [Program/Linux] - 리눅스 데비안 패키지 매니저 apt 사용법 (apt_get, apt-cache, apt-file)

2016/11/17 - [Program/IoT (사물인터넷)] - 라즈베리파이 3(raspberry pi 3) 라즈비안(RASPBIAN) OS 설치

2016/11/18 - [Program/IoT (사물인터넷)] - 라즈베리파이 3 구입하면 필수적인 raspi-config 세팅하기 (기본 설정)

2016/11/21 - [Program/IoT (사물인터넷)] - 라즈베리파이 3 한글 설정 및 한글폰트 설치

2016/11/22 - [Program/IoT (사물인터넷)] - 라즈베리파이 3 유선랜 고정아이피 세팅


라즈베리파이 3 유선랜은 기본적으로 DHCP 서버에서 자동으로 아이피를 가져오도록 설정되어 있습니다.

그래서 대부분 인터넷공유기를 사용하는 가정에서는 랜 선을 연결만 하면 바로 사용할 수 있습니다.


그런데 이를 고정 아이피로 설정하려면 두 가지 방법이 있습니다.

첫째, 파이에서 고정 아이피로 설정합니다.

두 번째, 공유기 DHCP Server에서 파이에 자동으로 할당한 아이피가 다음에 변경되지 않도록 설정하는 방법입니다.


두 번째 방법은 파이에서 별도의 설정이 필요하지 않고 공유기 설정만 변경하면 되니 좋습니다만, 개인 공유기가 아닌 환경에서는 사용할 수 없는 방법입니다.


그럼 첫 번째 방법을 알아봅니다.

인터넷을 통해 ‘라즈베리파이 고정 ip’로 검색해보면 한결같이 이런 답변을 받을 수 있습니다.
sudo nano /etc/network/interfaces 파일을 열어서 다음처럼 수정 합니다. (nano 또는 vi 에디터 아무거나 써도 됩니다)



auto eth0
allow-hotplug eth0
ifce eth0 inet static
address 192.168.0.101
netmask 255.255.255.0
gateway 192.168.0.1
저장하고 재부팅을 하면 됩니다.

▲ nano 에디터로 열어 봅니다.

이라이더도 vi 에디터를 아주 잘 다루지는 못하더라도 습관적으로 vi를 입력하지만 초보에게는 nano가 편합니다. 아무거나 자신이 편한 에디터 사용하면 됩니다.


 nano는 리눅스 에디터에 익숙하지 않아도 직관적으로 수정하고 저장할 수 있습니다.

저장은 control + x를 동시에 누르고 yes 선택하고 엔터 누르면 끝.


 vi 에디터로 열어봅니다.

실제 vi 에디터가 리눅스나 유닉스, MAC OS X에서 사라진 지 오래입니다. 

명령을 vi로 입력해도 실제로는 vim 에디터가 열립니다.


 수정하려고 커서를 이동하고 키보드를 아무리 눌러도 수정이 안될 겁니다.

막 누르다 보면 갑자기 수정되기 시작할 텐데요. 어떻게 사용하는지 난감하죠!

수정을 위해서는 'i'를 눌러 원하는 부분을 수정, 추가, 삭제하고 ESC 키  ':wq'를 순서대로 누르면 저장됩니다.

수정 없이 나가기는 ESC 키 ':q!' 입니다.

익숙해지면 편하지만 모르겠으면 그냥 nano 사용하세요


팁 : vi 에디터 키보드 입력 오류


vi 에디터에 하나의 문제가 있는데요.

vi로 파일을 열고 화살표 키를 누르면 커서가 이동해야 하는데 이동이 안 되고 'i'키도 동작 안 해서 글을 수정하거나 저장할 수 없는 문제입니다.

이는 미니 키보드를 사용하는 노트북에서 발생할 수 있습니다.

이를 해결하려면 키보드 호환성을 꺼버려야 합니다.


vi에서 :set nocompatible 명령을 사용하면 정상적으로 동작합니다.


매번 vi 접속해서 vi 열 때마다 하기 힘드니 본인 계정에 자동으로 동작하도록 해놓으세요


방법은 

cd ~ (접속한 계정의 홈 디렉터리로 이동합니다)

vi .vimrc  (숨김 파일인 .vimrc 파일을 만듭니다. vi로 입력이 불가하면 nano로 합니다.)

:set nocompatible  (문서 내용에 다음과 같이 입력하고 저장합니다. 저장은 Esc, ':wq')





이렇게 했을 때 동작했으면 e라이더가 이 글을 포스팅하지도 않았습니다.


자 무엇이 문제일까요?


열심히 구글링하다가 다음 페이지에서 하나의 댓글을 발견합니다.

http://raspberrypi.stackexchange.com/questions/37920/how-do-i-set-up-networking-wifi-static-ip


The Raspbian released in May 2015 changed the way networking (and particularly WiFi) works.

‘This applies to the current Foundation releases of Raspbian Jessie and the last Raspbian Wheezy 2015-05-05’


네. 답은 이거였습니다.


이제는 /etc/network/interfaces 파일이 아닌 /etc/dhcpcd.conf 파일을 수정해야 합니다.



 sudo vi /etc/dhcpcd.conf 명령을 통해 파일을 오픈합니다.


파일 끝부분에 다음처럼 추가합니다.

interface eth0
       static ip_address=192.168.1.101
       static routers=192.168.1.1
       static domain_name_servers=168.126.63.1
       static netmask=255.255.255.0

그리고 재부팅을 하면 이제 정상적으로 고정 아이피로 라즈베리 파이 3를 사용할 수 있습니다.



 vi 에디터 명령어 사용법을 잘 모르겠다고요.

그럼 좀 더 편한 nano 에디터를 사용해도 됩니다.


Nano 에디터로 열어보니 더 직관적이죠

 



2016/11/21 - [Program/IoT (respberry pi, Arduino)] - 라즈베리파이 3 한글 설정 및 한글폰트 설치

2016/11/18 - [Program/IoT (respberry pi, Arduino)] - 라즈베리파이 3 구입하면 필수적인 raspi-config 세팅하기 (기본 설정)

2016/11/17 - [Program/IoT (respberry pi, Arduino)] - 라즈베리파이 3(raspberry pi 3) 라즈비안(RASPBIAN) OS 설치

2016/11/16 - [Program/Linux] - 리눅스 데비안 패키지 매니저 apt 사용법 (apt_get, apt-cache, apt-file)

2016/11/15 - [Program/IoT (respberry pi, Arduino)] - 개발자들의 장난감 초소형 pc 라즈베리파이3 (Raspberry Pi 3) 소개


  1. cmdline 2016.12.02 20:34

    이 방법말고 sd카드를 컴퓨터로 읽어서 cmdline파일에 직접 아이피를 추가하는 방법도 있던데 결국 똑같은 건가요?

    • 이라이더 2016.12.04 09:27 신고

      SD 카드를 컴퓨터에서 읽어서 아이피를 추가해도 동일합니다.

      그런데 SD카드를 윈도우에서 읽으면 파일시스템이 FAT 호환방식인 boot 파티션만 읽을 수 있습니다. 리눅스 파일시스템인 EXT 부분을 읽으려면 별도의 프로그램을 설치하거나 리눅스를 깔아야 되죠.

      SD 카드를 리눅스에서 열면 바로 편집이 가능하겠지만 그렇게 하려면 그냥 라즈베리파이에서 바로 수정하고 확인하는게 빠르죠.

이전 포스팅에서 라즈비안 OS까지 설치가 완료되었습니다.


그대로 따라 했다면 언어와 국가를 한글과 한국으로 설정했는데 한글이 안 나오는 문제를 경험했을 겁니다.


라즈베리파이에서 한글을 사용하기 위해서는 한글 폰트를 설치해야 합니다.

그럼 따라 해볼까요


터미널을 열고 다음 명령을 순서대로 입력합니다.

2019년 7월 8일 울트라초보님과 허참님의 댓글 조언으로 내용 추가합니다.


라즈비안 OS 버전에 따라 

sudo apt-get install ttf-unfonts-core

이 명령어에서 에러가 발생하면


다음 명령으로 변경해서 해보세요

sudo apt-get install fonts-unfonts-core


한줄로 할때는 다음과 같이 하세요 

sudo apt-get update ibus ibus-hangul fonts-unfonts-core

sudo apt-get update
sudo apt-get install ibus
sudo apt-get install ibus-hangul
sudo apt-get install ttf-unfonts-core


위처럼 각각 적어도 되고 다음과 같이 한 줄에 적어도 됩니다.

sudo apt-get update ibus ibus-hangul ttf-unfonts-core


▲ 참 쉽죠?



단, 라즈베리파이 3에 모니터와 키보드를 연결한 상태에서 기본 터미널 창에서는 한글이 깨져서 ‘ㅁㅁㅁ' 이런 식으로 보입니다.


한글이 제대로 보이는 환경은 데스크탑(startx)에서 콘솔 창을 열거나 외부에서 SSH로 접속했을 때 한글이 깨지지 않고 보입니다.



2016년 11월 22일(화) 내용 추가 합니다.


네이버 라즈베리파이 카페의 '매발톱'님이 터미널에서 한글 사용법을 알려주셨습니다.

'매발톱'님에게 다시 한번 감사드립니다.


원본은 링크를 같이 첨부합니다. 상세한것은 원글을 참조하세요

http://ders45.blogspot.kr/2015/09/blog-post.html


간략히 정리하면 한글을 보려면 fbterm 설치후 실행하면 됩니다.

sudo apt-get install fbterm



한글을 입력하려면 uim-fep, uim-byeoru를 설치하고 uim-fep를 실행하면 됩니다.

sudo apt-get install uim-fep, uim-byeoru 


한영 전환은 Shift + space bar 입니다.

한영 전환키 변경과 폰트 변경법은 원문을 참고 하세요


 또는 외부에서 SSH 쉘 프로그램으로 접속하면 정상적으로 보이는 걸 확인 할 수 있습니다.


데스크탑에서 한글과 영문 전환은 Shift + space bar입니다.

윈도우에서 putty 같은 쉘로 접속할 때는 윈도우 한글 전환키 설정에 따릅니다.

매킨토시(mac : 맥)에서 터미널로 접속할 때도 MAC OS X의 기본 설정에 따릅니다(Command + space bar)



2016/11/18 - [Program/Raspberry Pi] - 라즈베리파이 3 구입하면 필수적인 raspi-config 세팅하기 (기본 설정)

2016/11/17 - [Program/Raspberry Pi] - 라즈베리파이 3(raspberry pi 3) 라즈비안(RASPBIAN) OS 설치

2016/11/16 - [Program/Linux] - 리눅스 데비안 패키지 매니저 apt 사용법 (apt_get, apt-cache, apt-file)

2016/11/15 - [Program/Raspberry Pi] - 개발자들의 장난감 초소형 pc 라즈베리파이3 (Raspberry Pi 3) 소개


  1. 도와주세요ㅠ 2016.12.02 17:04

    위에처럼 따라 했는데
    Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?
    이런 메세지가 뜨면서 한글설치가 안되는것 같습니다.
    어떻게 해야 할까요...?

    • 이라이더 2016.12.04 09:40 신고

      1. 라즈베리파이에서 인터넷이 접속이 정상적으로 되는지 먼저 확인하세요. (매우 중요)

      2. sudo apt-get update
      명령이 정상적으로 실행이 됐는지 확인하세요


      2번까지 했는데도 안되면

      3. sudo nano /etc/apt/sources.list
      파일을 열어서 다음 처럼되어 있는지 확인합니다. (밑의 예는 jessie 버젼입니다)
      "deb http://mirrordirector.raspbian.org/raspbian/ jessie main contrib non-free rpi"

      4. sudo apt-get clean
      apt repo 를 초기화 합니다.

      5. sudo apt-get update
      다시 apt 업데이트 합니다.

      이렇게 해보세요

  2. 도와주세요ㅠ 2016.12.05 13:45

    감사합니다! 무선랜이 제대로 안잡혀있어서 업데이트가 안됐나보네요...

    제 라즈베리파이가 무선망을 잡긴 잡는데 갑자기 끊기기도 하고 부팅하고 한 5분정도는 기다려야 그때서야 무선망을 잡는데

    무선연결이 불안불안하네요ㅠ

    혹시 무선랜 설정하는 부분 좀 알려주실수 있으신가요?

    우선 interfaces 파일을 이렇게 설정했습니다.
    sudo nano /etc/network/interfaces

    # interfaces(5) file used by ifup(8) and ifdown(8)

    # Please note that this file is written to be used with dhcpcd
    # For static IP, consult /etc/dhcpcd.conf and 'man dhcpcd.conf'

    # Include files from /etc/network/interfaces.d:
    source-directory /etc/network/interfaces.d

    auto lo
    iface lo inet loopback

    allow-hotplug wlan0
    iface wlan0 inet dhcp
    wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf

    그리고 wpa_supplicant.conf 파일입니다.
    trl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
    update_config=1
    country=GB

    network={
    ssid="네트워크 이름"
    psk="비밀번호"
    key_mgmt=WPA-PSK
    }

    이렇게 설정했습니다.

    혹시 이 설정이 잘못되어서 문제가 발생하는 걸까요...?

  3. 슝슝 2017.07.16 14:29

    안녕하세요.

    친절하게 블로그설명을 통해 잘 설치를 따라했습니다. 감사합니다.

    그런데 이상하게 저는 한글을 타자치면

    ㅎㅏㄴㄱㅡㄹ 이런식으로 각 모음자음마다 표시가되는데 혹시 이러한 문제에대해 아시는 바가있으신가요???

    이것저것방법을 써도 해결이안되네요 ㅠㅠ

  4. 개발자 지망생 2017.08.30 12:34

    sudo apt-get update ibus ibus-hangul ttf-unfonts-core 이 부분만 죽어라 안되는데요...
    명쾌한 답변이 없어요 구글링 해두요
    한글은 다 사각형으로 출력 되버리고

    • 이라이더 2017.09.11 00:18 신고

      질문을 할때는 어떻게 안된다고 에러메세지라도 적어주세요.

      "이 부분만 죽어라 안되는데요" 라고 적으면 뭐가 어떻게 안된다는건지 알아볼 사람이 몇명이나 될까요?

      그리고 한글이 사각형으로 나오는건 본문에도 언급했고 그 해결책도 같이 적었는데 그렇게 해도 안된다는 건가요?

  5. 울트라초보 2017.10.11 10:03

    저도 한글설치 에러가 떠서 서치해보니 명령어가 바뀌었다고 하네요
    sudo apt-get install fonts-unfonts-core
    쳐보시고 리붓하니 해결되었습니다

    • 이라이더 2017.10.17 13:49 신고

      명령어가 바뀌었군요.
      알려주셔서 감사합니다.

    • 허참 2019.07.06 16:10

      이라이더님, 그럼 본문을 수정 하시든가...

    • 이라이더 2019.07.08 15:27 신고

      조언 감사합니다.
      본문에 관련 내용 추가했습니다.

앞 포스팅에서 라즈베리파이 3에 라즈비안 OS 설치까지 진행 했습니다.
못보신 분들은 이전 포스팅(http://www.erider.co.kr/138)을 참고 하세요.

 

 

이제 부팅을 하고 기본적인 언어와 국가 등의 세팅을 해보도록 하겠습니다.

 

라즈베리 파이 3를 부팅 후 로그인합니다.
기본 아이디 pi / 비밀번호 raspberry로 설정 되어 있습니다.

 

최소 설치 시 배포판 버전에 따라서 초기화면이 터미널(쉘, 콘솔, 커맨드 라인) 모드일 수도 있고 데스크탑(GUI: 그래픽 유저 인터페이스) 모드 일 수도 있습니다.

데스크탑 모드이면 마우스나 키보드를 이용해서 터미널을 실행 후 명령을 입력하면 됩니다.

 

 

커맨드 창에 다음을 입력하여 설정으로 들어갑니다.

sudo raspi-config

 

 

 

 

1. 초기 화면 설명

 

 

▲ 위와 같은 초기 화면이 뜹니다. (자세한 것은 밑에 별도로 설명)

1). 파일 시스템 확장 (4기가 이상의 SD 카드라면 필히 해줘야 합니다.
2). 비밀번호 변경 (최고 비밀번호는 대부분의 사람이 알고 있으니 꼭 변경 해야 합니다)
3). 부트 옵션 (상세 설명은 밑에)
4). 국제화 옵션 (국가, 키보드 설정 등)
5). 카메라 사용 (카메라를 연결 시 사용으로 변경)
6). 오버클럭
7). 고급 옵션
8). raspi-config 설명

 

명령의 이동은 키보드의 상, 하 화살표 키를 이용하고 선택은 ‘Enter 또는 Return’ 키를 이용합니다.
<Select>, <Finish> 등 메뉴간 이동은 키보드의 ‘Tab’ 키를 이용합니다.

 

 

 

2. 파일 시스템 확장 (Expand Filesystem)

라즈비안 OS 이미지는 4GByte 에 맞춰서 있고 그보다 SD 용량이 크더라도 활용을 하지 않습니다.

이것이 무슨 뜻인가 하면 32기가 SD 카드에 라즈비안 OS를 설치해도 4기가 밖에 사용할 수 없다는 얘기입니다.

 

이는 배포 시 용량을 줄이기 위한 목적도 있고 교육용으로 개발된 보드라 저렴한 4기가의 Micro SD 카드에서도 실행 할 수 있는 목적도 있는 것 같습니다. 하지만 요즘 SD 카드 가격이 싸서 4기가를 사용하는 사람은 거의 없을 겁니다.

 

그래서 SD카드의 나머지 용량을 쓸 수 있도록 확장을 해줘야 합니다.
Raspi-config 에서 첫번째로 있는 항목으로 Expand Filesystem 를 선택하고 엔터를 누룹니다.

 

▲ 화면과 같이 “Root partition has been resized. ……” 라고 나오고 다음 부팅 시부터 사용할 수 있다네요
밑의 ‘<확인>’ 이 선택되어 있으니 엔터를 누르면 파일 시스템을 확장하고 재부팅하면 이후로 SD카드의 모든 용량을 사용 할 수 있습니다.

 

여기서 잠깐.

이라이더는 이미 언어와 국가를 한글과 한국으로 선택하고 한글 폰트를 선택해서 한글로 나오는 것입니다.

아직 언어 선택과 한글 폰트가 설치되지 않았다면 영어로 나오는 것이 정상입니다.
한글 폰트 설치는 별도로 포스팅 합니다.

 

 

 

 

 

3. 비밀번호 변경 (Change User Password)

라즈베리파이의 초기 아이디와 비밀번호는 인터넷으로도 쉽게 검색해볼 수 있습니다.

이 포스팅에만 해도 위에 초기 비밀번호를 친절하게 적어 뒀습니다.
누군가가 파이의 아이피만 알고 있다면 언제든 로그인하여 맘대로 바꾸거나 시스템을 망가트릴 수 있습니다.

 

그래서 비밀번호는 꼭 변경 해야 합니다.

Change User Password 누릅니다.

 

▲ 다음과 같은 화면이 나오고 명령 프롬프트에서 새로운 비밀번호를 입력합니다.
꼭 여기서 안 바꾸고 비밀번호 변경 명령으로도 바꿀 수 있습니다.

 

 

 

 

4. 부트 옵션 (Boot Options)

Boot Options을 누릅니다.


다음과 같은 화면이 뜹니다. 여기서 설정해야 할 것은 대부분 B1 Desktop / CLI 하나 입니다.

B1 Desktop / CLI
B2 Wait for Network at Boot
B3 Splash Screen


 

▲ B1 Desktop / CLI 누릅니다.

 

 

▲ 그럼 부팅 시 보여질 화면 4개 중에 하나를 고르라고 합니다.


B1 Console : 명령 프롬프트 창이 나오고 로그인 하라고 합니다.
B2 Console Autologin : 명령 프롬프트 창이 나오지만 pi 아이디로 자동 로그인 된 상태 입니다.
B3 Desktop : 데스크탑(GUI) 창이지만 로그인 하라고 합니다.
B3 Desktop Autologin : 데스크탑(GUI) 창이 나오고 자동 로그인 된 상태 입니다.

 

 

뭘 선택해야 할까요?

주로 서버용으로 로컬에서 접속하는 일이 거의 없고 SSH를 통해 원격으로 접속한다면 ‘Console’ 또는 ‘Console Autologin’를 선택하면 됩니다.


데스크용으로 사용한다면 ‘Desktop Autologin’ 정도가 무난할 것 같습니다.

 

 

 

 

5. 국제화 옵션 (Internationalisation Options)

언어, 국가, 키보드 등을 설정하는 메뉴입니다.

라즈베리파이는 영국에서 만들었기에 기본적인 세팅이 전부 영국으로 되어 있습니다. 이를 한국에 맞게 설정해야 합니다.

 

 

▲ Internationalisation Options를 누르면 다음과 같은 메뉴가 나옵니다.

I1 Change Locale : 지역(언가, 국가) 선택
I2 Change Timezone : 시간대 선택
I3 Change Keyboard Layout : 키보드 선택
I4 Change Wi-Fi Countiry : 와이파이 국가 선택 (절대 건들지 마세요)

 

 

 

5. 1. 지역을 선택하기 위해서 Change Locale 누르면 다음과 같은 화면이 나옵니다.

 

▲ 이라이더는 한글이 이미 설치 되어서 설명이 한글로 나옵니다만 처음인 분은 영어로 출력될 것입니다.

키보드의 화살표키나 page up, page down 키를 이용해서 스크롤을 중간쯤에 있는 'ko_KR.UTF-8 UTF-8'을 선택하고 확인을 누릅니다. 
이라이더는 나중을 위해서 'ko_KR. EUC-KR EUC-KR'도 같이 선택했습니다.


'ko_KR' 의 앞의 'ko'는 언어로 한글이고 뒤의 'KR'은 국가로 한국을 나타냅니다.


그 위의 'UTF-8' 은 문자를 인코딩하는 방식으로 국제적인 호환성을 위해서 UTF-8을 선택합니다.

 

 

 

▲ 확인을 누르면 조금 전에 선택한 것 중 하나를 선택하면 됩니다.

여기서는 당연히 'ko_KR.UTF-8 UTF-8'를 선택해야 합니다.

 

 

 

5. 2. 시간대를 선택하기 위해 Change Timezone를 누릅니다.

 

▲ 한국은 'Asia' 에 있겠죠!

 

 

▲ 같은 나라도 도시별로 시간이 다를 수 있기 때문에 대부분 나라가 아닌 도시로 선택합니다.


'Seoul'을 선택하면 되겠죠.  혹시 시스템에 서울이 없으면 같은 시간을 사용하는 일본 도교를 선택해도 됩니다.

 

 

 

5. 3. 키보드를 선택합니다. Change Keyboard Layout

키보드는 화면을 별도로 캡쳐 하지 않았지만 한글이 지원되는 표준 103키보드나 기본으로 제시하는 값을 선택하면 됩니다.

 

 

 

5. 4. 와이파이 지역 설정합니다. Change Wi-Fi Countiry

라즈베리파이 3 부터 블루투스 4.1 (BLE: Bluetooth Low Energy)와 WiFi (802.11n)를 지원하면서 추가된 메뉴 같습니다.

그런데 와이파이는 국가마다 채널이 조금씩 다릅니다. 그래서 해당 국가에 맞게 설정할 수 있는 메뉴입니다만 기본 영국으로 되어있는 것을 한국으로 변경하면 wifi가 동작하지 않습니다.

그래서 절대로 이 부분을 한국으로 변경하면 안됩니다. (글을 쓰고 있는 2016년 11월 17일 현재배포판의 일시적인 버그일 수 있습니다.)

 

 

 

 

6. 카메라 사용(Enable Camera)

파이용 별도의 카메라를 연결 시 사용 유무를 선택 할 수 있습니다.
카메라가 없더라도 사용으로 선택해도 별 문제는 없습니다.

 

 

 

 

7. 오버클럭 (Overclock)
CPU 클럭이나 전압을 올리거나, 램 클럭을 강제로 올릴 수 있는 메뉴입니다.

 

▲ 파이 2에는 오버클럭을 설정할 수 있는데 파이 3에는 오버클럭 자체가 안되네요.

혹시 오버한 상태에서 재부팅이 안되면 shift 키를 누른 상태로 부팅하면 오버클럭이 안된 상태로부팅되니 설정에서 다시 하향 조정하면 됩니다.

 

 

 

 

8. 고급 옵션 (Advanced Option)
고급옵션에서 설정해야 할 것은 hostname, memory split, ssh, vnc을 설정하면 됩니다.

 

▲ 고급옵션 설정 화면

 

 

 

8. 1. 오버스캔 (Overscan)
화면 출력이 짤리거나 작게 나올 때 조정하는 옵션입니다.
HDMI로 연걸하면 자동으로 인삭하기에 아주 오래된 모니터가 아닌 이상 변경할 일이 없습니다.

 

 

 

8. 2. 호스트 네임 (Hostname)
네트워크에서 컴퓨터의 이름입니다.

▲ 윈도우 탐색기 검색경로에서 보통 IP인 '\\192.168.0.1' 이런식으로 찾기도 하지만 호스트 네임인 '\\erider_notebook' 이런식으로 찾기도 합니다. 이때 사용하는 것이 호스트 네임입니다.

 

윈도우와 리눅스는 파일 시스템이 달라서 윈도우 탐색기에서 직접 호스트네임으로 접근할 수 없습니다.

 

이때는 리눅스에 삼바(samba) 같은것을 설치하면 윈도우 탐색기에서 다른 윈도우 pc의 하드를 검색하는 방법과 동일하게 사용할 수 있습니다.

 

그런데 좀 느린게 단점이죠 

 

 

 

 

▲ 네트워크에서 중복되지 않는 이름으로 설정합니다.

 

 

 

 

8. 3. Memory Split

라즈베리파이 3는 메모리가 1기가 입니다.
와우~~ 요즘 회사 업무용 pc도 보통 4기가 또는 8기가를 기본으로 탑재하니까 상당히 작죠?

그 작은 메모리도 cpu 혼자 쓰는 것이 아니라 그래픽 카드(GPU)와 같이 사용합니다.

 

▲ 여기서는 그래픽 카드에 메모리를 얼마나 할당할지 입력 할 수 있습니다.

이라이더는 서버용도로 SSH 접속 위주로 사용하니 32메가를 할당했습니다.
GUI 환경인 데스크탑 모드를 사용한다면 256메가를 할당하는 것을 추천합니다.

 

 

 

8. 4. SSH
터미널(또는 쉘, 콘솔, 커맨드 라인 등으로 불립니다.)로 접속하려면 필히 활성화시켜야 합니다.

 

▲ 참고로 터미널에서는 데스트탑 모드 같은 GUI 환경을 실행하는 'startx' 명령을 내려도 실행되지 않습니다.  GUI 환경은 밑의 VNC를 이용해야 합니다.

 

 

 

8. 5. VNC
데스트탑 모드 같은 GUI 환경으로 보려면 VNC를 활성화 시키고 라즈베리파이에 서버 프로그램을 깔고 접속하려는 pc에는 클라이언트 프로그램을 설치해서 접속해야 합니다.

▲ VNC server 설정 화면

 

 

 

이상으로 기본적인 설정을 적어봤습니다.

이것과 별도로 한글 폰트 설치와 유선랜에서 고정 아이피 설정 등은 별도로 포스트 하도록 하겠습니다.

 

 

 

 

2016/11/15 - [Program/Raspberry Pi] - 개발자들의 장난감 초소형 pc 라즈베리파이3 (Raspberry Pi 3) 소개

2016/11/16 - [Program/Linux] - 리눅스 데비안 패키지 매니저 apt 사용법 (apt_get, apt-cache, apt-file)

2016/11/17 - [Program/Raspberry Pi] - 라즈베리파이 3(raspberry pi 3) 라즈비안(RASPBIAN) OS 설치

  1. 홍구네 2016.11.19 09:02

    와이파이가 안돼서 국가를 바꿨는데 다시 영국으로하면 작동할까요??

    • 이라이더 2016.11.19 15:24 신고

      국가를 변경하면 안될 가능성이 높습니다.
      기본인 영국으로 설정하세요.

      그리고 질문의 wifi 가 안된다고만 적으면 답변하기 힘듭니다.

      구체적으로 어떻게 안되는지 같이 적어주세요.
      - wifi 신호를 못잡는것인지?
      - 다른 공유기는 잡는데 내 공유기의 ssid 를 못찾는건지?
      - 보안방식과 비밀번호를 틀려 접속이 안되는것인지?
      - 공유기에 dhcp 기능을 꺼둬서 ip를 못받는것인지?

      wifi 가 안되는 이유는 다양합니다.

  2. 익명 2017.01.13 16:19

    비밀댓글입니다

  3. 곰발 2018.03.04 16:53

    omv 설치했는데 sudo raspi-config 가 없는 명령어로 나오네요.. os마다 명령어가 다르거나 설정이 없는 경우도 있는지요?

  4. sposync 2022.01.06 14:25

    관리자의 승인을 기다리고 있는 댓글입니다

라즈베리파이 3에 OS를 설치는 OS 이미지를 받고 micro sd 카드에 이미지를 구우면 끝납니다.

 

 

1. OS 다운로드


라즈베리 파이에 설치할 수 있는 OS 이미지를 아래 링크한 공식 사이트에 방문하여 맘에 드는 OS를 다운 받습니다.

https://www.raspberrypi.org/downloads/ 사이트 접속하면 NOOBS와 RASPBIAN 이 상단에 보일 것입니다.

 

▲ NOOBS는 설치과정 중 여러 OS를 선택하여 설치해볼 수 있는 것이고 특별한 일이 없으면 데비안 계열의 라즈비안(RASPBIAN)을 다운로드 합니다.


 

(데비안에 대해서는 패키지 관리툴인 apt 에 대해 포스팅하면서 같이 적은 글이 있으니 참고하세요.  http://www.erider.co.kr/137)

 

 

 

라즈비안을 받으려고 했더니 또 고민되게 2종류가 보이네요

RASPIAN JESSIE WITH PIXEL과 RASPIAN JESSIE LITE 버전입니다.
LITE 버전은 꼭 필요한 것만 넣어 가볍게 만든 버전입니다. 나중에 패키지 없다고 이것 저것 깔라고 하면 귀찮으니 처음부터 RASPIAN JESSIE WITH PIXEL 버전을 다운로드 합니다.

 

다운받은 파일을 압축을 풀면 4기가 정도 되는 *.img 파일이 보일 것입니다.

 

 

 

 

2. Micro SD 카드에 이미지 굽기

다운 받은 이미지를 Micro SD 카드에 굽기 위해서는 Win32 Disk Imager 라는 프로그램이 필요합니다.  https://sourceforge.net/projects/win32diskimager/  에서 다운로드해서 설치하세요.

 

 

그리고 데스크탑에서 작업한다면 Micro SD를 읽을 수 있는 카드 리더기나, USB 젠더 같은 것이 필요합니다.

노트북은 대부분 SD 카드를 지원할 테니 SD 아답터에 Micro SD를 넣고 연결하면 됩니다.

 

실행 화면입니다.

1) Micro SD 를 FAT32 로 포맷합니다.

   SD 카드는 특성상 읽고 쓰기를 반복하면 데이터가 깨질 수 있어서 주기적으로 포맷해주는 것이 좋습니다.

2) 폴더 아이콘을 눌러서 이미지 파일을 선택합니다.
3) 오른쪽의 드라이브를 선택해서 현재 Micro SD 카드의 드라이브 이름을 선택합니다.
   (잘못 선택하면 엉뚱한 하드나 SDD의 데이터가 지워지니 꼭 다시 확인하세요)
4) 'Write'를 누르고 끝날 때 까지 기다립니다.
   (4기가 정도를 기록해야 하기 때문에 시간이 좀 걸립니다)

 

 

 

팁1)

Win32 Disk Imager 는 이미지 굽기도 가능하지만 만들기도 가능합니다.

나중에 SD를 통채로 백업 할 때 유용하게 사용할 수 있습니다.
단, SD 카드에 사용 안하는 공간까지 이미지 파일로 만들어 진다는 문제입니다.
예를 들어 32기가 용량의 SD 카드 중 실제 사용한 용량이 10기가라고 해도 이미지를 만들면 32기가 짜리 이미지 파일이 생성 됩니다.  이를 배포 한다면 사용하지 않는 공간을 제거하고 배포 해야 합니다.

 

 

팁2)

맥킨토시나 리눅스에서도 약간 복잡하지만 설치가 가능합니다.

이라이더는 이에 대해서는 별도로 다루지 않으니 다른 블로그를 참고하세요.
한마디 더 해드리자면 맥이나 리눅스 쓸 정도면 윈도우가 가지고 있을 겁니다. 그냥 부트캠프 같은 것을 통해 윈도우로 부팅해서 작업하세요

 

 

 

3. 라즈베리파이 부팅

이미지 굽기가 끝난 SD 카드를 안전하게 제거하고 라즈베리 파이에 넣고 전원을 연결 하면 부팅이 됩니다.

라즈베리 파이 세팅은 다음 포스팅에 적도록 하겠습니다.

 

ps

'라즈베리파이', '라즈베리 파이', 'raspberry pi', 'raspberrypi' 로 띄어쓰기가 들린 부분은 오타가 아니며 검색에 용의하도록 의도적으로 혼용하였습니다.  다른 포스팅에서도 외래어는 맞는 표기법과 틀리지만 자주 쓰는 잘못된 표기법을 일부로 혼용하여 작성 하기도 합니다.

 

 

 

2016/11/16 - [Program/Linux] - 리눅스 데비안 패키지 매니저 apt 사용법 (apt_get, apt-cache, apt-file)

2016/11/18 - [Program/Raspberry Pi] - 라즈베리파이 3 구입하면 필수적인 raspi-config 세팅하기 (기본 설정)

 

2016/11/15 - [Program/Raspberry Pi] - 개발자들의 장난감 초소형 pc 라즈베리파이3 (Raspberry Pi 3) 소개

 

라즈베리 파이(Raspberry Pi)는 영국에서 교육용으로 저가로 제작한 최소형 PC입니다. 한글로는  '산딸기'라고 부르죠

OS는 데비안 포크(계열)중의 하나인 라즈비안(raspbian)이라는 리눅스를 기본으로 사용하고 있으나 유분투(Ubuntu), 아치 리눅스, Windows 10 IoT CORE 등 여러 OS를 사용 할 수 있습니다.

OS 다운은 https://www.raspberrypi.org/downloads/ 에서 가능합니다.
설치 및 세팅은 따로 포스팅 하도록 하겠습니다.


라즈베리(산딸기) 파이 1 부터 봐왔는데 그때는 스펙도 별로고 전력도 많이 먹고(아두이노에 비해) 해서 별로 관심이 없었는데 라즈베리파이2 에서 사양이 올라가더니 3에서는 무선랜과 블루투스가 기본으로 포함되었습니다.

그래서 이제 써 볼만한 사양이 되어서 라즈베리 파이 3를 구입해봤습니다.
용도는 개발에 사용할 MariaDB와 Web server, WAS server용

 

▲ 사진을 찍다보니 박스 사진을 빼먹었네요.
다 같은 박스이니 생략하고 보드를 봅시다.

사진 하단 왼쪽부터 전원 포트로 스마트폰에서 사용하고 있는 마이크로 usb 5핀 단자로 스마트폰 충전기와 호환됩니다만 권장 전류가 2.5A입니다. (DC 5V/2.5A)

화면 출력이 HDMI 표준 단자와 스피커 단자가 그대로 있네요
그리고 구입시 참고로 방열판 2개를 기본적 제공하는 업체가 대부분입니다.

 

유선랜(이더넷 10/100M) 포트와 USB 2.0 포트가 4개 보이네요

 

메모리는 micro SD를 지원합니다.

그리고 파이2와 가장 다른 점은 블루투스 4.1 (BLE: Bluetooth Low Energy)와 WiFi (802.11n) 을 자체적으로 지원하다는 것입니다.

 

같이 구입한 공식 케이스를 씌워 보도록 하죠
케이스를 바닥에 놓아 봤습니다.  빨간 색이 산딸기 색상과 딱 맞네요

 

라즈베리파이 본체를 넣고 흰색의 양 옆판을 하나씩 붙이면 이런 모습입니다.
사진상으로는 위, 아래 판이라고 해야 할까요!

 

이제 마지막으로 뚜껑을 닫으면 흰색 뚜껑에 산딸기 마크가 선명하게 보이네요

 

뚜껑은 2개로 되어 있습니다.

모니터, 카메라나 확정 장치를 연결하여 선을 빼야 할 경우는 제일 윗판을 빼고 이런식으로 사용할 수 있습니다.

e라이더는 서버로 사용할것이라서 뚜껑을 다 닫고 사용합니다.

 

뒤집어 보면 micro SD를 넣을 수 있는 구멍이 보이죠.

 

▲ 같이 구입한 2.5A 전원을 연결한 모습입니다.

'라즈비안'이란 OS를 Win 32 Disk Image 프로그램을 통해 micro SD에 설치해서 파이 본체에 넣고 전원을 연결하면 부팅이 시작 됩니다.

설치와 관련해서 별도로 포스팅 하도록 하겠습니다.

 

 

이라이더 블로그는 SAMSUNG(삼성), LG(엘지), HYUNDAI(현대), APPLE(애플), SONY(소니), HP(에이치피), DELL(델), GM(지엠), XIAOMI(샤오미) 등 글로벌 회사로부터 자사제품 홍보 우수 블로거 선정되어 후원을 받고 글을 쓰고 싶어요. 회사당 1억만 주세요.


이 회사들이 미쳤다고 이라이더에 1억을 줄 리가 없으니 제 돈 주고 사서 써보고 제 맘대로 글 쓸겁니다. 

 

2016/11/16 - [Program/Linux] - 리눅스 데비안 패키지 매니저 apt 사용법 (apt_get, apt-cache, apt-file)

2016/11/17 - [Program/Raspberry Pi] - 라즈베리파이 3(raspberry pi 3) 라즈비안(RASPBIAN) OS 설치

2016/11/18 - [Program/Raspberry Pi] - 라즈베리파이 3 구입하면 필수적인 raspi-config 세팅하기 (기본 설정)

+ Recent posts