Upload
others
View
0
Download
0
Embed Size (px)
Citation preview
개발자들이 알아야할
IBM Watson IoT 플랫폼 architecture 및 플랫폼 연계를 위한 Device 및 Application
Programming Quick Start
김동영 부장
한국IBM 왓슨 사물인터넷 사업부
IBM Watson IoT Platform
• Connect : 디바이스, 네트워크, 게이트웨이 등의 연결 및 관
리 (Ex, MQTT/s, HTTP/s)
• Information Management : 디바이스, 컨텍스트 데
이터의 저장 및 관리 (Ex, NoSQL DB, SQL DB, Message Hub)
• Analytics : 실시간 애널리틱스, 엣지 애널리틱스, 코그니티
브 애널리틱스 등을 활용한 데이터 분석 (Ex, Text to Speech,
Speech to Text, Natural Language Processing, Machine
Learning, Textual Analytics, Video/Image Analytics)
• Risk Management : 데이터 및 소프트웨어 등에 대한 확
인 및 신뢰성 제공 (Ex, Blockchain, Firmware Update)
IoT 솔루션 아키텍처
Your device or gateway
IBM Watson IoT Platform
Your application and analytics
REST & Real-time APl
MQTT / HTTP
MQTT / HTTP
IBM Watson IoT Platform and IBM Bluemix
Connect
Collect
Manage
APIs
Assemble
IBM Watson IoT Platform은 IBM Bluemix와 연동하여 클라우드 환경에서 Connect,
Collect, Assemble, Manage, Build 등의 IoT 어플리케이션 개발 환경을 제공합니다
Build (DevOps)
IBM Watson IoT Platform IBM Bluemix
Bluemix에서 IoT Starter 작성을 합니다
맑은고딕 32, Arial 32 • 맑은고딕 24
• Arial 24 • Node-RED 애플리케이션 템플릿 제공
• NoSQL DB 제공
• IoT Platform 인스턴스 제공
맑은고딕 32, Arial 32 • 맑은고딕 24
• Arial 24
IoT Starter를 사용해 Device 및 Application을
시작할 수 있는 가이드를 제공합니다
맑은고딕 32, Arial 32 • 맑은고딕 24
• Arial 24
IoT Starter를 통해 IBM Bluemix에 배포된 애플리케이션 및
서비스 대시보드를 제공합니다
• Node-RED 애플리케이션
• NoSQL DB 인스턴스
• IBM Watson IoT Platform 인스턴스
맑은고딕 32, Arial 32
• 맑은고딕 24
• Arial 24
Device 및 Application 개발에 필요한 문서 및
샘플 프로그램을 제공합니다.
디바이스 프로그램 개발
디바이스 프로그램
IBM Watson IoT Platform
Your application and analytics
REST & Real-time APl
MQTT / HTTP
MQTT / HTTP
Node RED Node.JS
Cloudant NoSQL DB
Node RED
애플리케이션
NoSQL DB
인스턴스
1
2
3
IoT 디바이스 프로그램을 작성하고 Node RED 애플리케이션으로 데이터를 확인합니다
맑은고딕 32, Arial 32 • 맑은고딕 24
• Arial 24
먼저, IoT 인스턴스의 대시보드로 이동하여
디바이스 유형 및 디바이스를 추가합니다
맑은고딕 32, Arial 32 • 맑은고딕 24
• Arial 24
대시보드 UI 또는 API를 사용해 디바이스를 추가합니다
맑은고딕 32, Arial 32
• 맑은고딕 24
• Arial 24
IoT 인스턴스에 연결할 디바이스의 유형
및 ID 등 필수 정보과 옵션 정보 등을 입력합니다
맑은고딕 32, Arial 32
• 맑은고딕 24
• Arial 24
********
디바이스를 IoT에 연결할 때 필요한
디바이스 신임 정보를 확인하고 별도
기록해 둡니다
맑은고딕 32, Arial 32 • 맑은고딕 24
• Arial 24
디바이스가 추가되었음을 확인합니다
나중에, 디바이스 정보 창을 통해 해당 디바이스로 부터 받은 이벤트 정보 및 히스토리를 파악할
수 있습니다
맑은고딕 32, Arial 32
• 맑은고딕 24
• Arial 24
Java, C, C#, Node.js, Python 등 다양한 디바이스
개발용 라이브러리(GitHub), 샘플(GitHub) 및 도움말을 제공합니다
맑은고딕 32, Arial 32
• 맑은고딕 24
• Arial 24
도움말에서 제공하는 내용은 샘플(GitHub)를 사용해 테스트할 수 있습니다
디바이스 개발 샘플(GitHub)를 사용해 이벤트 발송
및 커맨드 수신 등을 실행할 수 있습니다
맑은고딕 32, Arial 32
• 맑은고딕 24
• Arial 24 ********
Java 디바이스 샘플(GitHub)를 사용해 이벤트 발송하는 프로그램 일부분
– 디바이스 신임 정보 및 발송할 이벤트 데이터 등을 정의해야 함
NodeRED 샘플에서 필요한 데이터 포맷으로 발송하기 위해 실행시
필요한 옵션:
-Dcom.ibm.iotf.enableCustomFormat=false
이벤트를 제대로 발송했는 지 확인함
맑은고딕 32, Arial 32
• 맑은고딕 24
• Arial 24
Node RED Node.JS
Cloudant NoSQL DB
2
1
3
Node RED 애플리케이션으로 디바이스가 발송한 데이터를 확인합니다
Node RED
애플리케이션
NoSQL DB
인스턴스
맑은고딕 32, Arial 32
• 맑은고딕 24
• Arial 24
Node RED 애플리케이션에서 “ibmiot”
Input Node인 “IBM IoT App In”의
properties를 받고자 하는 등록된 디바이스 ID로 설정합니다
맑은고딕 32, Arial 32
• 맑은고딕 24
• Arial 24
디바이스 프로그램을 실행하여 IoT로 이벤트 데이터를 발송하게
하고, IoT로 부터 Node RED 애플리케이션이 이벤트 데이터를 수신할 수 있음을 확인합니다
이벤트를 제대로 수신했는
지 확인함
애플리케이션 프로그램 개발
디바이스 프로그램
IBM Watson IoT Platform
애플리케이션 프로그램
REST & Real-time APl
MQTT / HTTP
MQTT / HTTP
맑은고딕 32, Arial 32
• 맑은고딕 24
• Arial 24
Node RED Node.JS
Cloudant NoSQL DB
2
1
3
Node RED
애플리케이션
NoSQL DB
인스턴스
Node RED 애플리케이션 외에 추가로 이벤트 데이터를 수신할
애플리케이션을 작성합니다
맑은고딕 32, Arial 32 • 맑은고딕 24
• Arial 24
Java, C#, Node.js, Python 등 다양한 디바이스 개발용 라이브러리(GitHub), 샘플(GitHub) 및 도움말을 제공합니다
맑은고딕 32, Arial 32 • 맑은고딕 24
• Arial 24
도움말에서 제공하는 내용은 샘플(GitHub)를 사용해 테스트할 수 있습니다
애플리케이션 개발 샘플(GitHub)를 사용해 이벤트
수신 및 커맨드 발송 등을 실행할 수 있습니다
맑은고딕 32, Arial 32 • 맑은고딕 24
• Arial 24
******** ********
애플리케이션 개발시 필요한 신임 정보를 IoT 인스턴스 환경 변수에서 획득합니다
• 맑은고딕 24
• Arial 24 ********
********
Java 애플리케이션 샘플(GitHub)를
사용해 이벤트 수신하는 프로그램 일부분 – 애플리케이션 신임 정보 처리
부분
이벤트를 제대로 수신했는 지 확인함
맑은고딕 32, Arial 32
• 맑은고딕 24
• Arial 24 Java 애플리케이션 샘플(GitHub)를
사용해 이벤트 수신하는 프로그램 일부분 – 이벤트 수신 처리 부분
Node RED Node.JS
Cloudant NoSQL DB
IoT 디바이스 프로그램 및 IoT 애플리케이션 프로그램
다양한 Watson 코그너티브 API 포함 다양한 서비스를 제공합니다
Watson 코그너티브 API 등을 활용한 스마트 스피커 Use Case
Watson IoT
Platform
Text To
Speech
Speech
To Text
Insights for
Weather
Natural Lang
Classifier
Relationship
Extraction
IoT 디바이스 및 애플리케이션 개발 Summary
디바이스 프로그램
IBM Watson IoT Platform
애플리케이션 프로그램
REST & Real-time APl
MQTT / HTTP
MQTT / HTTP
IOT in Home
사물인터넷(IOT) 활용기
Yoonseok Hur, PhD
PureApplication Tech Sales Leader/IBM Asia Pacific
My Home IOT Network
Apps
(and services) IBM IoT Foundation
Home Router
Access Point & OpenVPN Server
IOT Gateway
Living Room Home Office
Apple TV
Home Device Control • MQTT • HDMI CEC • Infra Red(IR Remote)
Raspberry Gateway • IOT Gateway(Nodered) • OpenHAB Server • TV PVR(Kodi)
Amazon Echo
Kindle Photo Frame
ESP8266 Weekend Project
Devices
IBM IoT Foundation Apps
(and services) Amazon Alexa Services
Alexa Service
Skill API Voicie Interface : Utterance Intent Slot
ESP8266 Watson IOT Development
ES8266
Arduino
Sketch
IBM IoT Foundation
REGISTER devices
GENERATE API keys
HTTP HTTP
Bluemix
NodeRed https://circuits.io
Alexa Skill Application Architecture
Alexa, what’s the weather like in
Seoul Korea
Alexa Service
Skill API Voicie Interface : Utterance Intent Slot
Skill Developer
Skill Program AWS Lambda or Developer’s Cloud
https://www.youtube.com/watch?v=e1bBjQmiQfM
Watson Speech for Alexa
Devices
IBM IoT Foundation Apps
(and services) Raspberry Pi USB mic Watson Speech to Text
Smarter Planet : Internet Of Things
Our world is becoming
INSTRUMENTED
Our world is becoming
INTERCONNECTED
Virtually all things, processes and ways
of working are becoming
INTELLIGENT
Useful Links
Watson IOT Sample Codes https://github.com/ibm-watson-iot
Building Alexa Skills for IBM Bluemix https://www.youtube.com/watch?v=e1bBjQmiQfM Building Amazon Echo with Watson Speech https://www.losant.com/blog/how-to-build-an-amazon-echo-clone-with-ibm-watson-and-intel-edison
Online PCB Design Tool https://circuits.io
Programming the bare ESP8266 directly http://hackaday.com/2015/03/18/how-to-directly-program-an-inexpensive-esp8266-wifi-module/
Open Home Automation Bus http://www.openhab.org
Home IOT Project Artifacts
My IOT Circuit Board Design https://circuits.io/circuits/2825404-yhur_dht_relay2-2
ESP8266 Socket 3D Print Design http://www.thingiverse.com/thing:1786349
ESP8266 Testing Circuits https://circuits.io/circuits/2694992-esp8266-test-board-1-1
ESP8266 Flasher https://github.com/nodemcu/nodemcu-flasher
Thank you