67
RaspberryPi 개발환경구축I 1 제02강 개발 환경 구축 I Single board Computer Wi-Fi망 구축(무선공유기) 개발 툴(PuTTY, NFS, FTP, samba, mstsc, DD for Win.) Linux 명령

제02강 개발 환경 구축 I - cms3.koreatech.ac.kr · RaspberryPi 개발환경구축I 1 ... (라즈베리파이 지원않음): 2.4 GHz 기본 무선 네트워크 선택후 다음

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 제02강 개발 환경 구축 I - cms3.koreatech.ac.kr · RaspberryPi 개발환경구축I 1 ... (라즈베리파이 지원않음): 2.4 GHz 기본 무선 네트워크 선택후 다음

RaspberryPi 개발환경구축I 1

제02강

개발 환경 구축 I

Single board Computer

Wi-Fi망 구축(무선공유기)

개발 툴(PuTTY, NFS, FTP, samba, mstsc, DD for Win.)

Linux 명령

Page 2: 제02강 개발 환경 구축 I - cms3.koreatech.ac.kr · RaspberryPi 개발환경구축I 1 ... (라즈베리파이 지원않음): 2.4 GHz 기본 무선 네트워크 선택후 다음

RaspberryPi 개발환경구축I 2

하드웨어 플랫폼

* 아두이노와 라즈베리파이 보드

Page 3: 제02강 개발 환경 구축 I - cms3.koreatech.ac.kr · RaspberryPi 개발환경구축I 1 ... (라즈베리파이 지원않음): 2.4 GHz 기본 무선 네트워크 선택후 다음

RaspberryPi 개발환경구축I 3

하드웨어 플랫폼(계속)

* 라즈베리파이 모델 사양 비교

Page 4: 제02강 개발 환경 구축 I - cms3.koreatech.ac.kr · RaspberryPi 개발환경구축I 1 ... (라즈베리파이 지원않음): 2.4 GHz 기본 무선 네트워크 선택후 다음

RaspberryPi 개발환경구축I 4

SBC

* SBC(single board computer)

: 모니터, 키보드, 마우스연결해 온전한 하나의 컴퓨터로 활용

: 아래 그림과 같이 구성

Page 5: 제02강 개발 환경 구축 I - cms3.koreatech.ac.kr · RaspberryPi 개발환경구축I 1 ... (라즈베리파이 지원않음): 2.4 GHz 기본 무선 네트워크 선택후 다음

RaspberryPi 개발환경구축I 5

SBC(계속)

* Raspbian 이미지 다운로드

: https://www.raspberrypi.org/downloads/raspbian/

: Raspbian Stretch Lite 최신판 다운로드 후 압축 풀기

: 2018-11-18-raspbian-stretch-lite.zip

: 이미지 파일(2018-11-18-raspbian-stretch-lite.img)

: 혹은, 바탕화면 [IFC415] 폴더

2018-04-18-raspbian-stretch.img 활용

Page 6: 제02강 개발 환경 구축 I - cms3.koreatech.ac.kr · RaspberryPi 개발환경구축I 1 ... (라즈베리파이 지원않음): 2.4 GHz 기본 무선 네트워크 선택후 다음

RaspberryPi 개발환경구축I 6

SBC(계속)

* micro SD 기록 툴 다운로드( Tools.zip에 포함 )

: Etcher 다운로드 및 설치 https://etcher.io/

: PC와 카드 리더기(SD 삽입) 연결

: Etcher 실행 및 기록할 이미지 파일 선택

: Flash! 클릭(기록 및 검증에 20여분 소요)

: 혹은, win32diskimager 툴 활용가능

https://sourceforge.net/projects/win32diskimager/

Page 7: 제02강 개발 환경 구축 I - cms3.koreatech.ac.kr · RaspberryPi 개발환경구축I 1 ... (라즈베리파이 지원않음): 2.4 GHz 기본 무선 네트워크 선택후 다음

RaspberryPi 개발환경구축I 7

SBC(계속)

* 하드웨어 연결 ( 아래 그림 참조 )

: 라즈베리파이 보드에 이미지 기록된 micro SD 삽입

: 모니터(DVI-HDMI 케이블 활용), 키보드, 마우스 연결

: 라즈베리 파이 보드에 전원 인가

Page 8: 제02강 개발 환경 구축 I - cms3.koreatech.ac.kr · RaspberryPi 개발환경구축I 1 ... (라즈베리파이 지원않음): 2.4 GHz 기본 무선 네트워크 선택후 다음

RaspberryPi 개발환경구축I 8

SBC(계속)

* 로그인

: 내정된 로그인 계정 및 암호 : pi / raspberry

* 터미널 실행

: 바탕화면 마우스우클릭 open terminal

: 리눅스 명령 활용하여 시스템 운영가능

* 로그아웃

: 산딸기 아이콘 - shutdown 선택

: 혹은, 터미널 창에서 logout, exit 등의 명령어

$ logout

Page 9: 제02강 개발 환경 구축 I - cms3.koreatech.ac.kr · RaspberryPi 개발환경구축I 1 ... (라즈베리파이 지원않음): 2.4 GHz 기본 무선 네트워크 선택후 다음

RaspberryPi 개발환경구축I 9

SBC(계속)

* 유선망 연결

