Node.js로 만들어나가는 IoT세상 Node.js는 왜 주목을 받는가

Slides:



Advertisements
Similar presentations
프로그래밍언어론 TA 윤들녁. 소개 윤들녁 연락처 : 공대 7 호관 4 층 401 호 데이터베이스 연구실 실습 후 날짜 _ 학번.zip 으로.
Advertisements

을지대학교 무선 네트워크 사용 방법 2010 년 06 월 01 일. 을지대학교 무선 네트워크 사용 방법 1. PC 무선랜 카드 활성화 및 체크 1 단계 : 시작 -> 설정 -> 네트워크 설정 2 단계 : 무선 네트워크 설정 선택 -> 마우스 버튼 오른쪽 클릭 -> 사용.
한국클라우드서비스협회 ▶ 제키톡 서비스 - 제키톡 서비스 ∙ 안드로이드 기반의 모바일 무료 메시지, 무전기, 채팅 어플리케이션으로 국내뿐만 아니라 전세계 대상으로 서비스 제공 중 ∙ 현재 안드로이드폰을 대상으로 서비스 중이며, 아이폰을.
ReadyNAS Surveillance for x86 platform (Version ) NETGEAR.
.Net History. Visual Studio.Net 2002 /.Net Framework 1.0 제품의 버전 / 특징 2002 년 - Visual Studio.Net 2002 /.Net Framework 1.0 첫 통합 개발 환경 - C# 언어 등장 (C# 1.0)
난이도 : 초급 제1장 앱 인벤터 소개 및 준비.
2016 유성환 Hybrid MOBILE.
컴퓨터와 인터넷.
컴퓨터 운영체제의 역사 손용범.
목 차 C# 언어 특징 .NET 프레임워크 C# 콘솔 프로그램 C# 윈도우 프로그램 실습 프로그래밍세미나 2.
일반 요구 사항 비즈니스 요구사항 고객/정보/위치/상태 탐색방법 제품/서비스 홍보 및 광고 방법
CHAP 22. 블루투스.
네트워크 기술을 통한 현재와 미래 소개.
Power Java 제3장 이클립스 사용하기.
Ch.07-5 xml-rpc 사용하기 김상엽.
1. Windows Server 2003의 역사 개인용 Windows의 발전 과정
Network Lab. Young-Chul Hwang
Power Java 제2장 자바 개발 도구.
PHP입문 Izayoi 김조흔.
임베디드 프로그래밍 Lecture #
운영체제 박상민.
JSP Programming with a Workbook
4장. 웹로직 서버상에서의 JDBC와 JTA의 운용
Pincom Study team ARDUINO of IOT Members : 이학성, 김도건.
31강 JAVA 네트워크 JAVA 네트워크 InetAdress, URLConnection 클래스 Socket의 이해
Java 기초 (Java JDK 설치 및 환경설정)
11 장 LAN 기본 개념과 Ethernet LAN
CHAPTER 02 OpenCV 개요 PART 01 영상 처리 개요 및 OpenCV 소개.
Visual Basic .NET 처음 사용하기.
FTP 프로그램 채계화 박재은 박수민.
                              데이터베이스 프로그래밍 (소프트웨어 개발 트랙)                               퍼스널 오라클 9i 인스톨.
모바일 자바 프로그래밍 JDBC / WAP Ps lab 오민경.
Chapter 03 : 서블릿 ( Servlet ) 개요. chapter 03 : 서블릿 ( Servlet ) 개요.
제 01 장 인터넷 프로그래밍 개요 학기 인터넷비즈니스과 강 환수 교수.
Wireless Java Programming
(개정판) 뇌를 자극하는 Red Hat Fedora 리눅스 서버 & 네트워크
Method & library.
리눅스 시스템 & 커널 기초 P.46 – P.53 이름: nsh009 학번: 112 1/20.
뇌를 자극하는 Windows Server 장. 원격 접속 서버.
2016년 2학기 PULSE 4 Experiment 12 – 블루투스 통신.
자율주행 차량용 드라이빙 컴퓨팅 하드웨어 플랫폼 05
프로그래밍 원리 Chapter 05 자바스크립트 기초 신한대학교 IT융합공학부 박 호 균.
(개정판) 뇌를 자극하는 Red Hat Fedora 리눅스 서버 & 네트워크
Tiny OS와 NesC Tiny OS Part1. Won Mi Sun – 17 지능제어 연구실.
웹디자인
AUTODESK AUTOCAD ELECTRICAL 전기제어 2D 설계 소프트웨어 표준기반 설계 생산성 도구 구조도 설계
LabVIEW WiznTec 주임 박명대 1.
자바로 만든 채팅 프로그램 임경진 조주경 지도교수님 : 이광세 교수님.
웹서버 기능으로 데이터 읽기 및 제어하기 WiFi 시리얼 보드 활용가이드 김영준
인천대학교 웹과 인터넷 수업 개요 및 내용 소개.
Self Introduction Template PowerPoint
네트워크 환경 구축과 이미지 전송 호스트/타겟 통신 직렬 통신을 이용한 이미지 전송 수퍼 데몬 BOOTP 환경 구축
홈 네트워크 시스템 Home Network System.
클러스터 시스템에서 효과적인 미디어 트랜스코딩 부하분산 정책
암호학 응용 Applied cryptography
자이로센서와 GPS를 이용한 블랙박스 G.Cube DSP skc.
LAN의 구성요소 학습내용 서버 클라이언트 NIC(Network Interface Card) 전송매체
Introduction to JSP & Servlet
암호학 응용 Applied cryptography
멀티미디어시스템 제 4 장. 멀티미디어 데이터베이스 정보환경 IT응용시스템공학과 김 형 진 교수.
11장 배열 1. 배열이란? 1.1 배열의 개요 1.2 배열의 선언과 사용.
9 브라우저 객체 모델.
프로그래밍 언어 학습을 위한 가상실습환경 창원대학교 이수현.
1장 C 언어의 개요 C 언어의 역사와 기원 C 언어의 특징 프로그램 과정 C 프로그램 구조 C 프로그램 예제.
학부 컴퓨터공학부 교육과정 (학부) 2학년 4학년 3학년 1학년 1학기 2학기 IPP 자격과정 전공트랙
CHAP 15. 데이터 스토리지.
CDMA / LTE LoRa /CAT.m/NbIoT LTE 기지국 STA 모드 WiFi / 유선 네트워크 SKT
JAVA 프로그래밍 16장 JNLP.
20 XMLHttpRequest.
홈 네트워크 시스템 Home Network System.
Presentation transcript:

