with RAD Studio (Connected Apps)

42
EMBARCADERO TECHNOLOGIES [email protected] tech.devgear.co.kr 커넥티드 앱을 개발하는 플랫폼 (윈도우와 다양한 디바이스) 사물인터넷 앱 개발 with RAD Studio (Connected Apps)

Transcript of with RAD Studio (Connected Apps)

Page 1: with RAD Studio (Connected Apps)

[email protected]

커넥티드 앱을 개발하는 플랫폼(윈도우와 다양한 디바이스)

사물인터넷앱개발withRADStudio(ConnectedApps)

Page 2: with RAD Studio (Connected Apps)

EMBARCADEROTECHNOLOGIES

사물인터넷앱개발withRADStudio

시간 내용 사용기기 통신기술

오전 사물인터넷과 RADStudio

위험 지역 경보 시스템 구축하기 #1-위험지역 진입 알림 앱 개발

비콘센서, 스마트폰,(* 맥) 비콘(블루투스LE)

12:00~13:10 (점심시간)

오후 위험 지역 경보 시스템 구축하기 #2- 위험경고 조명 제어 앱 개발

스마트 조명, 스마트폰,(* 맥,PC) WiFi(RESTAPI)

건강 데이터 수집과 기록-체중 자동기록 앱 개발

스마트 체중계, 스마트폰,(* 맥,PC)

블루투스LE

(티타임) 사물인터넷을 활용할 수 있는 아이디어 공유하기

스마트폰과 PC 데이터 테더링 앱 만들기 스마트폰,PC WiFi(앱테더링)

* 괄호안의 기기는 사용할 수 있지만 실습에서 사용하지 않는 기기입니다.

Page 3: with RAD Studio (Connected Apps)

EMBARCADEROTECHNOLOGIES

Agenda사물인터넷과 엔터프라이즈

•  사물인터넷이란?•  사물인터넷 3대 주요기술•  기업용 사물인터넷 구성•  사물인터넷 활용사례

위험지역 경보 시스템 데모와 기술소개건강데이터 수집 및 기록 시스템 데모와 기술소개

Page 4: with RAD Studio (Connected Apps)

EMBARCADEROTECHNOLOGIES

사물인터넷이란?–(1)

사물 +(인터 + 넷)

사물인터넷 정의•  인간, 사물, 서비스가 상호 협력적으로 센싱, 네트워킹, 정보처리 등 지능적 관계를 형성하는 사물공간

연결망

무 à 유 유 à New유X한국인터넷진흥원 「인터넷&시큐리티 이슈」6월호hEp://www.kisa.or.kr/public/library/issue_View.jsp?mode=view&p_No=153&b_No=153&d_No=49

Page 5: with RAD Studio (Connected Apps)

EMBARCADEROTECHNOLOGIES

사물인터넷이란?–(2)

LGCNS서비스 관점의 IoT를 말하다(blog.lgcns.com/758)

Page 6: with RAD Studio (Connected Apps)

EMBARCADEROTECHNOLOGIES

사물인터넷 3대 주요 기술1.  센싱기술

–  센싱 : 주위 환경으로부터 정보 취득–  스마트 센서/기기 : 표준화된 인터페이스 제공

2.  유/무선 네트워크 기술–  WiFi,3G/4G/LTE,Bluetooth,ZigBee,RFID 등–  스마트 디바이스의 활용

3.  IoT서비스 인터페이스 기술–  응용 서비스와 연동하는 역할 수행–  정보를 센싱, 가공/추출/처리, 저장, 판단, 상황인식, 보안/프라이버시 보호, 인증/인가 등

–  서비스 수행을 위한 인터페이스 역할

한국인터넷진흥원 「인터넷&시큐리티 이슈」6월호hEp://www.kisa.or.kr/public/library/issue_View.jsp?mode=view&p_No=153&b_No=153&d_No=49

Page 7: with RAD Studio (Connected Apps)

EMBARCADEROTECHNOLOGIES

사물인터넷 시대의 도래•  장비 중심의 M2Mè서비스 중심 사물인터넷•  수직적 시장 è 수평적 시장