: Win. PC의 랜케이블 빼서 라즈베리파이 보드에 연결!!

Page 10: 제02강 개발 환경 구축 I - cms3.koreatech.ac.kr · RaspberryPi 개발환경구축I 1 ... (라즈베리파이 지원않음): 2.4 GHz 기본 무선 네트워크 선택후 다음

RaspberryPi 개발환경구축I 10

SBC(계속)

* 현 IP 주소 확인

$ apt install net-tools // ifconfig명령에서 오류발생시 설치

$ ifconfig eth0 // IP 주소 확인

* IP 주소 설정( 172.18.14.xx 가정, Win. PC 용 )

: /etc/dhcpcd.conf 편집

$ sudo nano /etc/dhcpcd.conf

interface eth0

static ip_address=172.18.14.xx

static netmask=255.255.255.0

static routers=172.18.14.254

static domain_name_servers=168.126.63.1

$ sudo reboot // 재부팅

Page 11: 제02강 개발 환경 구축 I - cms3.koreatech.ac.kr · RaspberryPi 개발환경구축I 1 ... (라즈베리파이 지원않음): 2.4 GHz 기본 무선 네트워크 선택후 다음

RaspberryPi 개발환경구축I 11

SBC(계속)

* IP 주소 확인

$ ifconfig eth0

* 연결가능 확인

: 라즈비안의 Firefox 웹브라우저 활용

: Windows의 명령행 창에서 ping

C:\> ping 172.18.14.xx

Page 12: 제02강 개발 환경 구축 I - cms3.koreatech.ac.kr · RaspberryPi 개발환경구축I 1 ... (라즈베리파이 지원않음): 2.4 GHz 기본 무선 네트워크 선택후 다음

RaspberryPi 개발환경구축I 12

Page 13: 제02강 개발 환경 구축 I - cms3.koreatech.ac.kr · RaspberryPi 개발환경구축I 1 ... (라즈베리파이 지원않음): 2.4 GHz 기본 무선 네트워크 선택후 다음

RaspberryPi 개발환경구축I 13

초기 환경설정

* pi 계정 패스워드 변경

: 라즈베리파이 환경 설정 명령인 raspi-config 사용

$ sudo raspi-config

: 1 Change User Password 선택

: embedded로 통일!!!!!!

: 이후 로그인시 pi / embedded 활용

Page 14: 제02강 개발 환경 구축 I - cms3.koreatech.ac.kr · RaspberryPi 개발환경구축I 1 ... (라즈베리파이 지원않음): 2.4 GHz 기본 무선 네트워크 선택후 다음

RaspberryPi 개발환경구축I 14

초기 환경설정(계속)

* Wi-Fi 가능 위해

: 4 Localization Options -

Wi-Fi Country 항목이 GB Britain (UK) 으로 설정돼야 함

Page 15: 제02강 개발 환경 구축 I - cms3.koreatech.ac.kr · RaspberryPi 개발환경구축I 1 ... (라즈베리파이 지원않음): 2.4 GHz 기본 무선 네트워크 선택후 다음

RaspberryPi 개발환경구축I 15

초기 환경설정(계속)

* micro SD 최대용량 사용

: 7 Advanced Options 선택

: 서브화면에서 A1 Expand Filesystem 선택

: 변경전후로 lsblk 명령으로 확인 가능

* 재부팅후 로그인

: 변경된 패스워드로 로그인

Page 16: 제02강 개발 환경 구축 I - cms3.koreatech.ac.kr · RaspberryPi 개발환경구축I 1 ... (라즈베리파이 지원않음): 2.4 GHz 기본 무선 네트워크 선택후 다음

RaspberryPi 개발환경구축I 16

네트워크 구성

* 실습용 유무선망 구성도

Page 17: 제02강 개발 환경 구축 I - cms3.koreatech.ac.kr · RaspberryPi 개발환경구축I 1 ... (라즈베리파이 지원않음): 2.4 GHz 기본 무선 네트워크 선택후 다음

RaspberryPi 개발환경구축I 17

Wi-Fi망 구축

* 공유기(ipTime A304 모델) 활용

: PC에 연결됐던 랜케이블을 최좌측(WAN) 잭에 연결

: 추가 랜케이블로 PC와 나머지 4잭중 하나간 연결

: 공유기 전원 인가

Page 18: 제02강 개발 환경 구축 I - cms3.koreatech.ac.kr · RaspberryPi 개발환경구축I 1 ... (라즈베리파이 지원않음): 2.4 GHz 기본 무선 네트워크 선택후 다음

RaspberryPi 개발환경구축I 18

Wi-Fi망 구축(계속)

* 공유기 접속

: Win. PC에 동일 대역 IP 주소( 192.168.0.10 ) 할당 후,

: Windows 웹브라우저 주소창에 http://192.168.0.1/

참고) 연결오류 발생시 (Win. PC에 IP 미할당 시)

연결문제 진단 클릭 -

이 복구를 관리자 권한으로 실행 클릭 -

이 해결 방법을 적용합니다 클릭

Page 19: 제02강 개발 환경 구축 I - cms3.koreatech.ac.kr · RaspberryPi 개발환경구축I 1 ... (라즈베리파이 지원않음): 2.4 GHz 기본 무선 네트워크 선택후 다음

RaspberryPi 개발환경구축I 19

