Last modified date 2016-09-15
얼마전에 내가 글을 썻는데, 검색을 하다가 비교적 최근이며, 설명이 잘 되어있는 블로그를 발견하여 여기에 포스팅 하게 되었다.
내가 쓴 글은 오랜만에 파이를 깔 경우 필요한 정보들만 딱딱 정리했다면, 해당 블로그는 초보들에게 유용하도록 설명이 더 잘 되어있다.
또한 부가적으로 개발환경에 대한 설치법들도 잘 설명되어 있으니 해당 블로그를 참조하면 될 것 같다.
블로그 악보쓰는 프로그래머 -> http://blog.xcoda.net/82
환경
1. OS 설치
가장 먼저 OS를 다운로드 해야 한다.
가장 범용적으로 많이 쓰이는 라즈비안을 기준으로 설명하겠다.
https://www.raspberrypi.org/downloads/raspbian/
두가지 버전이 있다. 왼쪽은 Full 버전으로, GUI 환경을 지원하는 버전이고,
오른쪽은 Lite 버전으로 OS 구동에 꼭 필요한 것 만 가진 버전이다.
나같은 경우 GUI는 굳이 필요가 없으며, SSH 환경으로 PUTTY를 사용하여 모든것을 제어할 예정이며,
라즈베리파이는 서버로만, 원격지에서 조정할 예정이므로 Lite 버전을 설치하였다.
Full버전으로 설치시 초기 구동 화면이 xWindow이고, 각종 개발 환경이 미리 설치되어 있다.
Lite버전으로 설치시 콘솔 화면이며, 불필요한 것들의 설치가 되어있지 않다. (즉 필요한게 있으면 직접 설치해야 한다)
자신이 원하는 버전을 다운받고 압축파일을 해제하면 .img 파일이 생긴다. 잘 보관해두자.
Win32 Disk imager 를 다운받아야 한다.
.img 파일을 디스크에 써주는 프로그램이다.
https://sourceforge.net/projects/win32diskimager/
다운받아서 설치를 하자.
프로그램이 실행하면 위와 같은 화면이 나오는데, 폴더모양 아이콘을 선택하여 방금전에 압축 해제 했던 .img 파일을 선택하자
카드리더기 등으로 MicroSD 카드를 컴퓨터에 인식시키면 오른쪽 Device 부분에 자동으로 경로가 할당 될 것이다.
자동으로 선택이 되지 않았다면 수동으로 선택하면 된다.
그후 Write 버튼을 통해 OS 설치를 시작하자! 속도가 느려 시간이 조금 걸린다.
완료가 되었다면 해당 MicroSD카드를 파이에 꼽아주면 된다!
이것으로 기본적인 설치가 모두 끝났다.
PS) Read 버튼이 있는데, 이것은 MicroSD카드의 내용을 컴퓨터의 .img 파일로 백업하는 기능이다.
가끔 현 상태의 파이 상태를 백업해두고 싶다면 이 기능을 이용하여 백업하자.
MicroSD카드가 32기가면 32기가의 .img 파일이 생성되는건 함정..
-> 압축파일로 압축하면 엄청난 압축률로 압축이 된다..;;
2. 파이와 연결하기
그런데 문제가 있다.
파이를 모니터와 연결해서 쓰는 사람이 아니고 SSH로 쓰는 나같은 사람이 있다.
그런데 파이가 인터넷과 연결이 되어 있어야 SSH 접속이 가능 할 것이 아닌가.
내부내트워크라도, 비밀번호가 걸린 Wi-Fi 라면 비밀번호를 치고 접속을 해 줘야 IP가 할당 될 것인데..
그래서 어찌 되었든, OS가 처음 설치 된 환경에서는 유선으로 작업을 해야 한다.
그 방법에는
1. 유선 랜 연결
2. 키보드 + 마우스 + 모니터 조합으로 Wi-Fi 연결
3. USB-TTL을 통한 연결
등이 있겠다.. 그 중 나는 3번에 대한 설명을 자세히 해보려고 한다.
1. 유선 랜 연결
유선 랜 연결하면 공유기 내에서 IP할당 정보를 보고 라즈베리의 IP를 찾아 연결하면 되겠다.
2. 키마모 조합
그냥 라즈베리 키고 설정을 바로 해주면 되겠다.
3. UART 연결
내가 이 연결에 대해서만 포스팅을 하는 이유는, 라즈베리파이를 가지고 고정된 장소에서 개발 한다면 1번이나 2번이 사실 더 편한 방법이다.
하지만 라즈베리파이를 가지고 카페나, 외부로 이동하여 뭔가를 해야 한다면?
유선랜을 어디서 뽑아 올 수도 없고, 키보드 마우스 모니터 등을 다 들고 다닐 수 도 없지 않은가?
따라서 요 제품 하나만 들고 다니면 연결이 쉽게 가능하다.
사실 이 방법에 대해서도 처음에 언급했던 블로그에서 좋은 정보들을 많이 얻었다.
http://blog.xcoda.net/83
나보다도 더 정성스럽게 작성을 하셨으니 저쪽을 보는것도 좋지만, 라즈베리파이 2를 기준으로 하셔서 나와는 맞지 않은 부분이 있었기에 내가 이렇게 따로 포스팅을 하는 것이다.
나는 이렇게 생긴 USB TTL UART 를 사용한다..
이게 이름이 정말 많은데 뭐라고 불러야 할 지 모르겠다. FT232, USB-TTL, UART, FTDL, 시리얼 통신 등..
여튼 기능은 USB 포트를 통해 시리얼 통신을 하게 해주는 장치이다. (3.3V 5V 모두 지원해서 그냥 쓰면 된다)
나는 여기에서 샀다. (기적의 알리)
어쨋든..
이 그림과 같이 연결 해주자.
위쪽의 회색 글씨가 UART모듈이고, 아래가 RPI 3이다.
항상 그렇듯 RX와 TX는 서로 교차해서 연결을 해야 한다.
내 모델은 3.3V도 지원하므로 그냥 연결만 하면 되겠다.
굳이 전원을 연결하지 않고 GND만 연결 해줘도 정상적으로 작동한다.
나의 환경인 윈도우10 에서는 별도의 드라이버도 필요하지 않았다. 그냥 연결하니 알아서 드라이버를 잡아준다.
-> 장치관리자에 이름은 뜨는데 드라이버가 안잡혀있다. 인터넷을 통한 드라이브 자동 업데이트를 하면 알아서 된다.
(난 여러모로 윈도우10을 정말 좋아한다)
그후 장치관리자를 가서
이렇게 UART 포트가 몇번 포트인지 기억해두자
나의 환경에서는 COM4 로 잡혀있다.
라즈베리를 키지 말고 설정을 해 줘야 하는 것이 있다.
먼저 파이에서 MicroSD카드를 뽑아 다시 컴퓨터와 연결해주자.
MicroSD카드의 드라이브로 들어가면 config.txt 파일이 있다.
이 파일을 열어 맨 밑에 두 줄을 추가해주자
그리고 저장을 하고 이제 파이에 카드를 다시 꼽아두자.
그후 PUTTY를 접속하는데 아래 사진처럼 설정을 하고 접속을 하자
COM4 포트의경우 자신에 맞게 변경해주면 된다.
이렇게 미리 파이를 키기 전에 푸티로 접속을 걸어두면, 부팅 되는 과정부터 모두 화면에 출력된다.
파이를 키고나서 연결하는 경우라면, 처음 켰을때 아무것도 안보일수도 있다.
그때 엔터키나 스페이스 등 아무 키를 눌러주면 로그인하는 창이 뜬다.
이제부터 제대로 설치가 되었고, 마음것 사용하면 된다.
(만약 TXRX 포트를 UART로 사용하지 않고 다른 시리얼 기기들과 사용할 것이라면 아래 링크를 들어가서 사용하자.
조금 주의해야 할 것이 있다면, 다시 UART로 사용 할 것이라면 위의 config.txt 파일의 세팅과 cmdline.txt 파일을 원본으로 사용하고 수정하지 않아야 한다.
3. 세팅 하기
SSH에 정상적으로 연결이 되었다면 로그인을 해야 한다.
Raspbian GNU/Linux 8 raspberrypi ttyS0 raspberrypi login:
라즈베리파이의 기본 아이디와 비밀번호는 pi / raspberry 이다.
로그인을 해 주자.
raspberrypi login: pi Password: Linux raspberrypi 4.4.11-v7+ #888 SMP Mon May 23 20:10:33 BST 2016 armv7l The programs included with the Debian GNU/Linux system are free software; the exact distribution terms for each program are described in the individual files in /usr/share/doc/*/copyright. Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law. pi@raspberrypi:~$
sudo raspi-config
해당 명령어를 입력하면 라즈베리파이의 세팅을 할 수 있는 메뉴가 뜬다.
┌─────────┤ Raspberry Pi Software Configuration Tool (raspi-config) ├──────────┐ │ │ │ 1 Expand Filesystem Ensures that all of the SD card s │ │ 2 Change User Password Change password for the default u │ │ 3 Boot Options Choose whether to boot into a des │ │ 4 Wait for Network at Boot Choose whether to wait for networ │ │ 5 Internationalisation Options Set up language and regional sett │ │ 6 Enable Camera Enable this Pi to work with the R │ │ 7 Add to Rastrack Add this Pi to the online Raspber │ │ 8 Overclock Configure overclocking for your P │ │ 9 Advanced Options Configure advanced settings │ │ 0 About raspi-config Information about this configurat │ │ │ │ │ │ <Select> <Finish> │ │ │ └──────────────────────────────────────────────────────────────────────────────┘
라즈베리파이3를 기준으로 세팅을 해보겠다. (꼭 필요하다 느끼는 세팅만 하도록 한다. 나머지는 사용자의 요구에 따라 다르다)
1번은 sd카드의 용량만큼 파티션을 확장시켜 주는 것인데, 파이의 용량을 다 써보질 않아 잘 모르지만 하는게 좋을 것 같다.
2번은 pi 계정의 비밀번호를 바꾸는 것이다. 나는 기본적으로 비밀번호를 바꾸는것을 선호한다 (raspberry 치는게 은근히 손에 익지 않아 손에 익은 비밀번호로 바꾼다)
4번은 파이 부팅시 네트워크가 연결되길 기다렸다가 부팅하는 것인데, 기본값이 무엇인질 몰라 나는 항상 OFF로 설정해주고 있다.
5번은 언어와 시간에 관한 설정인데, 언어는 건드리지 않고 시간만 Seoul로 잡아줬다.
이정도만 해 주면 기본적인 세팅이 끝났다고 보면 된다.
다음으로는 이제 무선 랜을 잡아야 하지 않겠는가?
그럼 아래와 같이 명령어를 치자
sudo nano /etc/network/interfaces
그 후 파일 내용중
iface wlan0 inet manual wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
부분의 앞에 #를 붙여 둘 다 주석처리를 해주자.
#iface wlan0 inet manual # wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
그 다음 아래와 같이 자신의 공유기 세팅에 맞게 써주면 된다.
iface wlan0 inet dhcp wpa-ssid "ssid" wpa-psk "password"
-> 몇번의 테스트를 거친 결과 이 방법보다 다른 방법이 좋았다. 다시 소개하겠다.
파일을 열어주자
sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
그럼 아래와 같이 저장되어 있다.
country=GB ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev update_config=1
이 부분을 이제 수정하자.
country=US ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev update_config=1 network={ ssid="와이파이ID" psk="와이파이비밀번호" key_mgmt=WPA-PSK }
수정된 부분은 노란 부분이다.
US로 바꾼 이유는 가끔 라즈베리파이가 공유기를 가려서 연결이 된다고 한다.
대부분의 문제는 US로 바꾸는 것으로 해결이 된다고 하므로 US로 설정해주자.
밑의 network 부분은 자신의 와이파이 ID와 비밀번호를 써주면 된다.
만약 연결해야 할 와이파이가 여러개라면 밑의 netowrk 부분을 여러개 써주면 위에서부터 순차적으로 연결을 시도하는 것 같다.
마지막줄인 key_mgmt는 굳이 안써도 되는것 같은데, 안써도 연결이 되는 경우가 있고 써야만 연결이 되는 경우도 있다.
상황에 맞게 써주면 될 것 같다.
ps. 내가 다시 쓰게 된 이유는 라즈베리파이3를 포켓파이m에 연결하려고 했었다. 구글링을 통해 이러저러한 방법을 계속 시도해 보았으나 모든 방법이 통하지 않고 오히려 에러를 뿜는 기염을 토해내서 지금은 포기상태이다. 혹시라도 나와 같은 사람이 있어 내 블로그를 보았는데 도움이 안되었고, 해결 방법을 다른데서 찾았다면 나에게도 알려주면 정말 고맙겠다......
파일을 저장하고 닫자. (컨트롤 + X를 누르고, y 를 누르면 저장하면서 닫힌다)
그 후 아래와 같이 명령어를 치면 연결이 된다.
sudo ifdown wlan0 sudo ifup wlan0
외부의 공유기를 쓸 때에도 UART 통신을 통해 이 부분만 수정해 주면 연결이 정상적으로 된다.
이제 연결이 제대로 되었는지 확인해보자.
ifconfig
그럼 아래와 같이 뜬다.
wlan0 Link encap:Ethernet HWaddr XX:XX:XX:XX:XX:XX inet addr:192.168.0.24
나의 경우 192.168.0.24 로 연결이 된 것을 확인 할 수 있다.
이제 putty를 통해 해당 ip로 접속을 해 보자.
그러면 ssh-rsa 키 확인을 하는 창이 뜨며 제대로 연결이 되는 것을 볼 수 있을 것이다.
(연결을 하려는 컴퓨터와 라즈베리 파이가 같은 공유기에 연결이 되어 있어야 한다)
제대로 연결이 된 것을 볼 수 있다.
이제 기본 패키지들의 업데이트를 해 주자.
sudo apt-get update sudo apt-get upgrade
첫번째 명령어는 금방 끝나지만, 두번째 명령어는 조금 오래 걸릴 수도 있다.
이것으로 기본적인 세팅은 마쳤다고 볼 수 있다.
'개발 > Embedded' 카테고리의 다른 글
라즈베리파이 Node.js 최신버전 설치 (0) | 2016.09.08 |
---|---|
포토 커플러 SG-2BC 올바른 사용법 (1) | 2016.08.09 |
Fritzing 설치와 사용법 (0) | 2016.08.09 |
라즈베리파이 + 아두이노의 시리얼 통신 (4) | 2016.07.27 |
라즈베리파이 초기 설치를 위한 자료들 (0) | 2016.07.15 |