LGCNS서비스 관점의 IoT를 말하다(blog.lgcns.com/758)

Page 8: with RAD Studio (Connected Apps)

EMBARCADEROTECHNOLOGIES기업용 사물인터넷 구성

IoT서비스 서버•  사용자 인증•  API호스팅•  기업 데이터 액세스•  데이터 저장소•  IOT디바이스 접근 통제•  WiFi/Bluetooth브리지 •  푸쉬 알림

IoT리피터

모든 클라우드 서비스

기업 내의 모든데이터와 서비스

사물인터넷 3대 주요 기술1.  센싱 기술2.  유무선 네트워크 기술3.  IoT 서비스 인터페이스 기술

멀티 디바이스 앱

Page 9: with RAD Studio (Connected Apps)

EMBARCADEROTECHNOLOGIES

IoT서비스서버

센싱:ConnecOngtoAllThings

리피터

Page 10: with RAD Studio (Connected Apps)

EMBARCADEROTECHNOLOGIESConnecOngtoAllThings

RTL

컴포넌트Framework

BTSpeaker

GoogleGlass

SamsungTV

WirelessScale

Carplay

XML

DeviceProfiles(100’sto1000’s)

Page 11: with RAD Studio (Connected Apps)

EMBARCADEROTECHNOLOGIES

사물인터넷 통신기술통신기술 블루투스 WiFi

연결 장비 비콘 블루투스 센서/장비(클래식 블루투스, 블루투스LE)

WiFi인터페이스 장비(RESTAPI,TCP/IP,UDP,…)

구조

특징 실내외 위치기반 서비스(LBS)제공 가능블루투스 LE 기반

최근 모바일/PC 장비에서 블루투스 지원 기타 장비에는 모듈 추가가능

범용적인 인터넷환경에서 프로토콜 제공

Page 12: with RAD Studio (Connected Apps)

EMBARCADEROTECHNOLOGIES

IoT서비스서버

리피터

멀티 디바이스 앱 개발

Page 13: with RAD Studio (Connected Apps)

EMBARCADEROTECHNOLOGIES

$

Future델파이 or C++

파이어몽키 프레임워크

단일 팀단일 코드베이스

RAD스튜디오로 멀티-디바이스를 실현

Page 14: with RAD Studio (Connected Apps)

EMBARCADEROTECHNOLOGIES

찬성네이티브UX네이티브 성능보안

반대다중의 코드베이스중복된 여러 팀개발/운영 비용 상승

찬성단일 팀개발 비용 절감신속한 시장 대응

반대스크립트 성능 이슈네이티브가 아닌 UX보안 취약

앱 개발 툴 선택지

벤더사 개발툴 웹 기술 기반 툴멀티-디바이스순수 네이티브Embarcadero

AppleGoogle

MicrosoW

단일디바이스

멀티디바이스

스크립트,VM네이티브

HTML5/JavaScript

Page 15: with RAD Studio (Connected Apps)

EMBARCADEROTECHNOLOGIES

하나의 코드,하나의 팀,하나의 스케줄

•  하나의 코드 하나의 팀 주요 장점

– 개발자: 같은 시간에 더 인상적인 결과 제공

– 매니저: 앱 개발을 위한 모든작업이 하나 –

복잡성과 비용 감소

– 경영진: 빠른 시장 진입, 기술 주도권과 경쟁

우위를 지킴

Page 16: with RAD Studio (Connected Apps)

EMBARCADEROTECHNOLOGIES

IoT서비스서버

리피터

IoTRepeater, 서비스 인터페이스

Page 17: with RAD Studio (Connected Apps)

EMBARCADEROTECHNOLOGIES

IoT리피터

•  리피터의 역할1.  네트워크 브리지2.  사물간 커뮤니케이션 매개체3.  운용에 필요한 인터페이스 제공4.  실시간 상황판단

•  EMS,WAS,애플리케이션으로 구성

IoT서비스 서버

IoT리피터

Page 18: with RAD Studio (Connected Apps)

EMBARCADEROTECHNOLOGIES