Wi-Fi망 구축(계속)

* 망관리자 로그인 화면

: 망관리자 계정명 admin/admin(초기암호)/이미지문자로

로그인

: 접속 초기 화면에서 관리도구 클릭

Page 20: 제02강 개발 환경 구축 I - cms3.koreatech.ac.kr · RaspberryPi 개발환경구축I 1 ... (라즈베리파이 지원않음): 2.4 GHz 기본 무선 네트워크 선택후 다음

RaspberryPi 개발환경구축I 20

Wi-Fi망 구축(계속)

* 기본설정-시스템 요약 정보

: 인터넷연결상태 : 인터넷 연결시도중... 확인 (다음 쪽 참조)

Page 21: 제02강 개발 환경 구축 I - cms3.koreatech.ac.kr · RaspberryPi 개발환경구축I 1 ... (라즈베리파이 지원않음): 2.4 GHz 기본 무선 네트워크 선택후 다음

RaspberryPi 개발환경구축I 21

Wi-Fi망 구축(계속)

* 기본설정-인터넷 설정 정보

: 고정 IP 방식 체크

: IP정보(Windows의 IP 주소 정보) 설정후 적용버튼 클릭

Page 22: 제02강 개발 환경 구축 I - cms3.koreatech.ac.kr · RaspberryPi 개발환경구축I 1 ... (라즈베리파이 지원않음): 2.4 GHz 기본 무선 네트워크 선택후 다음

RaspberryPi 개발환경구축I 22

Wi-Fi망 구축(계속)

* 기본설정-무선 설정/보안

: 5GHz 기본 무선 네트워크 Off 설정(라즈베리파이 지원않음)

: 2.4 GHz 기본 무선 네트워크 선택후 다음 정보 설정

네트워크 SSID : IFC415_xxxx 네트워크 이름 알림 체크

인증및암호화 : (권장)항목 선택

암호 : 000000xxxx 적용 버튼 클릭하여 반영

Page 23: 제02강 개발 환경 구축 I - cms3.koreatech.ac.kr · RaspberryPi 개발환경구축I 1 ... (라즈베리파이 지원않음): 2.4 GHz 기본 무선 네트워크 선택후 다음

RaspberryPi 개발환경구축I 23

Wi-Fi망 구축(계속)

* 고급설정-네트워크관리-내부 네트워크 설정

: 사용중인 IP 주소 정보 확인가능

Page 24: 제02강 개발 환경 구축 I - cms3.koreatech.ac.kr · RaspberryPi 개발환경구축I 1 ... (라즈베리파이 지원않음): 2.4 GHz 기본 무선 네트워크 선택후 다음

RaspberryPi 개발환경구축I 24

Wi-Fi망 구축(계속)

* 고급설정-네트워크관리-DHCP 서버 설정

: DHCP 서버 동작 ... 실행 체크

: 게이트웨이 주소 기억할 것!( 게이트웨이 주소 )

Page 25: 제02강 개발 환경 구축 I - cms3.koreatech.ac.kr · RaspberryPi 개발환경구축I 1 ... (라즈베리파이 지원않음): 2.4 GHz 기본 무선 네트워크 선택후 다음

RaspberryPi 개발환경구축I 25

Wi-Fi망 구축(계속)

* 기본설정-시스템 요약 정보

: 인터넷연결상태 : 인터넷 정상적으로 연결됨 확인

Page 26: 제02강 개발 환경 구축 I - cms3.koreatech.ac.kr · RaspberryPi 개발환경구축I 1 ... (라즈베리파이 지원않음): 2.4 GHz 기본 무선 네트워크 선택후 다음

RaspberryPi 개발환경구축I 26

Wi-Fi 망 접속

* 무선망(Wi-Fi) 접속

: 부팅후 우상단 화살표 아이콘 클릭하여 무선망 접속

: 접속하고자하는 망(IFC415_xxxx) 선택후,

암호(000000xxxx) 입력

Page 27: 제02강 개발 환경 구축 I - cms3.koreatech.ac.kr · RaspberryPi 개발환경구축I 1 ... (라즈베리파이 지원않음): 2.4 GHz 기본 무선 네트워크 선택후 다음

RaspberryPi 개발환경구축I 27

Wi-Fi 망 접속(계속)

* 동적 IP 주소 확인

$ sudo ifconfig wlan0

* ping 혹은 웹 서핑

: 좌상단 웹브라우저 실행후 특정 사이트 접속

Page 28: 제02강 개발 환경 구축 I - cms3.koreatech.ac.kr · RaspberryPi 개발환경구축I 1 ... (라즈베리파이 지원않음): 2.4 GHz 기본 무선 네트워크 선택후 다음

RaspberryPi 개발환경구축I 28

실습환경용 IP 주소 설정

* 현재는 DHCP 서버에 의해 동적 IP가 사용중임

* Windows의 IP 주소 설정 ( 192.168.0.10 )

: 이더넷-어댑터 옵션 변경에서

: 설정하고자하는 IP 주소, 서브넷마스크 설정

: 기본 게이트웨이를 192.168.0.1로 설정(앞서 기억하라고 한 것)

: 기본 설정 DNS 서버 : 168.126.63.1

: 시스템 다시 시작 클릭하여 재부팅