Node.js로 만들어나가는 IoT세상 Node.js는 왜 주목을 받는가 Korea University of Technology and Education UoC Laboratory Raejin Jeong

1.1 Concept of IoT “주변의 모든 사물이 인터넷으로 연결되어 서로 통신하면서 사용자들에게 유익한 서비스를 제공”

1.1 Concept of IoT IoT 시대의 도래 – “평범한 물건들이 IoT와 접목되어 새로운 가치를 창출” 무선네트워크 기술의 발달, 센서 및 컴퓨팅의 소형화 등으로 인한 스마트 기기의 출현

1.2 Definition of IoT 케빈 애쉬튼(Kevin Ashton) “Internet of Things / 사물인터넷”을 처음으로 제시 <That ‘Internet of Things’ Things> - “대부분의 정보는 사람에 기인하지만 사람은 정보를 생성하고 처리하는 것에 적합하지 않다. 따라서 사람의 개입 없이 정보를 수집하고 재가공하는 시스템이 IoT이다.” 기타 몇 가지 정의 모든 사물에게 까지 연결을 제공하는 네트워크의 네트워크. (ITU, 2005) 대상물들(objects) 간의 통신이 가능한 네트워크와 서비스. (EU policy Outlook RFID, 2007) 데이터 수집과 통신능력을 이용해 물리적, 가상적 대상들을 연결하는 글로벌 네트워크 인프라. (CASAGRAS Final Report, 2009) 표준통신 프로토콜 기반이면서 독자적인 자체 주소로 상호 연결된 물건들의 세계적인 네트워크. (EU IoT in 2020, 2008)

칼로리 체크를 해주는 스마트 컵 - Vessyl 1.3 Factor of IoT 사물 : Sensing 및 데이터 전송 능력을 가진 사물. 칼로리 체크를 해주는 스마트 컵 - Vessyl 네트워크 서비스 사물 네트워크 : 사물간의 연결. - Blutooth LE(Low Energy)가 각광받음 서비스 : 수집된 정보를 분석하여 어떤 판단을 내림.

1.3 Factor of IoT 네트워크를 이용하여 사람과 사물, 사물과 사물간의 지능 통신을 할 수 있는 M2M(Machine to Machine)의 개념 현실과 가상세계의 모든 정보와 상호작용 인간 서비스 사물 공간

1.4 Element Technology of IoT 센싱 및 액츄레이터 기술 센서를 통해 외부의 상황을 인지(Context-Awareness), 액츄레이터를 통해 사용자와 상호작용 온도/습도/열/가스/초음파 센서와 더불어 레이더, GPS, 모션, 영상 등 주변 환경에서 얻는 정보를 포함

1.4 Element Technology of IoT 유무선 네트워크 인프라를 통한 데이터 처리 기술 WiFi, 3G/4G/LTE, Bluetooth 등을 통해 인간과 사물, 서비스를 연결 시킬 수 있는 네트워크를 통해 데이터를 수집 센서를 통해 얻은 내용으로 부터 특정 정보를 추출하는 빅 데이터 분석을 통해 지능적이고 고차원적인 정보를 추출 지능화된 기능 서비스 제공을 위한 데이터 저장, 처리, 변환 등의 역할 수행 외부에서의 정보를 분석하여 자체적으로 판단을 내리는 기능

1.5 Structure of IoT 디바이스 - 서버와의 연결방식 디바이스 - 서버와의 연결방식 직접 서버 연결 : 디바이스에 직접 연결하여 접속할 네트워크 설정 스마트 폰을 통한 간접 연결 : 직접 방식보다 간단하지만 디바이스를 인터넷으로 제어 불가 전용 게이트웨이를 통한 연결 : 디바이스들을 연결하는 AP를 구성