EMS 란 무엇인가? 엔터프라이즈 모빌리티 서비스는 미리 구현된 턴키 미들웨어 서버입니다: •  사용자 관리와 인증 •  작성된 모듈을 커스텀 API로 오픈 (REST) •  기업의 SQL 데이터베이스 액세스 •  모바일 임베디드와 서버 SQL 데이터 스토리지 •  사용자, 디바이스, API분석 통계를 제공하는 웹페이지

Page 19: with RAD Studio (Connected Apps)

EMBARCADEROTECHNOLOGIES

왜 EMS인가?

•  모바일 솔루션은 기업이 집중하는 것에 대한 강력한 백엔드가 필요

•  턴키,클라우드에 준비된 솔루션은 빠르고 쉽게 적용 가능

•  기업에서는 필수적인 요소들로 구성–  VAR의 입장에서는 고객의 공통 백엔드

Page 20: with RAD Studio (Connected Apps)

EMBARCADEROTECHNOLOGIES

엔터프라이즈 사설 클라우드 역할!EMS

Page 21: with RAD Studio (Connected Apps)

EMBARCADEROTECHNOLOGIES

앱 테더링(AppTethering)

Page 22: with RAD Studio (Connected Apps)

EMBARCADEROTECHNOLOGIES

앱 테더링은?

•  동반자�앱�제작�–  손쉬운�구현으로�앱과�앱�연결�및�데이터�송수신�–  모바일과�데스크탑,�모바일과�모바일,�데스크탑과�데스크탑�

•  자동�탐색�기능�제공�–  동일한�서브넷에서�접속대상�자동�탐색�–  P2P�모델,�IP�설정,�서버관리�등이�필요없음�

•  블루투스�&�WiFi�지원�

Page 23: with RAD Studio (Connected Apps)

EMBARCADEROTECHNOLOGIES

사물인터넷 활용사례

Page 24: with RAD Studio (Connected Apps)

EMBARCADEROTECHNOLOGIES구성 예시:스마트 공장

24

EMSIOTRepeater

생산 라인

EMSIOTRepeater

Oracle

암호화된 데이터 IT

엔지니어의 태블릿

엔지니어의 폰

엔지니어의스마트워치

생산 현황표시

로봇

자재 창고

실내 온도 &습도 센서

재고 관리 로봇

EMS서버•  사용자 인증•  API호스팅•  기업 데이터 액세스•  안전한 데이터 저장소•  IOT디바이스 접근 통제

Page 25: with RAD Studio (Connected Apps)

EMBARCADEROTECHNOLOGIES구성 예시:병원/의료영상 검사실

25

EMSIOTRepeater

아웃365캘린더

대기실

EMSIOTRepeater

영상 검사실

Oracle

암호화된 데이터 IT

BAAS

의료진의 태블릿

환자의폰

환자의스마트워치

다음 환자호출

대기시간표시

ImagingCenterMichael,Dr.JoneswillSeeyounow.

Close View

간호사실

EMSIOTRepeater

간호사태블릿

MRI스캐너

EMS서버•  사용자 인증•  API호스팅•  기업 데이터 액세스•  안전한 데이터 저장소•  IOT디바이스 접근 통제

Page 26: with RAD Studio (Connected Apps)

EMBARCADEROTECHNOLOGIES

사물인터넷 활용사례–스마트 홈•  홈�스마트�그리드�

–  가전�기기의�전력관리�–  가정내�온도�및�습도관리�–  집�안의�에너지�데이터�관리�및�분석�

•  가전의�사물�제어,�모니터링�–  전용�애플리케이션으로�제어,�모니터링�

•  사물인터넷�제품�사례�–  경동나비엔:�스마트제어�보일러�–  SK텔레콤:�공기측정기-에어큐브�–  네스트(구글):�스마트�온도조절장치,�연기감지기�–  LGU+:�IoT�At�Home(IoT�허브�단말기)�

Page 27: with RAD Studio (Connected Apps)

EMBARCADEROTECHNOLOGIES

사물인터넷 활용사례 - 기타•  국립�중앙박물관�

–  위치기반�전시물�안내�–  누적된�관람정보로�동선안내�

