IoT(사물인터넷) 보안 2016년 2학기 2. 라즈베리파이 준비.

Slides:



Advertisements
Similar presentations
ⓒ 2015 NHN Entertainment Corp. Django 로 만드는 초간단 블로그 시스템운영팀 김영태 개발환경 구축.
Advertisements

제어기 활용 -GPIO Ch.05 RaspberryPi Sejin Oh. Raspberry Pi 제어기 활용 -GPIO  GPIO (General Purpose Input Output)  마이크로프로세서가 주변장치와 통신하기 위해 범용으로 사용되는 입출력 포트 
을지대학교 무선 네트워크 사용 방법 2010 년 06 월 01 일. 을지대학교 무선 네트워크 사용 방법 1. PC 무선랜 카드 활성화 및 체크 1 단계 : 시작 -> 설정 -> 네트워크 설정 2 단계 : 무선 네트워크 설정 선택 -> 마우스 버튼 오른쪽 클릭 -> 사용.
임직원 APP 설치 가이드 경영전략처 정보기획 TF 팀. 임직원 App- 운영체제 구분  안드로이드 갤럭시, 갤럭시노트, 갤럭시 S4 [ 삼성전자 ] 옵티머스 [LG 전자 ] 베가 [ 팬텍 모토로이 [ 모토롤라 ]  ios 아이폰 [ 애플.
1 08 시스템 구성도 고려사항 * 웹 서버 클러스터 구성  클러스터 구축은 ㈜ 클루닉스의 Encluster 로 구축 (KT 인증,IT 인증 획득, 실제 클러스터 구축 사이트 200 여곳 )  웹 서버 클러스터는 Dynamic, Static, Image.
7 장. 원격지에서 리눅스서버를 관리하자. 텔넷서버를 설치 / 운영한다. SSH 서버를 운영한다. VNC 서버를 설치 / 운영한다.
개발환경 구축 RaspberryPi Sejin Oh. Raspberry Pi 개발환경 구축 2.
EHT-800 Specifications 8ch EX-SDI 하이브리드 DVR
Progress Report YoonMo Yeon
앱인벤터 기초과정 (1차시) ㈜헬로앱스 강사: 김영준 목원대학교 겸임교수.
난이도 : 초급 제1장 앱 인벤터 소개 및 준비.
2016 유성환 Hybrid MOBILE.
개발환경 구축 RaspberryPi Sejin Oh.
컴퓨터와 인터넷.

IoT(사물인터넷) 보안 2016년 2학기 3. 라즈베리파이 gpio.
IoT(사물인터넷) 보안 2016년 2학기 4. 라즈베리파이 카메라.
Selenium & Beautiful Soup
Ubuntu 실습 환경 만들기 컴퓨터공학부 김찬민.
스마트워크(가상화) 외부 접속 방법 정보관리실.
자바실험실 이동준 우리 곁으로 다가온 사물 컴퓨팅 자바실험실 이동준.
1. 신뢰할 수 있는 싸이트 등록 인터넷 익스플로러 실행 후 실행
IoT(사물인터넷) 보안 2016년 2학기 2. 라즈베리파이 준비.
Smart IoT 설계 시스템 Lecture 07. 센서와 액츄에이터 실습.
IoT(사물인터넷) 보안 2016년 2학기 3. 라즈베리파이와 node.js.
SSL - VPN 사용자 가이드 - IT 지원실 네트워크 운영팀 -.
Sep Youn-Hee Han 웹서비스 컴퓨팅 수업을 위한 코딩 환경 준비 Sep Youn-Hee Han
PHP입문 Izayoi 김조흔.
아두이노 기반 펌웨어 개발 FUTURE INNOVATOR 강사: 김 영 준 ㈜헬로앱스
임베디드 프로그래밍 Lecture #
DPR-1630&1615 IP공유기 셋팅 방법 고객지원팀 작성자 : 정청석.
Ch. 1 LINUX SYSTEM.
GPIO RaspberryPi Sejin Oh.
GPIO RaspberryPi Sejin Oh.
임베디드 프로그래밍 Lecture #
5장 Mysql 데이터베이스 한빛미디어(주).
Mysql Install on Azure
임베디드 시스템 개론 크로스 플랫폼 설치 2일차 강의 자료 Embedded System Lab.
독립형 모션제어기 사양 - Catalog (optional) XMC-PO04-MOD
4-1장. MySQL 제13장.
CHAPTER 02 OpenCV 개요 PART 01 영상 처리 개요 및 OpenCV 소개.
AP 모드 활용하기 WiFi 시리얼 보드 활용가이드 김영준 헬로앱스 (
컴퓨터정보공학부 서버 안내 [ IBM x3500 ] it.sangji.ac.kr ict.sangji.ac.kr 혹은
5장 Mysql 데이터베이스 한빛미디어(주).
웹 어플리케이션 보안 2016년 2학기 3. Mongo db.
IPAD2(ios 5.0.1) 사용자 메뉴얼 Mobile Service Team.
RPi2 SPI 8x8 Dot Matrix LED
설치 환경 □ 운영체제 버전 : CentOS Linux 7.2 □ 리눅스 커널 버전 :
Windows에서 Virtual Box를 이용한 Ubuntu 설치
SSH, VNC Mobile Engineering, Kyungwoon Univ. Embedded System Design.
WIN32 API 대전 TETRIS 시스템제어 허준호 박정욱 손경원 신동헌.
IPython Notebook + Spark + TensorFlow on MacOS
Go Lang 리뷰 이동은.
제품명 제품설명 제품규격 CPU: STM32F103VCT6-LQFP 100 Pin 256KB FLASH 48KB RAM
임베디드 시스템 개론 임베디드 타겟 보드 포팅 및 H/W 제어 3일차 강의 자료 Embedded System Lab.
툴 설치 가이드 PrimeTime SynopsysMentor.
라즈베리파이 기초과정 (1차시) ㈜헬로앱스 강사: 김영준 목원대학교 겸임교수.
IoT(사물인터넷) 보안 2016년 2학기 3. 라즈베리파이와 node.js.
1. 인증서버 :일반유선PC( 접속“CA관리” 클릭
리눅스 커널 프로그래밍 환경 구축 IT EXPERT 리눅스 커널 프로그래밍 Author : Byungki Kim
웹서버 기능으로 데이터 읽기 및 제어하기 WiFi 시리얼 보드 활용가이드 김영준
S-Work 2.0 DRM 신규 버전 설치 가이드 SOFTCAMP
네트워크 환경 구축과 이미지 전송 호스트/타겟 통신 직렬 통신을 이용한 이미지 전송 수퍼 데몬 BOOTP 환경 구축
IP-255S 설치 교육자료 101/102에 대한 설명을 시작 하겠습니다.
암호학 응용 Applied cryptography
시스템 인터페이스 Lab1 X-window 및 명령어 사용.
IPC 펌웨어 업그레이드 방법 안내 ** 반드시 IPC를 NVR POE 포트 연결 전에 작업 하시기 바랍니다. IPC를 NVR POE 포트에 연결 하실 경우 IP 대역폭을 마추셔야 하는 작업이 필요합니다. **
채팅 및 파일전송 프로그램 권 경 곤 김 창 년.
FTP 스캔 설정 방법 강사 : 이성휘 대리.
라즈베리파이를 활용한 NAS 만들기.
Presentation transcript:

IoT(사물인터넷) 보안 2016년 2학기 2. 라즈베리파이 준비

2. 라즈베리파이 준비

참고 사이트 엘레파츠 블로그 http://blog.naver.com/elepartsblog 라즈베리파이 OS 설치하기 라즈베리파이 스타트키트 시작하기 라즈베리파이 입출력키트 GPIO 제어하기 -1 라즈베리파이 입출력키트 GPIO 제어하기 -2 라즈베리파이 센서키트 - 초음파센서 제어하기 라즈베리파이 센서키트 - 적외선 물체 감지 센서 제어하기 라즈베리파이 3 시작하기 라즈베리파이 활용법 주요 포스트 http://wiki.rasplay.org/doku.php 산딸기마을 http://www.rasplay.org/

1. 라즈베리파이 라즈베리파이(Raspberry Pi) 영국 잉글랜드의 라즈베리파이 재단이 학교와 개발도상국에서 기초 컴퓨터 과학의 교육을 증진시키기 위해 개발한 신용카드 크 기의 싱글 보드 컴퓨터 2012년 3월에 출시 초소형/초저가 PC – 35불 개발 보드의 저가화와 대중화의 시대를 연 주역 사물인터넷에 활용

1. 라즈베리파이 라즈베리파이 재단 https://www.raspberrypi.org/

1. 라즈베리파이 라즈베리파이 모델 Raspberry PI 3 model B 1.2GHz QUAD Core Broadcom BCM2837 64비트 ARMv7 프로세서 BCM43438 Wi-Fi 장착 BLE(Bluetooth 저전력) 장착 1GB RAM USB 2 포트 4개 40핀 확장 GPIO HDMI 및 RCA 동영상 출력

1. 라즈베리파이 라즈비안 (Raspbian Jessie) 라즈베리파이 운영체제

1. 라즈베리파이 활용 사례 – 게임기

1. 라즈베리파이 활용 사례 – 병렬컴퓨터

1. 라즈베리파이 활용 사례 – 오락실 게임기

1. 라즈베리파이 활용 사례 – 스마트카?

2. 라즈베리파이 준비 라즈베리파이 공식 사이트에서 라즈비안 다운로드 https://www.raspberrypi.org/ https://www.raspberrypi.org/downloads/ 1.4GB Zip파일 압축 해제 ->img 파일 생성

라즈비안 운영체제 설치 Win32DiskImager (Image writing tool) 설치 SD카드에 라즈비안 이미지 굽기 https://sourceforge.net/projects/win32diskimager/ SD카드에 라즈비안 이미지 굽기 DiskImager를 관리자 권한으로 실행 이미지파일 위치 SD카드 위치 쓰기

라즈베리파이 연결 SD카드를 라즈베리파이에 장착 모니터, 랜, 키보드, 마우스 케이블 연결 전원 케이블 연결하면 부팅 시작 (별도 전원버튼 없음)

네트워크 연결 IP주소/맥주소 확인 WIFI로 네트워크 연결 고정 IP 설정 (필요시) $ ifconfig eth0 Wlan0 설정 변경 $ sudo nano /etc/network/interfaces 네트워크 재시작 $ /etc/init.d/networking restart

Putty를 이용한 SSH 연결 PC에서 putty 실행 Hostname: 라즈베리파이의 IP 주소 Port: 22 Connection type: SSH ID: pi (기본 아이디) Password: raspberry (공장설정 기본 패스워드) SSH 접속 프로그램 한글 Putty 설치하기  HangulPuTTY-0.60.h1a2.exe 한글코드를 UTF-8로 설정하기: 창 > 변환 > 문자셋을 UTF-8로 선택 

UART를 이용한 USB 포트 연결 UART란? UART (범용 비동기화 송수신기, Universal asynchronous receiver/transmitter) 병렬 데이터의 형태를 직렬 방식으로 전환하여 데이터를 전송하 는 컴퓨터 하드웨어의 일종 UART는 일반적으로 EIA RS-232, RS-422, RS-485와 같은 통신 표 준과 함께 사용

UART를 이용한 USB 포트 연결 GND TX RX

3. 라즈베리파이 설정 $ sudo raspi-config 실행

3. 라즈베리파이 설정 1. Expand Filesystem (파일시스템 확장) 라즈비안 초기 설치시 2G 정도의 용량만 사용하도록 설정됨 SD 전체를 사용하기 위해서는 이 메뉴(Expand FileSystem)를 실 행해야 함. 리부팅 후 용량 확인 $ df -h 2. Change User Password (사용자 패스워드 변경) 공장설정 기본 패스워드는 해킹 위험. 반드시 변경 요망 터미널 상에서 패스워드 변경 명령 사용 가능 $ passwd 이전 패스워드 입력 새로운 패스워드 입력

3. 라즈베리파이 설정 3. Hostname 설정 4. SSH 허용 설정 (기본 설정은 허용) 5. 국가별 설정 9. advanced option -> Hostname 선택 프롬프트가 바뀜 4. SSH 허용 설정 (기본 설정은 허용) 9. advanced option -> SSH 선택 5. 국가별 설정 Internationalisation Options 선택 I1 Change Locale : en_GB.UTF-8 UTF-8, en_US.UTF-8 UTF-8, ko_kr.UTF-8 UTF-8, ko_kr.EUC-KR EUC-KR default: ko_KR.UTF-8 I2 Change Timezone : Asia/Seoul 설정 I3 Change Keyboard Layout : Generic 105 key (Intl) PC -  Korean, 이하 default 선택 저장 후 리부팅

3. 라즈베리파이 설정 한글폰트 설치 (시스템 전체의 한글 지원) 한글입력기 설치 (한글 입력 가능하게) 폰트 설치 재부팅 sudo apt-get install ttf-unfonts-core 재부팅 한글입력기 설치 (한글 입력 가능하게) sudo apt-get install ibus ibus-hangul 메뉴 / Preferences / iBus Preferences / Input Method 에서 Korean 추가 메뉴 / Preferences / iBus Preferences / General 에서 keyboard shortcuts 설정

3. 라즈베리파이 설정 루트 패스워드 변경 새로운 아이디 생성, 패스워드 설정 $ sudo passwd root $ su - $ useradd ID $ passwd ID

4. 라즈베리파이용 키트 소개 스타트키트 입출력키트 센서키트 미디어키트

스타트 키트 http://www.eleparts.co.kr/EPXGJHLM 라즈베리파이 3 어댑터 5V 방열판 MicroSD 카드, 16GB LAN 케이블 HDMI 케이블 카드리더 라즈베리파이 케이스 키트 케이스

입출력 키트 http://eleparts.co.kr/EPXDTWPM 소켓점퍼케이블 GPIO 40핀 확장 모듈 브레드보드 LED 저항 스위치

라즈베리파이 GPIO 구성

센서 키트 http://www.eleparts.co.kr/EPXDTWR8 초음파센서, 디지털 적외선 물체감지센서, 온습도센서, 아날로그 사운드 센서, 디지털 접촉식 터치 센서

미디어 키트 http://www.eleparts.co.kr/EPXDTWR9 3.5인치 터치 LCD 라즈베리파이 카메라

5. 웹서버 설치 및 운영 웹서버 설치 확인 $ sudo apt-get update $ sudo apt-get install apache2 (apache2 설치) $ cd /var/www/html (웹문서 폴더) $ sudo rm index.html (기본 웹문서 삭제) $ sudo nano index.html (새 웹문서 작성) 웹브라우저로 접속하여 웹서비스 확인 http://localhost 또는 http://IP주소 외부에서 웹브라우저를 이용하여 IP주소로 접속하여 확인

6. GPIO 입출력 개발 환경 구축 GPIO (General Purpose Input / Output) 개발환경 범용적인 목적으로 입/출력을 담당 개발환경 C언어 환경 Node.js 환경 Python 환경

GPIO 핀 번호

GPIO 핀 번호

GPIO 활용 GPIO 키트의 기본 활용법 Breadboard에 회로 구성하는 방법

WiringPI Wiring Pi 라즈베리파이를 위한 GPIO Interface library http://wiringpi.com/ 설치: > sudo apt-get install wiringpi

C언어 개발 환경 wiringPi 설치 gcc를 이용한 컴파일 $ sudo apt-get install wiringpi $ nano blink.c $ gcc -Wall -o blink blink.c -lwiringPi $ sudo ./blink

Node.js 개발 환경 Node.js 기본 설치 설치된 Node.js 지우기 $ sudo apt-get install nodejs $ node -v : node.js의 버전 확인 (v0.10.29) $ npm –v : 노드 설치 관리자 npm의 버전 확인 (1.4.21) 오래된 버전이 설치됨 설치된 Node.js 지우기 $ sudo apt-get remove nodejs

Node.js 개발 환경 최신버전 패키지 다운로드 최신버전 설치 버전 확인 $ wget http://node-arm.herokuapp.com/node_latest_armhf.deb 최신버전 설치 $ sudo dpkg -i node_latest_armhf.deb 설치 후 로그아웃 후 다시 로그인 버전 확인 $ node –v (v4.2.1) – 프로그램 실행 $ npm –v (2.14.7) - 노드 패키지 매니저 (패키지 설치)

Node.js 개발 환경 Wiring-pi 설치 Wiring-pi의 활용 API 문서 참조 소스 작성 실행 $ npm install wiring-pi Wiring-pi의 활용 Node.js 자바스크립트 프로그램에서 활용 var wpi = require('wiring-pi'); API 문서 참조 https://github.com/WiringPi/WiringPi- Node/blob/master/DOCUMENTATION.md 소스 작성 $ vi led.js 실행 $ sudo node led.js 루트 권한이어야 실행 가능 // led.js var wpi = require('wiring-pi'); var sleep = require('sleep'); wpi.setup('gpio'); wpi.wiringPiSetup(); wpi.pinMode(3, wpi.OUTPUT); wpi.pinMode(4, wpi.OUTPUT); while(true) {  wpi.digitalWrite(3, wpi.LOW);  wpi.digitalWrite(4, wpi.HIGH);  sleep.sleep(1);  wpi.digitalWrite(4, wpi.LOW);  wpi.digitalWrite(3, wpi.HIGH); }

Python 개발 환경 파이썬 개발 패키지, 셋업툴 설치 wiringPi 다운로드 WiringPi module 업데이트 $ sudo apt-get install -y python-dev python-setuptools wiringPi 다운로드 다운로드 $ git clone git://git.drogon.net/wiringPi WiringPi module 업데이트 $ cd wiringPi (폴더로 이동) $ git pull origin  WiringPi 설치 $ ./build WiringPi-Python GPIO 테스트 $ gpio –v $ gpio readall

Python 개발 환경 WiringPi2-Python 다운로드 WiringPi2-Python 설치 $ cd ~ (루트 폴더로 이동) $ git clone https://github.com/Gadgetoid/WiringPi2-Python.git (다운로드) WiringPi2-Python 설치 $ cd WiringPi2-Python (폴더로 이동) $ sudo python setup.py install (설치) Python은 운영체제 설치시 기본 설치되어 있음 파이썬 실행 $ python 종료 >>> ctrl + D

Python 개발 환경 파이썬 프로그램 작성 실행 GPIO 테스트 $ vi hello.py $ python hello.py print(‘Hello world!’) 실행 $ python hello.py GPIO 테스트 $ vi gpio-test.py $ sudo python gpio-test.py