Page 29: 제02강 개발 환경 구축 I - cms3.koreatech.ac.kr · RaspberryPi 개발환경구축I 1 ... (라즈베리파이 지원않음): 2.4 GHz 기본 무선 네트워크 선택후 다음

RaspberryPi 개발환경구축I 29

실습환경용 IP 주소 설정(계속)

* Windows의 IP 주소 확인

: 명령프롬프트 창에서 ipconfig로 ip 주소 확인

: 웹 브라우저 통해 특정 사이트 접속하여 확인 할 것!!

Page 30: 제02강 개발 환경 구축 I - cms3.koreatech.ac.kr · RaspberryPi 개발환경구축I 1 ... (라즈베리파이 지원않음): 2.4 GHz 기본 무선 네트워크 선택후 다음

RaspberryPi 개발환경구축I 30

실습환경용 IP 주소 설정(계속)

* 라즈베리파이 보드

: 유선 IP( 192.168.0.30 ) 및 무선 IP ( 192.168.0.40 )

Page 31: 제02강 개발 환경 구축 I - cms3.koreatech.ac.kr · RaspberryPi 개발환경구축I 1 ... (라즈베리파이 지원않음): 2.4 GHz 기본 무선 네트워크 선택후 다음

RaspberryPi 개발환경구축I 31

실습환경용 IP 주소 설정(계속)

* /etc/dhcpcd.conf 편집(추가)

$ sudo nano /etc/dhcpcd.conf

interface eth0

static ip_address=192.168.0.30

static netmask=255.255.255.0

static routers=192.168.0.1

static domain_name_servers=168.126.63.1

interface wlan0

static ip_address=192.168.0.40

static netmask=255.255.255.0

static routers=192.168.0.1

static domain_name_servers=168.126.63.1

$ sudo reboot

Page 32: 제02강 개발 환경 구축 I - cms3.koreatech.ac.kr · RaspberryPi 개발환경구축I 1 ... (라즈베리파이 지원않음): 2.4 GHz 기본 무선 네트워크 선택후 다음

RaspberryPi 개발환경구축I 32

Wi-Fi 망 접속(계속)

* 고정 IP 확인

$ ifconfig eth0

$ ifconfig wlan0

* 네트워킹 확인

: Windows 명령창에서 ping

C:\> ping 192.168.0.30

C:\> ping 192.168.0.40

: 혹은, 웹 서핑

Page 33: 제02강 개발 환경 구축 I - cms3.koreatech.ac.kr · RaspberryPi 개발환경구축I 1 ... (라즈베리파이 지원않음): 2.4 GHz 기본 무선 네트워크 선택후 다음

RaspberryPi 개발환경구축I 33

IP 설정후

* 고급설정-네트워크관리-DHCP 서버설정

: 각 단말장치의 IP 주소가 수동설정인 것을 확인가능

Page 34: 제02강 개발 환경 구축 I - cms3.koreatech.ac.kr · RaspberryPi 개발환경구축I 1 ... (라즈베리파이 지원않음): 2.4 GHz 기본 무선 네트워크 선택후 다음

RaspberryPi 개발환경구축I 34

Page 35: 제02강 개발 환경 구축 I - cms3.koreatech.ac.kr · RaspberryPi 개발환경구축I 1 ... (라즈베리파이 지원않음): 2.4 GHz 기본 무선 네트워크 선택후 다음

RaspberryPi 개발환경구축I 35

개발 툴 설치

* 시스템관 자료 공유를 위한 도구

: Tools.zip 파일 참조

⦁PuTTY : CLI 제공

⦁nfs(network file system) : 동종간 공유 ( 다음 주 )

⦁FTP(file transfer protocol) : 파일전송

⦁samba : 이종간 공유

⦁mstsc : GUI 제공

⦁DD for Windows : SD카드 백업 및 복구

Page 36: 제02강 개발 환경 구축 I - cms3.koreatech.ac.kr · RaspberryPi 개발환경구축I 1 ... (라즈베리파이 지원않음): 2.4 GHz 기본 무선 네트워크 선택후 다음

RaspberryPi 개발환경구축I 36

개발 툴 설치(계속)

* SSH(Secure SHell)

: 암호 통신을 이용해서 다른 컴퓨터에 접속한 다음,

명령을 실행하거나 파일 조작을 행하기 위한 프로토콜

: 접속 단말기에서 SSH 허용해야 함

* SSH 활성화

$ sudo raspi-config

: Interface - SSH

* 재부팅

$ sudo reboot // 재부팅

Page 37: 제02강 개발 환경 구축 I - cms3.koreatech.ac.kr · RaspberryPi 개발환경구축I 1 ... (라즈베리파이 지원않음): 2.4 GHz 기본 무선 네트워크 선택후 다음

RaspberryPi 개발환경구축I 37

PuTTY 원격접속

* PuTTY

: SSH기반 원격접속 CLI(command line interface)

환경 제공

* PuTTY 다운로드 및 설치

: https://www.chiark.greenend.org.uk/~sgtatham/putty/

: 다운로드한 PuTTY.exe에 대해 바로가기 만든 후,

바로가기 아이콘을 사용편의를 위해 바탕화면에 옮겨놓자