•  광화문�교보문고�비콘�서비스�–  매장�방문�시�행사�안내�–  구역�성격에�맞는�쿠폰�제공�등�

•  미아방지�팔찌(리니어블)�•  스마트�약병(글로우캡)�•  MIT�기숙사�화장실/세탁실�

–  학생들에게�사용정보�제공�•  IoT�자판기�

Page 28: with RAD Studio (Connected Apps)

EMBARCADEROTECHNOLOGIES

사물인터넷 시나리오와 데모

Page 29: with RAD Studio (Connected Apps)

EMBARCADEROTECHNOLOGIES

공장관리자화학물질 보관창고 작업자

스마트 공장> 위험지역 경보 시스템 시나리오

•  사전준비�–  작업자에게�업무용�앱�지급�–  위험지역:�비콘�설치�

•  시나리오�–  위험지역�진입�시�작업자에게�경고�–  위험지역에�일정기간�머무른�경우�관리자�보고(사이렌)�

•  얻을�수�있는�것�–  관리자는�작업자�이동기록을�파악해�작업�동선�조정�

–  자재창고의�온도&습도�경고�등으로�확장�활용�

실내 온도 &습도 센서

Repeater

자재창고

Cloud

Page 30: with RAD Studio (Connected Apps)

EMBARCADEROTECHNOLOGIES

비콘(Beacon)

•  TBeacon컴포넌트•  iOS,안드로이드,OSX지원(베를린에서 윈도우10 지원)

•  iBeacon과 AltBeacon표준•  Mode

•  Standard•  Alternajve

•  MonitorizedRegions•  모니터링 대상 지역 등록

Page 31: with RAD Studio (Connected Apps)

EMBARCADEROTECHNOLOGIES

TBeacon컴포넌트

•  비콘 지역 등록•  UUID:서비스(비콘) 종류•  MajorID,MinorID

•  개별 비콘 판별

•  블루투스 권한설정•  안드로이드 만•  Bluetooth,BluetoothAdmin•  ProjectOpjons>UsesPermissions

Page 32: with RAD Studio (Connected Apps)

EMBARCADEROTECHNOLOGIES

TBeacon컴포넌트 이벤트

•  OnEnterRegion/OnExitRegion•  비콘 지역에 진입/퇴장 시

•  OnBeaconEnter/OnBeaconExit•  특정 비콘에 진입/퇴장 시

•  OnBeaconProximity•  비콘의 근접값 변경 시

Page 33: with RAD Studio (Connected Apps)

EMBARCADEROTECHNOLOGIES

TBeacon컴포넌트 이벤트

속성 내용GUID:TGUID 비콘 종류Major,Minor:Word 개별 비콘 판별 값Rssi:Integer 수신강도

Distance:Double 비콘과의 거리Proximity:TBeaconProximity

근접값

AddjonalData:TBytes (옵션)추가데이터

TBeaconProximity(근접값) IBeacon속성

✓ 거리 값은 정확하지 않음(어떤 비콘이 가까운지 판별하는 용도로 사용할 것)

Proximity 거리Immediate ~0.5m

Near ~1.5m

Far 1.5m~

Away 범위 외

Page 34: with RAD Studio (Connected Apps)

EMBARCADEROTECHNOLOGIES

•  제품의 위치 찾기 •  알맞은 혜택 제시 •  (충성도 높은) 고객들을 인식 하기

•  영업 팀의 경로 설정 •  쇼핑 지도 •  매출 증대 •  고객 만족과 로열티 향상

소매점 사례UseCase

Page 35: with RAD Studio (Connected Apps)

EMBARCADEROTECHNOLOGIES

BeaconFence–개발자를 위한 비콘 위치인식 솔루션 •  비콘 설치지원 컴포넌트 •  실제 배치도 위에 원형, 사각형 영역 설정

•  사용자가 설정할 수 있는 다양한 속성과 이벤트 제공 (영역에 입장 이벤트 등)

•  맵 에디터(GUI) 제공

hEp://devgear.co.kr/products/beaconfence/

Page 36: with RAD Studio (Connected Apps)

EMBARCADEROTECHNOLOGIES