1.5 Structure of IoT 서버 – 데이터 처리 어플리케이션 – 서버의 데이터 활용 수많은 디바이스로 부터 전송된 작은 데이터 처리 연결된 디바이스의 효과적인 연결 및 관리 (인증, 적합성 검사 등) 오픈 소스 IoT 플랫폼 Xively (xively.com) 어플리케이션 – 서버의 데이터 활용 RESTful방식을 통한 오픈 API 활용 (ex : 다음 개발자 네트워크)

2.1 Node.js 라이언 달(Ryan Dahl) Node.js Creator / Software Engineer at Joyent 크롬 웹 브라우저의 자바스크립트 엔진인 V8을 이용해 이벤트 기반의 TCP라이브러리와 HTTP서버를 만드는 아이디어 제시 “자바스크립트로 네트워크 애플리케이션을 작성 할 수 있는 플랫폼” “서버사이드 자바스크립트”

2.1 IoT & Node.js 개발 관점에서 본 Node.js의 특징 NPM 모듈을 통한 기능 확장 (Node Package Manager) 모듈을 통한 기능 확장 Npmjs.org 에 등록된 모듈 약 10만개 다수의 개발자를 통한 검증, 높은 생산성

2.1 IoT & Node.js 개발 관점에서 본 Node.js의 특징 고급자료 구조 비동기I/O 성능실험 문자열, 객체, 해시, 배열 등의 고급 자료구조 제공 가비지 셀렉션 제공 중요 이벤트가 발생할 때 시스템이 호출 함수를 정의 하는 방식 이벤트 루프를 통해 이벤트 감지와 이벤트 핸들러 트리거 수행 클로저(Closure)를 통하여 자신의 범위 밖에 있는 변수 접근 비동기I/O (이벤트 기반 방식) 성능실험 100,000,000개의 32비트 정수형 난수데이터를 정렬하는데 걸리는 소요시간 비교

2.1 IoT & Node.js 관리 관점에서 본 Node.js의 특징 Java Script 단일언어 대중적인 언어를 통한 개발자 확보 측면에서 유리 프로그래밍 언어 인기순위 현재 12위 (tiobe.com) 단일언어 서버와 클라이언트를 하나의 언어로 개발 가능 서버, 클라이언트간 데이터를 이동할 때 자료 변환에 따른 오류 방지 특정한 로직에 대해 서버와 단말이 나누어 처리 가능 개발자가 새로운 언어에 적응하는 시간 최소화

2.1 IoT & Node.js 비즈니스 관점에서 본 Node.js의 특징 저사양 고성능 크롬의 V8 자바스크립트 엔진을 통한 JS 최적화 및 JIT(Just-In-Time) 실행. 소스코드 중간코드 (바이트코드) 기계어 컴파일 런타임 스크립트 언어 컴파일 불필요, 인터프리터를 통한 런타임 실행. 자바스크립트를 동적으로 서버에서 다운로드 하여 업데이트.

“실시간 시스템 구축 하기 위해 Node.js와 펌웨어를 활용하는 시스템을 연계” 2.2 Constraint of Node.js IoT 시스템에서 Node.js가 극복해야 할 과제 비교적 고사양의 하드웨어가 필요 연산에 필요한 소요시간이 일정하지 않다. ( ↔ RTOS(Real Time Operating System) “실시간 시스템 구축 하기 위해 Node.js와 펌웨어를 활용하는 시스템을 연계” 싱글 시스템 : OS로 리눅스 탑재, Node.js를 통한 IO제어 ex) 라즈베리파이, 비글본 듀얼 시스템 : IO제어는 펌웨어, 통신 및 응용은 Node.js 활용 ex)아두이노, 갈릴레오

2.3 Node.js Open Source Project duino와 firmata – 아두이노를 제어하기 위한 Node.js 모듈 duino vs firmata duino firmata 연결방식 시리얼 firmata(표준프로토콜)

2.3 Node.js Open Source Project - 라이브러리 Heimcontrol – 아두이노 + 라즈베리파이 Node.js의 모듈을 활용한 웹 인터페이스 제어 아두이노와 라즈베리파이를 통한 GPIO(General Purpose IO) 제어 Bonescript 1GHz 프로세서, 512MB RAM, 3D 가속 가능 비글본 블랙을 제어할 수 있는Node.js의 모듈 제공 아두이노와 API가 유사

2.3 Node.js Open Source Project - 제작도구 Node-RED Node.js를 이용하는 비주얼 저작도구 기능들을 박스형태로 만들고 관계를 선으로 연결하여 프로그래밍 Espruino 아두이노를 C/C++대신 자바스크립트를 이용해서 개발 할 수 있는 환경 제공 자바스크립트 엔진을 칩에 내장 웹브라우저를 통해 프로그래밍과 디버깅 가능 스크래치, Blockly와 같은 개발 환경 제공