Page 38: 제02강 개발 환경 구축 I - cms3.koreatech.ac.kr · RaspberryPi 개발환경구축I 1 ... (라즈베리파이 지원않음): 2.4 GHz 기본 무선 네트워크 선택후 다음

RaspberryPi 개발환경구축I 38

PuTTY 원격접속(계속)

* PuTTY 실행 및 접속 정보 설정

: 좌측 Session을 클릭

: 우측의 Host Name 에 라즈베리파이의 IP 주소를 입력

: Connection type 에 SSH 체크

: Open을 클릭하여 접속

: 설정정보는 저장하였다 재사용 가능(Load 버튼 이용)

Page 39: 제02강 개발 환경 구축 I - cms3.koreatech.ac.kr · RaspberryPi 개발환경구축I 1 ... (라즈베리파이 지원않음): 2.4 GHz 기본 무선 네트워크 선택후 다음

RaspberryPi 개발환경구축I 39

PuTTY 원격접속(계속)

* PuTTY 실행 및 접속 정보 설정

: 접속한 터미널 창에서 원격으로 명령어 활용

Page 40: 제02강 개발 환경 구축 I - cms3.koreatech.ac.kr · RaspberryPi 개발환경구축I 1 ... (라즈베리파이 지원않음): 2.4 GHz 기본 무선 네트워크 선택후 다음

RaspberryPi 개발환경구축I 40

SFTP 서비스

* FTP 서비스

: 파일 송수신을 위한 서비스

* FileZilla FTP 클라이언트

: 다운로드 사이트 https://filezilla-project.org/

: FileZilla Client 다운로드 후 설치

Page 41: 제02강 개발 환경 구축 I - cms3.koreatech.ac.kr · RaspberryPi 개발환경구축I 1 ... (라즈베리파이 지원않음): 2.4 GHz 기본 무선 네트워크 선택후 다음

RaspberryPi 개발환경구축I 41

SFTP 서비스(계속)

* FileZilla FTP 클라이언트 실행

: 좌측은 클라이언트(PC), 우측은 서버측(Pi)

Page 42: 제02강 개발 환경 구축 I - cms3.koreatech.ac.kr · RaspberryPi 개발환경구축I 1 ... (라즈베리파이 지원않음): 2.4 GHz 기본 무선 네트워크 선택후 다음

RaspberryPi 개발환경구축I 42

SFTP 서비스(계속)

* FTP 서버 접속

: 메뉴의 ‘파일 - 사이트관리자’ 항목을 선택

: 호스트 항에 접속할 시스템의 IP 주소

입력

: 프로토콜 항에 SFTP(SSH FTP) 선택

: 로그온 유형 항에 비밀번호 묻기 선택

: 로그온 사용자 항에 pi 입력하고, 연결

버튼 클릭

* 좌측 항목선택에 새이름을 부여하여 등록하여 재활용

Page 43: 제02강 개발 환경 구축 I - cms3.koreatech.ac.kr · RaspberryPi 개발환경구축I 1 ... (라즈베리파이 지원않음): 2.4 GHz 기본 무선 네트워크 선택후 다음

RaspberryPi 개발환경구축I 43

SFTP 서비스(계속)

* FTP 서버 접속

:패스워드 입력(embedded)후 확인 클릭

: pi 계정의 홈 디렉터리로 접속

: pi 계정의 홈 디렉터리 범주 내로 파일 송수신 가능

Page 44: 제02강 개발 환경 구축 I - cms3.koreatech.ac.kr · RaspberryPi 개발환경구축I 1 ... (라즈베리파이 지원않음): 2.4 GHz 기본 무선 네트워크 선택후 다음

RaspberryPi 개발환경구축I 44

Samba 서비스

* Samba 서비스

: 이기종 간의 파일 공유 서비스

: Windows와 리눅스간 파일 공유

* Samba 서버 패키지 설치

$ sudo apt-get update

$ sudo apt-get upgrade

$ sudo apt-get install samba

$ sudo apt-get install samba-common-bin

(선택적, 최신버전의 samba-common-bin 설치)

Page 45: 제02강 개발 환경 구축 I - cms3.koreatech.ac.kr · RaspberryPi 개발환경구축I 1 ... (라즈베리파이 지원않음): 2.4 GHz 기본 무선 네트워크 선택후 다음

RaspberryPi 개발환경구축I 45

Samba 서비스(계속)

* Samba 서버 환경설정

$ sudo nano /etc/samba/smb.conf

[pi]

comment = PI SAMBA SERVER

path = /home/pi/

valid user = pi

create mask = 0777

read only = no # 혹은, writable = yes

browseable = yes

public = yes

* Samba사용자 계정 및 비밀번호(embedded 통일)

$ sudo smbpasswd -a pi

New SMB password:embedded

Retype new SMB password:embedded

Page 46: 제02강 개발 환경 구축 I - cms3.koreatech.ac.kr · RaspberryPi 개발환경구축I 1 ... (라즈베리파이 지원않음): 2.4 GHz 기본 무선 네트워크 선택후 다음

RaspberryPi 개발환경구축I 46

Samba 서비스(계속)

* Samba 서버 재실행

$ sudo /etc/init.d/samba restart

* Samba 서버 접속

: Windows의 웹브라우저 주소창,

: 또는 윈도우즈의 실행 혹은 검색 창에

삼바 서버의 IP 주소를 \\192.168.0.40\와 같이 입력

