IoT(사물인터넷) 보안 2016년 2학기 3. 라즈베리파이와 node.js.

Slides:



Advertisements
Similar presentations
성동구 성수동 지역 답사 및 투자가치 분석 1. 성수동 주요지표 및 재개발 개요 2. 뚝섬 서울숲 시민공원 개요와 영향 3. 신분당선 연장 노선과 영향 4. 성수동 랜드마크 아파트 동향 ( 롯데 캐슬, 현대 아이파크 ) 5. 성수동 지역 재개발 동향 ( 아파트, IT 공업단지,
Advertisements

Page 1 Android Programming November 04 / 2009 S/W Junhyuk Jang.
Smart IoT 설계 시스템 Lecture 09. Smart IoT 시스템 소개. Smart IoT 설계 시스템 2.
정비사업 현황도 사업 절차 재개발·재건축 현황 주택재개발 주택재건축 도시환경정비 Page 3
인적사항 기재요령 ▣ 주민등록번호, 주소 반드시 확인 (주민등록 등본과 일치 원칙)
도면과 문서를 더 쉽고 빠르게 LIGHT EDITION 도면관리 솔루션 제안서 코너스톤테크놀러지㈜
IoT(사물인터넷) 보안 2016년 2학기 3. 라즈베리파이 gpio.
IoT(사물인터넷) 보안 2016년 2학기 4. 라즈베리파이 카메라.
Introduction to Django
개발 환경 설치 Embedded System Software
ThingPlug_SDK_Android
01. 안드로이드 개요와 개발환경 구축 제목.
IoT(사물인터넷) 보안 2016년 2학기 2. 라즈베리파이 준비.
Smart IoT 설계 시스템 Lecture 07. 센서와 액츄에이터 실습.
웹 해킹 기초와 실습.
웹어플리케이션 보안 Web application security
BIG Data 컴퓨터응용과학부 박진완.
Geek OS Setup 정범종
1장. JSP 및 Servlet을 활용한 동적 웹 프로그래밍 소개 제1장.
임베디드 프로그래밍 Lecture #
Tftp, nfs, samba 실습 임베디드 시스템 I.
GPIO RaspberryPi Sejin Oh.
GPIO RaspberryPi Sejin Oh.
웹 서버 만들기 5장 Do it! Node.js 프로그래밍 이지스퍼블리싱 제공 강의 교안 2017/03
임베디드 프로그래밍 Lecture #
XEN & CLOUD SPARCS14 ONION.
node.js, express, jade, mongodb를 이용한 웹 어플리케이션 개발
주방 안전지킴이 강민준 강재성 이로운 최민성.
IPython Notebook + Spark + TensorFlow on Linux
MEAN Stack Front to Back
고성능 컴퓨터 관리를 위한 클러스터 플랫폼 개발
UNIX Unbounded A Beginning Approach
임베디드 프로그래밍 Lecture #
Geek OS.
Introduction Open Platform nodes H/W modules Technical Issues.
JSON-RPC 서버 만들기 11장 Do it! Node.js 프로그래밍 이지스퍼블리싱 제공 강의 교안 2017/03
Sun Java System Web Server 6.1 설치와 WebLogic 8.1과의 연동
웹 어플리케이션 보안 2016년 2학기 8. MEAN APP – USER CRM.
사물인터넷(IoT) 융합실습을 위한 교육용 실습장비
MEAN Stack Front to Back (MEANAuthApp)
웹 어플리케이션 보안 2016년 2학기 4. Restful node apI 만들기.
웹 어플리케이션 보안 2016년 2학기 3. Mongo db.
RaspberryPi3 및 Pi camera 3D Printing 출력물과 *[rPi + Pi cam] 병합모듈 제작
웹 어플리케이션 보안 2016년 2학기 2. Node routing.
「 LINUX IBM SpectrumScale 설치 가이드」
RPi2 SPI 8x8 Dot Matrix LED
MEAN Stack Front to Back
웹 서버 활용 RaspberryPi Sejin Oh.
Raspberry Pi GPIO PWM Servo Motor
라즈베리파이 기초과정 (1차시) ㈜헬로앱스 강사: 김영준 목원대학교 겸임교수.
IoT(사물인터넷) 보안 2016년 2학기 3. 라즈베리파이와 node.js.
1장. HTML5 소개 To Flash 정보영재세미나 1 김태영교수님 홍창의.
운영체제 RaspberryPi Sejin Oh.
노드로 만들 수 있는 대표적인 서버와 용도 준비마당 Do it! Node.js 프로그래밍 이지스퍼블리싱 제공 강의 교안
05 ASP.NET 2.0 페이지 및 응용 프로그램 구조 웹 폼(Web Form) 웹 폼 이벤트
정보 INFRA 구축 RF카드를 이용한 고객관리시스템 구축 에클라트소프트.
암호학 응용 Applied cryptography
3D ONLINE PLAMODEL PRODUCTION
HTML HTML 기본 구조와 태그 다양한 태그 다루기
웹 스크래핑.
운영체제보안 3번 과제 설명 팀 기반의 설계 프로젝트 박민재
Job Manager V7.0 분산된 여러 Cell (Base Edition 의 경우 각 서버) 에 대한 통합 관리
Node Red 컴퓨터공학과 오동근 1.
“전자구매” 메뉴 접속을 위해 “전자입찰” 메뉴에서 공인인증서 등록
인천SW교육지원센터 체험프로그램 라즈베리파이 이용 포토부스 만들기.
전문건설업의 정도경영 기업생존의 핵심요소 성건회 투명사회실천위원회 성건회 투명사회실천위원회 안녕하십니까!
MEAN Stack Front to Back
MEAN Stack Front to Back (MEANAuthApp)
라즈베리파이를 활용한 NAS 만들기.
MEAN Stack Front to Back (MEANAuthApp)
Presentation transcript:

IoT(사물인터넷) 보안 2016년 2학기 3. 라즈베리파이와 node.js

3. 라즈베리파이와 Node.js

Node.js 개발환경의 장점 사물인터넷의 최종 사용자 환경은 웹서비스 Node.js는 자바스크립트 기반의 서버 개발 환경 MEAN stack을 이용하면 서버, 클라이언트, DB 등의 전체 웹 플 랫폼을 자바스크립트 기반으로 개발할 수 있음 개발자들에게 최근 자바스크립트가 인기가 높아지고 있음

Node.js 설치 라즈베리파이 설치, 로그인, 터미널 열기 시스템 업그레이드, 업데이트 Node.js 설치 $ sudo apt-get upgrade $ sudo apt-get update 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 웹서버 테스트 Express 를 이용한 간단한 웹서버 https://github.com/scotch-io/mean-machine- code/tree/master/06-node-server/express-server 새로운 폴더 생성 및 이동: md test 프로젝트 초기화: npm init Express 설치 : npm install express # index.html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Super Cool Site</title> <style> body { text-align:center; background:#EFEFEF; padding-top:50px; } </style> </head> <body> <h1>Hello Universe!</h1> </body> </html> # Server.js // load the express package and create our app var express = require('express'); var app = express(); // set the port based on environment (more on environments later) var port = 1337; // send our index.html file to the user for the home page app.get('/', function(req, res) { res.sendFile(__dirname + '/index.html'); }); // start the server app.listen(1337); console.log('1337 is the magic port!');

Node.js 웹서버 테스트 Mean machine code 참조 07-node-routing 테스트 https://github.com/scotch-io/mean-machine-code 07-node-routing 테스트 프로젝트 폴더 만들기: node/07-node-routing 프로젝트 폴더로 이동 $ npm init 명령 실행 Index.html 카피 Server.js 카피 express 패키지 설치 $ npm install express --save 서버 실행 $ node server.js 웹브라우저로 테스트 http://localhost:1337/users/

MongoDB 설치 mongoDB는 문서 기반의 NoSQL 데이터베이스 설치 서버 시작 클라이언트로 서버에 연결 https://www.mongodb.com/ 설치 $ sudo apt-get install mongodb-server 서버 시작 $ sudo service mongod start 클라이언트로 서버에 연결 $ mongo

Node.js로 라즈베리파이 다루기 Npm을 이용한 관련 패키지 설치 Raspberry pi 관련 패키지 Npm (node package manager) https://www.npmjs.com/ Raspberry pi 관련 패키지 Wiring-pi gpio pi-gpio rpi-gpio raspberry

라즈베리파이+node.js IoT 프로젝트 Circulus 프로젝트 http://circul.us/view/common/index.html Opensource H/W + Node JS IoT 따라잡기 Lesson 1 - Introduction Opensource H/W + Node JS IoT 따라잡기 Lesson 2 - Linux Opensource H/W + Node JS IoT 따라잡기 Lesson 3 - NodeJS Opensource H/W + Node JS IoT 따라잡기 Lesson 4 - Sensor Opensource H/W + Node JS IoT 따라잡기 Lesson 5 - Project

Wiring-pi를 이용한 GPIO 제어 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 도전 과제 GPIO를 이용한 LED 제어 프로그래밍

GPIO

LED 동작 단자가 긴 쪽이 (+) LED소자의 깎인 쪽이 (-)

Breadboard (빵판) 회로 연결 방향

저항 (register) 성능이 낮은 전도체의 양쪽 끝 또는 측면에 도선이나 전 도체 2개가 붙어있는 형태로 되어 있음 단위는 옴(ohm) 이며, 기호로는 그리스어의 오메가를 사용 용도 캐패시터 충전율 제한 양극성 트랜지스터와 같은 반도체 부품의 전압 제어 LED 또는 기타 반도체 부품의 과다 전류 방지 다른 부품과 결합하여 사용하는 오디오 회로에서 주파수 응답의 조정 또는 제한 디지털 논리 회로에 입력되는 전압의 풀업 저항 또는 풀 다운 저 항용 회로 내 한 지점에서의 전압 제어용

저항 (register)

회로 구성 (-) GND (+) GPIO 3 (-) GND (+) GPIO 4

회로 구성

LED 제어 프로그래밍 LED 제어 프로그램 패키지 설치 소스 작성 실행 두개의 LED를 번갈아 켜고 끄기 $ npm install wiring-pi $ npm install sleep 소스 작성 $ vi led.js 실행 $ sudo node 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); }

실행 결과