위험지역 경보 시스템> 조명 제어하기

•  스마트�조명�제어�원리�–  제품�구성�:�브릿지�+�스마트�조명�–  브릿지가�REST�API�제공�–  브릿지가�스마트�조명�제어�

•  구현�순서�–  (옵션)브릿지�IP�얻기�–  사용등록�–  조명�정보�조회�–  조명�제어�

������������브릿지�����������������스마트�조명�

hEp://www.developers.meethue.com/documentajon/gepng-started

Philips�Hue�

Page 37: with RAD Studio (Connected Apps)

EMBARCADEROTECHNOLOGIES

REST 클라이언트

•  표준 웹 프로토콜(REST) 지원•  기능별 독립 컴포넌트

–  TRESTClinet–  TRESTRequest–  TRESTReponse

•  JSON데이터 자동분석•  RESTDebugger:REST 분석툴

hEps://ko.wikipedia.org/wiki/REST

Page 38: with RAD Studio (Connected Apps)

EMBARCADEROTECHNOLOGIES

환자장비 진료실

스마트 병원> 건강 데이터 수집/기록 시스템 시나리오

•  사전준비�–  장착(팔찌�등)형�비콘�–  스마트�체중계와�연결된�IoT�리피터�

•  시나리오�–  진료용�PC에서�IoT�리피터�연결�–  비콘을�장착한�환자�자동�인식�–  인식한�환자정보�표시�–  자동�측정정보�기록�

•  얻을�수�있는�것�–  환자가�바뀌는�의료사고�예방�–  환자의�디바이스에�기록된�의료데이터�수집�

–  기타�의료장비�등과�연결�및�수집/기록� 장착형 비콘스마트 체중계

심박센서

스마트밴드

Cloud

진료용 PC

IOTRepeater

Page 39: with RAD Studio (Connected Apps)

EMBARCADEROTECHNOLOGIES

블루투스

•  블루투스– 클래식 블루투스– 블루투스 LE(LowEnergy)

•  기기대 기기, 기기대 센서 직접연결

블루투스 :hEps://www.bluetooth.org/ko-kr/

Page 40: with RAD Studio (Connected Apps)

EMBARCADEROTECHNOLOGIES

블루투스 기술 종류

클래식 블루트스 블루투스 LE(LowEnergy)

•  블루투스 LE 보타 처리량이 뛰어나다.•  데이터 전송속도 2Mbps•  소비전력이 크다.•  표준 블루투스 프로파일(SPP,DUN,PAN)에 근거한다.

•  프로토콜은 최대 7 슬레이브로 제한된다.

•  소량의 데이터를 주기적 전송 시 적합•  데이터 전송속도 100Kbps 미만•  소비전력이 매우 적다.•  GATT 프로파일에 근거한다.•  다수의 슬레이브를 지원한다.•  연결 시간이 짧고 페어링이 필요없다.

Page 41: with RAD Studio (Connected Apps)

EMBARCADEROTECHNOLOGIES

일반 속성 프로파일(GATT)

•  애플리케이션에서 표준 서비스 사용을 위해 서비스별로 정의된 값

•  표준 GATT(일반속성프로파일)사양–  hEps://developer.bluetooth.org/gaE/

services/Pages/ServicesHome.aspx

BluetoothBaseUUID: 00000000-0000-1000-8000-00805F9B34FBHeartRate: 0000180D-0000-1000-8000-00805F9B34FBHeartRateMeasurement: 00002A37-0000-1000-8000-00805F9B34FBBodySensorLocajon: 00002A38-0000-1000-8000-00805F9B34FBWahooScale: 00001901-0000-1000-8000-00805F9B34FBWeightCharacterisjc: 00002B01-0000-1000-8000-00805F9B34FB

Page 42: with RAD Studio (Connected Apps)

EMBARCADEROTECHNOLOGIES

스마트 병원>건강 데이터 수집 - 체중

•  사전�준비사항�–  Servicee�UUID�–  Characteristic�UUID�

•  구현�순서�–  장치�발견�–  서비스�찾기�–  데이터�구독�–  수신�데이터�분석�

Wahoo�Scale