Page 47: 제02강 개발 환경 구축 I - cms3.koreatech.ac.kr · RaspberryPi 개발환경구축I 1 ... (라즈베리파이 지원않음): 2.4 GHz 기본 무선 네트워크 선택후 다음

RaspberryPi 개발환경구축I 47

Samba 서비스(계속)

* 공유 디렉터리의 접근권한 변경 필요시

: chmod 명령 사용

$ sudo cd /home/pi

$ sudo mkdir my

$ sudo chmod -R 777 ./my

// 현 작업디렉터리의 ./my 디렉터리 및 그 하부에 대해

// 접근권한을 777로 설정

// Windows에서 ./my 디렉터리 하부에 파일 생성/삭제 등등 가능

Page 48: 제02강 개발 환경 구축 I - cms3.koreatech.ac.kr · RaspberryPi 개발환경구축I 1 ... (라즈베리파이 지원않음): 2.4 GHz 기본 무선 네트워크 선택후 다음

RaspberryPi 개발환경구축I 48

mstsc 원격접속

* mstsc

: Windows에서 기본 제공하는 서비스

: GUI(graphic user interface) 환경 제공

: SSH 서비스가 활성화 되어야 함

: 접속할 단말기에 xrdp 패키지가 설치되어야 함

* xrdp 패키지 설치 및 재부팅

$ sudo apt-get update // 패키지 업데그레....

$ sudo apt-get upgrade

$ sudo apt-get install xrdp // xrdp 패키지 설치

$ sudo reboot // 재부팅

Page 49: 제02강 개발 환경 구축 I - cms3.koreatech.ac.kr · RaspberryPi 개발환경구축I 1 ... (라즈베리파이 지원않음): 2.4 GHz 기본 무선 네트워크 선택후 다음

RaspberryPi 개발환경구축I 49

mstsc 원격접속(계속)

* Windows의 원격접속

: 실행 혹은 검색에 mstsc 입력하여 탐색

: mstsc.exe 파일을 찾아 바탕화면에 바로가기 만들기

: mstsc 실행, IP주소 입력후 연결 클릭

: 로그인화면에 계정명 및 패스워드 입력하여 접속

Page 50: 제02강 개발 환경 구축 I - cms3.koreatech.ac.kr · RaspberryPi 개발환경구축I 1 ... (라즈베리파이 지원않음): 2.4 GHz 기본 무선 네트워크 선택후 다음

RaspberryPi 개발환경구축I 50

mstsc 원격접속(계속)

* 접속화면(GUI)

Page 51: 제02강 개발 환경 구축 I - cms3.koreatech.ac.kr · RaspberryPi 개발환경구축I 1 ... (라즈베리파이 지원않음): 2.4 GHz 기본 무선 네트워크 선택후 다음

RaspberryPi 개발환경구축I 51

DD for Win.

* DD for Windows

: Linux의 dd 명령 유사기능

: micro SD 카드의 백업 및 복구에 사용

: 다운로드 https://yeslab.tistory.com/37

: DDWin.exe 파일에 우클릭하여 관리자권한으로 필 실행

Page 52: 제02강 개발 환경 구축 I - cms3.koreatech.ac.kr · RaspberryPi 개발환경구축I 1 ... (라즈베리파이 지원않음): 2.4 GHz 기본 무선 네트워크 선택후 다음

RaspberryPi 개발환경구축I 52

DD for Win.(계속)

* micro SD의 백업

: Choose disk버튼 눌러, SD 카드 선택

: Choose file 선택하여 경로 및 파일명 지정(.ddi확장자)

: Backup 버튼 눌러 파일로 백업

Page 53: 제02강 개발 환경 구축 I - cms3.koreatech.ac.kr · RaspberryPi 개발환경구축I 1 ... (라즈베리파이 지원않음): 2.4 GHz 기본 무선 네트워크 선택후 다음

RaspberryPi 개발환경구축I 53

DD for Win.(계속)

* micro SD로 복구

: Choose file 선택하여 경로 및 파일명 지정(.ddi확장자)

: Choose disk버튼 눌러, SD 카드 선택

: Restore 버튼 눌러 복구

Page 54: 제02강 개발 환경 구축 I - cms3.koreatech.ac.kr · RaspberryPi 개발환경구축I 1 ... (라즈베리파이 지원않음): 2.4 GHz 기본 무선 네트워크 선택후 다음

RaspberryPi 개발환경구축I 54

Linux 명령

* 다음 관련 명령

: 유용한 기능들

: 파일시스템 관련

: 검색 관련

: 네트워킹 및 기타 관련

* 실습을 진행하면서 추가 명령 숙지

Page 55: 제02강 개발 환경 구축 I - cms3.koreatech.ac.kr · RaspberryPi 개발환경구축I 1 ... (라즈베리파이 지원않음): 2.4 GHz 기본 무선 네트워크 선택후 다음

RaspberryPi 개발환경구축I 55

Linux 명령(계속)

* 유용한 기능

: 히스토리 기능

// 기존 사용했던 명령을 유지, 자판의 상하키 활용

: 자동 완성기능

// 긴 파일명 혹은 디렉터리 명의 자동 완성 기능

// 선두 문자 입력후 <tab> 키 활용

: 파이프 기능

