라즈베리파이 [2016-08-08] Mediaflow 김명수
내용 1. 개요... 5 2. 라즈베리파이 3 사양... 5 3. 라즈비안설치... 7 3.1. OS 이미지다운로드... 7 3.2. Win32 Disk Imager 프로그램설치... 8 3.3. 이미지굽기... 13 3.4. 라즈베리파이 OS 부팅... 14 4. 설정... 16 4.1. 기본설정... 16 4.2. 계정관리... 25 4.3. 네트워크설정... 27 5. 프로그램설치및설정... 29 5.1. 공통프로그램... 29 5.2. 타이니파머허브용프로그램... 31 5.3. NDVI 용프로그램... 35 Copyright c 2011 Mediaflow,Inc. 4 타이니파머라즈베리파이
사용안내서 1. 개요 이문서는, 라즈베리파이 3 를처음접하시는사용자을위해작성된문서입니다. 타이니파머허브를구매하신분은이문서의내용을생략해도무관합니다. 타이니파머허브는 OS( 라즈비안 ) 가설치되어있으며, 모든설정이완료된제품입니다. 2. 라즈베리파이 3 사양 라즈베리파이 3 사양은다음과같습니다. 항목 내용 CPU GPU BCM2837 64Bit QUAD Core 1.2 GHz 브로드콤 VideoCore IV Memory Stroage USB 2.0 Power GPIO Port 1GB LPDDR2 (900MHz) MicroSD 4x USB Ports 5V/2.5A 40 pin HDMI, 3.5mm Analog audio-video 단자, USB 2.0 4 EA, Ethernet, CSI(Camera Serial Interface), DSI(Display Serial Interface) Ethernet / WiFi Bluetooth 10/100 Ethernet, 2.4GHz 802.11n Wireless Bluetooth 4.1 Classic, BLE(Bluetooth Low Energy) CPU 는 64bit 이지만설치할수있는 OS 는 64bit 가현시점까지나오지않았음. 32bit 를설치합니다. Copyright c 2011 Mediaflow,Inc. 5 [ 제품제목 ]
Copyright c 2011 Mediaflow,Inc. 6 타이니파머라즈베리파이
사용안내서 3. 라즈비안설치 라즈비안 (RASPBIAN) 은리눅스계열의운영체제인데비안을라즈베리에최적화한운영체제 (OS) 입니다. 특징은아래와같습니다. - 각종기능을지원하는 TUI 프로그램인 raspi-config 제공 - 라즈베리에최적화. - 기본적으로많은패키지설치 - 설치후용량은대략 2GB 라즈비안말고도라즈베리용으로배포되는있는운영체제로는 Pidora, Openelec, Raspabmc, Risc 등이있습니다. 라즈베리파이다운로드사이트에서확인할수있습니다. 3.1. OS 이미지다운로드 1. 브라우저에서주소창에 https://www.raspberrypi.org/downloads 입력해사이트에서라즈비안 (RASPBIAN) 을선택합니다. Copyright c 2011 Mediaflow,Inc. 7 [ 제품제목 ]
2. Download ZIP 버튼을클릭해다운로드받습니다. 3. 타이니파머허브에설치된버전은 2016-03-18 버전입니다. - 2016-03-18-raspbian-jessie.zip 4. 타이니파머홈페이지에서도다운로드받으실수있습니다. - http://my.tinyfarmer.co.kr 3.2. Win32 Disk Imager 프로그램설치 1. 이미지 (img) 파일을 SD 카드에저장하는프로그램입니다. 라즈비안 (RASPBIAN) 을설치할때사용합니다. 2. License 는 GNU General Public License version 2.0 (GPLv2) 입니다. 3. 브라우저에서주소창에 https://sourceforge.net/projects/win32diskimager/ 입력해사이트에서다운로드합니다. 4. 타이니파머홈페이지에서도다운로드받으실수있습니다. - http://my.tinyfarmer.co.kr Copyright c 2011 Mediaflow,Inc. 8 타이니파머라즈베리파이
사용안내서 5. 다운로드받은파일을실행하면설치가시작됩니다. - Win32DiskImager-0.9.5-install.exe 6. Welcome to the Win32DiskImager Setup Wizard 대화상자가나타나면, Next > 버튼을누릅니다. 7. License Agreement 대화상자에서, GNU GENERAL PUBLIC LICENSE Version 2 의내용을읽고동의하시면 I accept the agreement 를체크후 Next > 버튼을누릅니다. 참고로, 설치하려면동의해야합니다. Copyright c 2011 Mediaflow,Inc. 9 [ 제품제목 ]
8. Select Destination Location 대화상자에서설치위치를지정한후 Next > 버튼을누릅니다. 기본설치위치는 C:\Program Files (x86)\imagewriter 입니다. 변경하실려면 Browse 버튼을누른후지정하면됩니다. 9. Select Start Menu Folder 시작메뉴폴더에프로그램의바로가기를생성합니다. 시작메뉴는폴더가아닌다른곳에생성할려면 Browse 버튼을누른후지정하면됩니다. 바로가기명은 Image Writer 입니다. Next > 버튼을누릅니다. Copyright c 2011 Mediaflow,Inc. 10 타이니파머라즈베리파이
사용안내서 10. Select Additional Tasks 대화상자에서바탕화면에실행아이콘을만들기위해 Create a desktop icon 에체크한후 Next > 버튼을누릅니다. 11. Ready to Install 대화상자에서설정한정보를확인후 Install > 버튼을누릅니다. 변경할려면 Back > 버튼을누른후다시설정합니다. Copyright c 2011 Mediaflow,Inc. 11 [ 제품제목 ]
12. Installing 대화상자입니다. 설치진행상태를프로그래스바로보여주니다. 취소할려면 Cancel > 버튼을누릅니다. 13. Completing the Win32DiskImager Setup Wizard 대화상자입니다. 설치가완료되었습니다. Finish > 버튼을누릅니다. Copyright c 2011 Mediaflow,Inc. 12 타이니파머라즈베리파이
사용안내서 3.3. 이미지굽기 1. 다운로드받은 2016-03-18-raspbian-jessie.zip 파일의압축을풉니다. - 2016-03-18-raspbian-jessie.img 2. Win32 Disk Imager 설치하여이미지 (img) 파일을 Micro SD 카드에굽는다. - 폴더모양의아이콘을클릭해 2016-03-18-raspbian-jessie.img 파일을선택합니다. - Device 항목에 Micro SD 카드가들어있는 USB 메모리카드의드라이브명을확인합니다. - Write 버튼을누룹니다. - 작업이완료되었을경우 Complete 창이뜹니다. Copyright c 2011 Mediaflow,Inc. 13 [ 제품제목 ]
3.4. 라즈베리파이 OS 부팅 1. 라즈베리파이본체뒷면에 Micro SD 카드를넣습니다. 2. 앞면에전원공급어댑터, 이더넷케이블, HDMI 케이블을연결합니다. Copyright c 2011 Mediaflow,Inc. 14 타이니파머라즈베리파이
사용안내서 3. 부팅이완료후화면 - 터미널 ( 콘솔 ) 실행하여본문서의설정및설치작업을진행합니다. - SSH 설정이완료된후에는원격컴퓨터에서접속하여설정및설치작업을진행할수있습니다. - 터이널 ( 콘솔 ) 에서그래픽화면으로이동할때에는 startx 입력합니다. $ startx 4. 로그인계정 - 기본계정과비밀번호는다음과같습니다. 자동으로로그인합니다. pi / raspberry - 본문서이하에서새로운계정 (mediaflow) 를만들기전까지모든콘솔에서의작업은기본계정 pi 를사용합니다. 새로운계정 (mediaflow) 을만든다음부터는 pi 계정은삭제하므로더이상사용할수없습니다. Copyright c 2011 Mediaflow,Inc. 15 [ 제품제목 ]
4. 설정 4.1. 기본설정 라즈비안기본설정으로파일시스템, 시스템시간등을설정합니다. raspi-config 어플리케이션실행 (sudo : 관리자권한으로실행 ) raspi-config 어플리케이션실행화면 Copyright c 2011 Mediaflow,Inc. 16 타이니파머라즈베리파이
사용안내서 4.1.1. 파일시스템확장 (Expand Filesystem) - SD 카드의모든공간을사용하기위해 Expand Filesystem 에커서를놓고엔터후아래화면에서 <OK> 엔터 4.1.2. 부팅옵션선택 (Enable Boot to Desktop/Scratch) - 라즈베리파이부팅후사용할화면을 Consol 로지정하고로그인을하도록 Enable Boot to Desktop/Scratch 에커서를놓고엔터후옵션선택후엔터 Copyright c 2011 Mediaflow,Inc. 17 [ 제품제목 ]
4.1.3. Change Locale - 로케일을변경하기위해 Internationalisation Options 에커서를놓고엔터후옵션선택후엔터후 I1 Change Locale 선택후엔터 - Configuring locales Copyright c 2011 Mediaflow,Inc. 18 타이니파머라즈베리파이
사용안내서 - en_gb.utf-8 UTF-8 선택 (Space Bar) - en_us.utf-8 UTF-8 선택 (Space Bar) Copyright c 2011 Mediaflow,Inc. 19 [ 제품제목 ]
- ko_kr.utf-8 UTF-8 선택 (Space Bar) - Default locale for the system environment : en_us.utf-8 선택후 <OK> 선택후엔터 Copyright c 2011 Mediaflow,Inc. 20 타이니파머라즈베리파이
사용안내서 - Generation complete 4.1.4. Change Timezone - Internationalisation Options 에커서를놓고엔터후옵션선택후엔터후 I2 Change Timezone 선택후엔터 Copyright c 2011 Mediaflow,Inc. 21 [ 제품제목 ]
- Asia 선택후엔터 - Seoul 선택후엔터 Copyright c 2011 Mediaflow,Inc. 22 타이니파머라즈베리파이
사용안내서 - Current default time zone: 'AsiaSeoul 선택후엔터 - raspi-config 어플리케이션종료 - <Finish> 선택후엔터 Copyright c 2011 Mediaflow,Inc. 23 [ 제품제목 ]
- 재시작 - <Yes> 선택후엔터 Copyright c 2011 Mediaflow,Inc. 24 타이니파머라즈베리파이
사용안내서 4.2. 계정관리 4.2.1. root 계정활성화 - 기본적으로 root 계정이비활성화되어있으므로활성화시킵니다. 1) 콘솔창에서 passwd 를이용해변경한다. $ sudo passwd root Enter new UNIX passwod: Retype new UNIX password: passwd: passwod updated successfully - password 를입력하고, 확인하기위해다시입력합니다. 4.2.2. 기본계정 pi 삭제 - OS( 라즈비안 ) 을설치하면기본계정 pi 와비밀번호 raspberry 가설정되어있습니다. - 시스템보안상기본계정 pi 를삭제하고신규계정을생성합니다. 1) 콘솔창에서 adduser 를이용해생성합니다. 아래예제에서는 mediaflow 계정을생성합니다. $ sudo adduser mediaflow Adding user `mediaflow'... Adding new group `mediaflow' (1001)... Adding new user `mediaflow' (1001) with group `mediaflow'... Creating home directory `/home/mediaflow'... Copying files from `/etc/skel'... Enter new UNIX password: Retype new UNIX password: passwd: password updated successfully Changing the user information for mediaflow Enter the new value, or press ENTER for the default Full Name []: Room Number []: Work Phone []: Home Phone []: Other []: Is the information correct? [Y/n] Y - password 를입력하고, 확인하기위해다시입력합니다. - Is the information correct? 에 Y 입력합니다. Copyright c 2011 Mediaflow,Inc. 25 [ 제품제목 ]
2) 기본계정 pi 의주요설정파일복사 -.bashrc,.bash_logout 파일을생성한계정에복사한다. $ sudo cp /home/pi/.bashrc /home/mediaflow/ $ sudo cp /home/pi/.bash_logout /home/mediaflow/ 3) sudo 파일수정 - 콘솔창에서 vi 또는 nano 에디터를이용해 /etc/sudoers 파일을엽니다. $ sudo vi /etc/sudoers - 아래부분을찾아주석처리하고생성한계정에맞게추가한다. # pi ALL=(ALL) NOPASSWD: ALL mediaflow ALL=(ALL) NOPASSWD: ALL - 파일을저장하고종료합니다. 4) 신규계정사용 - 새로생성한계정 (mediaflow) 으로접속하기위해기본계정은 logout 합니다. $ logout - 기본계정 pi 삭제 $ sudo deluser -f pi Copyright c 2011 Mediaflow,Inc. 26 타이니파머라즈베리파이
사용안내서 4.3. 네트워크설정 4.3.1. 무선연결 - 오른쪽상단네트워크아이콘클릭하면사용할수있는무선정보가보입니다. - 연결할무선정보를선택한후비밀번호를입력합니다. - 정상적으로연결된후네트워크아이콘은 Wi-Fi 아이콘으로변경 Copyright c 2011 Mediaflow,Inc. 27 [ 제품제목 ]
4.3.2. 유선 ( 이더넷 ) 연결 1. 이더넷케이블연결 2. 고정 IP 설정 1) 콘솔창에서 vi 또는 nano 에디터를이용해 /etc/dhcpcd.conf 파일을엽니다. $ sudo vi /etc/dhcpcd.conf 2) 맨아래에아래내용을추가합니다. interface eth0 static ip_address=192.168.0.51/24 static routers=192.168.0.1 static domain_name_servers=203.248.252.2,164.124.101.2 - static ip_address : IP 주소 - static routers : 게이트웨이주소 - static domain_name_servers : DNS 주소, 2 개일경우콤마로구분 3) 파일을저장하고종료합니다. 4) 변경된사항을반영하기위해시스템을재시작합니다. $ sudo reboot 5) 시스템재부팅후확인 $ ifconfig eth0 Link encap:ethernet HWaddr b8:27:eb:ea:d1:ee inet addr:192.168.0.51 Bcast:192.168.0.255 Mask:255.255.255.0 inet6 addr: fe80::3d40:278b:ebc7:614e/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:1394912 errors:0 dropped:7 overruns:0 frame:0 TX packets:537715 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:85899233 (81.9 MiB) TX bytes:45099382 (43.0 MiB) - 설정된 IP 주소확인 Copyright c 2011 Mediaflow,Inc. 28 타이니파머라즈베리파이
사용안내서 5. 프로그램설치및설정 - 프로그램을설치하기전에실행합니다. 1. 패키지인덱스정보업데이트 $ sudo apt-get update 2. 설치된패키지업그레이드 $ sudo apt-get upgrade 5.1. 공통프로그램 5.1.1. SSH ( Secure Shell ) - 네트워크상의다른컴퓨터에로그인하거나원격시스템에서명령을실행하고다른시스템으로파일을복사할수있도록해주는응용프로그램또는그프로토콜입니다. - 라즈베리파이에모니터를연결하지않고원격시스템에서터미널을통해콘솔에접속하거나 SFTP 프로토콜을이용해파일을이동할수있습니다. 1. 설치 - OS( 라즈비안 ) 를설치하면기본으로같이설치됩니다. - OS( 라즈비안 ) 버전이달라서설치가되어있지않을경우설치 $ sudo apt-get install ssh 2. 설정 1) 콘솔창에서 vi 또는 nano 에디터를이용해 /etc/ssh/sshd_config 파일을엽니다. $ sudo vi /etc/ssh/sshd_config 2) 포트변경 Port - 보안상 22 번포트를사용하지않고다른포트번호를지정한다. 3) root 접속차단 Copyright c 2011 Mediaflow,Inc. 29 [ 제품제목 ]
PermitRootLogin no - PermitRootLogin without-password -> PermitRootLogin no 4) 파일을저장하고종료합니다. 5) 변경된사항을반영하기위해 ssh 를재시작합니다. $ sudo /etc/init.d/ssh restart 3. 확인 - putty 프로그램을통해 mediaflow 계정으로접속유무를테스트합니다. Copyright c 2011 Mediaflow,Inc. 30 타이니파머라즈베리파이
사용안내서 5.2. 타이니파머허브용프로그램 5.2.1. 자바 ( Java ) - Java 는 OpenJDK 를사용하지않고 Oracle Java 를사용하고버전은 8 입니다. 1. 설치 - OS( 라즈비안 ) 를설치하면기본으로같이설치됩니다. - OS( 라즈비안 ) 버전이달라서설치가되어있지않을경우설치 $ sudo apt-get install oracle-java8-installer 2. 환경설정 1) 콘솔창에서 vi 또는 nano 에디터를이용해 /etc/profile 파일을엽니다. $ sudo vi /etc/profile 2) 아래내용을맨아래추가합니다. export JAVA_HOME=/usr/lib/jvm/jdk-8-oracle-arm32-vfp-hflt export JAVA_OPTS="-Dfile.encoding=UTF-8" export PATH=$PATH:$JAVA_HOME/bin: 3) 설정한환경변수를현재쉘에반영합니다. $ source /etc/profile 3. 확인 - 버전확인 $ java version java version "1.8.0_65" Java(TM) SE Runtime Environment (build 1.8.0_65-b17) Java HotSpot(TM) Client VM (build 25.65-b01, mixed mode) - 설치위치 : /usr/lib/jvm/jdk-8-oracle-arm32-vfp-hflt Copyright c 2011 Mediaflow,Inc. 31 [ 제품제목 ]
5.2.2. 아파치톰켓 ( Apache tomcat ) - 아파치톰캣 (Apache Tomcat) 은서블릿컨테이너 ( 또는웹컨테이너 ) 만있는웹애플리케이션서버입니다.. 톰캣은웹서버와연동하여실행할수있는자바환경을제공하여자바서버페이지 (JSP) 와자바서블릿이실행할수있는환경을제공합니다. - 버전은 8 를사용하며 apt-get 을이용한 repository 를통해설치하지않고, 사이트에서 Binary 압축파일을받아설치합니다. - Tinyfarmer Hub 설정 Web Application 을실행하기위해설치합니다. 1. 설치 1) Binary 압축파일다운로드 - http://tomcat.apache.org 에서최신버전의 Binary 주소를복사하여사용합니다. - /usr/local/src 디렉토리에다운로드받습니다. $ cd /usr/local/src $ wget http://mirror.navercorp.com/apache/tomcat/tomcat-8/v8.0.36/bin/apachetomcat-8.0.36.tar.gz 2) 압축풀기 $ tar xzf apache-tomcat-8.0.36.tar.gz 3) 디렉토리명을변경후 /usr/local 디렉토리아래로이동합니다. 2. 환경설정 $ mv apache-tomcat-8.0.36 tomcat-8.0.36 $ mv tomcat-8.0.36 /usr/local 1) 콘솔창에서 vi 또는 nano 에디터를이용해 /etc/profile 파일을엽니다. $ sudo vi /etc/profile 2) 아래내용을맨아래추가합니다. export CATALINA_HOME=/usr/local/tomcat-8.0.36 export CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$CATALINA_HOME/lib/jspapi.jar:$CATALINA_HOME/lib/servlet-api.jar export PATH=$PATH:$JAVA_HOME/bin:$CATALINA_HOME/bin 3) 설정한환경변수를현재쉘에반영합니다. $ source /etc/profile Copyright c 2011 Mediaflow,Inc. 32 타이니파머라즈베리파이
사용안내서 3. 시스템서비스등록 1) 서비스로등록하기위한파일 /etc/init.d/tomcat 생성합니다. $ sudo vi /etc/init.d/tomcat 2) 파일에아래내용을입력하고저장합니다. #!/bin/sh ### BEGIN INIT INFO # Provides: tomcat # Required-Start: $remote_fs $syslog # Required-Stop: $remote_fs $syslog # Default-Start: 2 3 4 5 # Default-Stop: # Short-Description: Apache Tomcat ### END INIT INFO source /etc/profile tomcat=/usr/local/tomcat-8.0.36 startup=$tomcat/bin/startup.sh shutdown=$tomcat/bin/shutdown.sh start() { echo -n $"Starting Tomcat service: " sh $startup echo $? } stop() { echo -n $"Stopping Tomcat service: " sh $shutdown echo $? } restart() { stop start } status() { ps -ef grep tomcat grep -v tomcat8 grep -v grep } # Handle the different input options case "$1" in start) start ;; stop) stop ;; status) Copyright c 2011 Mediaflow,Inc. 33 [ 제품제목 ]
status ;; restart) restart ;; *) echo $"Usage: $0 {start stop restart status}" exit 1 esac exit 0 3) 실행권한 $ sudo chmod 755 /etc/init.d/tomcat 4) 실행권한확인 $ ls -al /etc/init.d/tomcat -rwxr-xr-x 1 root root 802 Jul 5 14:42 tomcat-8.0.36 - x : 실행 5) 서비스등록 $ sudo update-rc.d tomcat defaults 6) 시작 / 종료 / 재시작 $ sudo service tomcat start [stop restart] Copyright c 2011 Mediaflow,Inc. 34 타이니파머라즈베리파이
사용안내서 5.3. NDVI 용프로그램 5.3.1. 파이썬 ( Python) 1. 설치 1) 기본 Python Tool 설치 $ sudo apt-get install python-pip $ sudo apt-get install git python-numpy python-matplotlib libav-tools $ sudo apt-get installpython-setuptools $ sudo apt-get install python-dev $ sudo apt-get install libjpeg-dev $ sudo pip install requests 2) NDVI 변환모듈설치 $ cd ~ $ mkdir src $ cd src $ git clone https://github.com/pioneer-valley-open-science/infrapix.git $ cd infrapix $ sudo python setup.py install $ cd ~ $ wget http://effbot.org/downloads/imaging-1.1.6.tar.gz $ tar xzf Imaging-1.1.6.tar.gz $ rm Imaging-1.1.6.tar.gz $ cd Imaging-1.1.6 $ python setup.py build $ sudo python setup.py install 3) NDVI 카메라기능설치 $ sudo apt-get install fswebcam $ sudo apt-get install libjpeg8-dev $ sudo apt-get install imagemagick Copyright c 2011 Mediaflow,Inc. 35 [ 제품제목 ]