// 한 명령의 표준 출력을 다음 명령의 표준 입력으로 전달

// |로 명령간 구분

$ ls -al /usr/bin | more // /usr/bin의 파일목록을 페이지단위 출력

$ ls /usr/bin | sort | less // 파일목록을 소팅하여 페이지단위 출력

Page 56: 제02강 개발 환경 구축 I - cms3.koreatech.ac.kr · RaspberryPi 개발환경구축I 1 ... (라즈베리파이 지원않음): 2.4 GHz 기본 무선 네트워크 선택후 다음

RaspberryPi 개발환경구축I 56

: 절대 경로 및 상대 경로

// 절대 경로는 /부터 명시

// 상대 경로는 . 혹은 .. 로 시작하여 지정

* 파일시스템 관련

: 파일 및 디렉터리 속성, ls –l로 확인

pi@raspberrypi:~ $ ls -l

drwxr-xr-x 2 pi pi 4096 Nov 13 2018 Desktop

// 첫 글자 : 파일 유형(d디렉터리, -일반파일, c문자장치, b블록장치, ...)

// 다음 3자리씩(rwx) : 접근권한 (owner, group, others 별 3자리)

: ls 명령

$ ls // 현재 디렉터리의 파일목록

$ ls -a // 모든파일(히든파일포함)

$ ls -l // 속성까지 상세하게

$ ls -al // 모든 파일(히든파일포함)을 자세하게

Page 57: 제02강 개발 환경 구축 I - cms3.koreatech.ac.kr · RaspberryPi 개발환경구축I 1 ... (라즈베리파이 지원않음): 2.4 GHz 기본 무선 네트워크 선택후 다음

RaspberryPi 개발환경구축I 57

$ ls /usr/bin // /usr/bin/ 디렉터리의 파일목록

$ ls *.txt // 특정파일만(파일명이 .txt로 끝나는 모든 파일)

$ ls -l /usr/bin/a*

:  pwd(present working directory) 명령

pi@raspberrypi:~ $ pwd

/home/pi

:   mkdir(make directory) 명령

$ mkdir mydir

$ mkdir –p mydir/subdir/tmp // parents, 서브디렉토리까지 생성

: cd(change directory) 명령

$ cd // 사용자의 홈디렉터리로 이동

$ cd .. // ..은 현 디렉터리의 부모 디렉터리를 의미

$ cd mydir // 현 디렉터리내의 서브 디렉터리 mydir로

// $ cd ./mydir과 동일

Page 58: 제02강 개발 환경 구축 I - cms3.koreatech.ac.kr · RaspberryPi 개발환경구축I 1 ... (라즈베리파이 지원않음): 2.4 GHz 기본 무선 네트워크 선택후 다음

RaspberryPi 개발환경구축I 58

$ cd /usr/bin // /usr/bin로 이동(절대경로)

$ cd ./../usr/bin // 홈 디렉터리에서 위 명령과 동일 효과(상대경로)

: rmdir(remove directory) 명령

$ rmdir mydir

$ rmdir –p mydir/subdir // 여러 계층의 디렉터리 삭제, 비어있어야 함

: touch 명령

// 빈파일의 생성 혹은 기존 파일의 생성일시를 현시점으로 통일

$ touch test1 test2 // 빈 파일들을 생성

$ touch * // 모든 파일의 생성일시를 현재일시로 변경

: nano 명령

// 파일 편집기, 가상머신에선 이외에 gedit 제공

$ nano test.c

: more/less 명령

Page 59: 제02강 개발 환경 구축 I - cms3.koreatech.ac.kr · RaspberryPi 개발환경구축I 1 ... (라즈베리파이 지원않음): 2.4 GHz 기본 무선 네트워크 선택후 다음

RaspberryPi 개발환경구축I 59

// 파일의 내용을 한 화면씩(24라인) 보여줌, <space>, <b> 키활용

$ more test

$ less test // more 명령과 동일기능

: head 명령

$ head test // 기본 10라인 보기

$ head -20 test // 20라인 보기

: tail 명령

$ tail test // 기본 10라인 보기

$ tail -2 test // 끝의 2라인보기

: rm(remove) 명령

// 파일 및 디렉터리 삭제

$ rm test // test 파일 삭제

$ rm -i test // 삭제 확인 질의후

$ rm -r mydir // 디렉터리 삭제시

Page 60: 제02강 개발 환경 구축 I - cms3.koreatech.ac.kr · RaspberryPi 개발환경구축I 1 ... (라즈베리파이 지원않음): 2.4 GHz 기본 무선 네트워크 선택후 다음

RaspberryPi 개발환경구축I 60

$ rm -rf mydir // mydir와 그 하부를 삭제

: cp(copy) 명령

$ cp test testcopy // 파일 복사

$ cp -r mydir yourdir // 디렉터리 복사

$ cp -a /home/sample/tests . // 파일의 속성 유지한 채 복사, archive

: mv(move) 명령

$ mv aaa bbb ./mydir // ./mydir은 디렉터리로 두파일 이동

$ mv /etc/* ./mydir // /etc/하부 모든파일을 ./mydir로 이동

$ mv test mytest // test를 mytest로 변경, 파일혹은 디렉터리

$ mv mydir yourdir // mydir 디렉터리명을 yourdir로 변경

: chmod(change mode) 명령

$ chmod go-w filedir // filedir에 group, others의 기록권한 삭제

$ chmod a+x filedir // filedir에모두에게 실행권한 설정

$ chmod 755 filedir // filedir에 octal 표현, -rwxr-xr-x 설정

Page 61: 제02강 개발 환경 구축 I - cms3.koreatech.ac.kr · RaspberryPi 개발환경구축I 1 ... (라즈베리파이 지원않음): 2.4 GHz 기본 무선 네트워크 선택후 다음

RaspberryPi 개발환경구축I 61

$ chmod –R 777 ./filedir // 하부 디렉터리까지 설정

: chown/chgrp 명령

$ chown root /home/pi/test // owner를 root로

$ chgrp root /home/pi/test // group을 root로

$ chown root.root /home/pi/test // 소유자 및 그룹 함께 변경

: ln(link) 명령

$ ln aaa.txt atext // 하드링크, 두 파일내용 동일유지, 별도공간

$ ln -s ./mydir/subdir/test ltest // 심볼릭 링크

$ cat ltest // 다른 경로에 있는 파일을 쉽게 접근

$ ln -s /mnt/share/ share // 심볼릭 링크, 디렉터리 지정

$ ls share // 파일목록 보기

$ cd share // /mnt/share로 이동

Page 62: 제02강 개발 환경 구축 I - cms3.koreatech.ac.kr · RaspberryPi 개발환경구축I 1 ... (라즈베리파이 지원않음): 2.4 GHz 기본 무선 네트워크 선택후 다음

RaspberryPi 개발환경구축I 62

: unzip 명령

$ unzip tools.zip

: tar(tape archive) 명령

// 옵션시 – 붙이지 않음

$ tar cvf my.tar ./my // ./my의 모든 파일을 my.tar파일로 묶음

$ tar tvf my.tar // 풀지않고 포함 목록만 확인

$ tar xvf my.tar // 풀기

$ tar cvfz my.tar.gz ./my // 묶기와 gzip 동시에, .gz 확장자

$ tar xvfz my.tar.gz // 압축복원과 풀기 동시에

* 검색 관련

: grep 명령

$ grep hello abc.txt // 파일내에 hello포함 라인 검색

$ ls -al | grep test // 파일목록중에 test 포함된 것 출력

Page 63: 제02강 개발 환경 구축 I - cms3.koreatech.ac.kr · RaspberryPi 개발환경구축I 1 ... (라즈베리파이 지원않음): 2.4 GHz 기본 무선 네트워크 선택후 다음

RaspberryPi 개발환경구축I 63

: whereis 명령

pi@raspberrypi:~ $ whereis ifconfig

ifconfig: /sbin/ifconfig /usr/share/man/man8/ifconfig.8.gz

: find 명령

// 지정 경로하부에서 특정 패턴의 파일 검색

pi@raspberrypi:~ $ find /usr -name wiringPi*

/usr/include/wiringPiI2C.h

/usr/include/wiringPi.h

/usr/include/wiringPiSPI.h

* 네트워킹 및 기타 관련

: ifconfig 명령

$ ifconfig // 현재 NIC의 설정정보 보기

$ ifconfig eth0 172.18.14.xx // IP 주소 변경

Page 64: 제02강 개발 환경 구축 I - cms3.koreatech.ac.kr · RaspberryPi 개발환경구축I 1 ... (라즈베리파이 지원않음): 2.4 GHz 기본 무선 네트워크 선택후 다음

RaspberryPi 개발환경구축I 64

: ping 명령

$ ping 192.168.0.40

: hostname 명령

$ hostname

: uname 명령

// 프로세서, 커널버젼 등의 정보 확인

$ uname -a // 시스템의 모든 정보 보기

$ uname -p // 프로세서 확인

$ uname -r // 커널버젼 확인

Page 65: 제02강 개발 환경 구축 I - cms3.koreatech.ac.kr · RaspberryPi 개발환경구축I 1 ... (라즈베리파이 지원않음): 2.4 GHz 기본 무선 네트워크 선택후 다음

RaspberryPi 개발환경구축I 65

실습종료시...(필)

* 매 실습시간 완료후 Windows의 IP 주소를

초기 IP 주소 설정상태로 반드시 재설정할 것!!

Page 66: 제02강 개발 환경 구축 I - cms3.koreatech.ac.kr · RaspberryPi 개발환경구축I 1 ... (라즈베리파이 지원않음): 2.4 GHz 기본 무선 네트워크 선택후 다음

RaspberryPi 개발환경구축I 66

실습과제

[실습1] 개발환경 툴

: 제시된 개발 환경 툴의 설치 및 활용 숙지

⦁PuTTY : CLI 제공

⦁FTP(file transfer protocol) : 파일전송

⦁samba : 이종간 공유

⦁mstsc : GUI 제공

⦁DD for Windows : SD카드 백업 및 복구

[실습2] Linux 명령

: 제시된 기본 리눅스 명령을 충분히 숙지토록 실습

Page 67: 제02강 개발 환경 구축 I - cms3.koreatech.ac.kr · RaspberryPi 개발환경구축I 1 ... (라즈베리파이 지원않음): 2.4 GHz 기본 무선 네트워크 선택후 다음

RaspberryPi 개발환경구축I 67