Sensor - Data Processing API rachel skyler
-
Upload
skyler-shin -
Category
Documents
-
view
129 -
download
0
description
Transcript of Sensor - Data Processing API rachel skyler
Internet of Everything
PEOPLE, THINGS and NATURE
Samsung Galaxy Gear
Fitbit Wristband
Google Glass
우리가 잘 아는 Wearable Device가 있습니다.
Smart Diapers
Talking Shoes
그리고 또 다른 형태의 Wearable Device도 있습니다.
Wearable Device 에만 관심이 있는 것은 아닙니다.
Smart City Smart Home
Interconnection of People, Things, Nature...
Wearable Smart Home
Smart City
IOE
IoE는 무엇인가요? – From M2M To IoE
Internet of Everything의 발전 과정.
!
Machine-to-machine (M2M)
원격지에 있는 사물 정보를 사람 개입 없이 확인하고 수집하는 것 입니다.
Internet of Things (IoT)
M2M과 용어가 혼용되고 있었습니다.
실세상의 사물은 몰론, 가상세계의 모든 것도 모두 연결하고 데이터 수집 및 분석합니다.
Cisco는 이렇게 생각 했습니다.
이제 모든 것으로 확장하려고 합니다.
Internet of Everything
Extension from PEOPLE, THINGS to NATURE AND DATA
간단하게 IoE를 생각해 볼께요.
Nature
DevicesPeople
아두이노와 놀아 볼 시간입니다.
아두이노는 전자적, 전산적으로 제어되는 머신을 직접 만들어 볼 수 있는 작은 컴퓨터라고 할 수 있습니다.
이것을 통해서 전기, 전자, 전산에 대한 종합적인 경험을 할 수 있습니다.
reference : opentutorials.org
여러분은 아두이노에 여러 부품들을 연결하실 수 있습니다.
Data에 집중하려면 어떻게 해야 할까요? - Open Platform
Data Collection Device Control
Data Storage & Processing
REST API
Request!(REST)
Response!(JSON)
정리를 해보겠습니다.
Internet of Everything이란…
! 인터넷을 통해 전세계의 모든 사람과 사물 그리고 자연을 연결하고,
센서나 엑츄에이터 등 장치를 통하여
주변 환경의 정보들을 표준화된 데이터로 수집하고
새로운 가치를 창출하여 사용자에게 전달하는 과정입니다.
Arduino Sensor Data Processing API
DaysJourney App & API
우리가 집중해야하는 것은 데이터입니다!
아두이노에는 다양한 센서 부품을 제공합니다.
센서데이터를 잘 활용하면 수 많은 아이디어를 바탕으로 다양한 어플리케이션을 개발 할 수 있습니다.
그렇다면 어플리케이션을 개발하는 것이
이것을 연결 지점으로 해서 데이터를 얻을 수 있는 것이죠.
그리고
아두이노로 할 수 있는 프로젝트의 전부 일까요?
아닙니다. 대신 더 좋은 방법이 있습니다.
정말 데이터를 잘 이해하고 친해질 수 있는 방안이 필요합니다.
데이터를 사용할 사람들이 어떤 것을 원하고 그것을 그들에게 어떻게 전달할 지 고민하는 것이 단순히 어플리케이션만 만드는 것 보다 더 큰 가치가 있을 것입니다.
그것은 바로
수많은 개발자들이 센서데이터를 가지고 어떤 결과를 얻어내는 것을 원하는지 고민해 보고 그 결과를 얻을 수 있는 방안을 제공하는 것입니다.
저희는 그 방법으로 Open API를 생각했습니다.
Sensor Data Processing API를 Open API 방식으로 구현한 이유는 무엇인가요?
API를 만드는 가장 큰 이유는 “우리의 프로그램을 많은 사람들이 활용해 주었으면 하는 바람”때문입니다.
서비스를 개발하는 다양한 개발자 분들을 생각했습니다.
그 들을 모두 아우를 수 있는 방법으로 Open API를 선택했습니다.
HTTP Verb Path Response
GET /data/retrieve/{deviceId}/{sensorType}/{retrieveType}
dataValue sensorType
deviceId
Request parameters
• deviceId : 아두이노의 식별값.
• sensorType : 데이터를 얻고싶은 센서의 종류.
• retrieveType :
Used for
해당하는 deviceId와 SensorType과 retrieveType 에 맞는 dataValue를 넘겨줍니다.
REST API 는 어떤 모습일까요?
• ‘latest’ : 가장 최근의 데이터를 반환. • ‘peak’ : 가장 큰 수치의 데이터. • ‘trough’ : 가장 작은 수치의 데이터.
API를 어떻게 사용하기를 원할까?
개발자들의 요구사항을 알아야만 그들이 필요한 것을 제공해줄 수 있을 것 같았습니다.
그래서 생각해낸 것이 DaysJourney Service 입니다.
무엇인가 만들어봐야 겠다.‘작게라도 시작을 해야겠다.‘
그리고
DaysJourney는 어떤 프로젝트인가요?
SensorDataProcessing API 를 활용하는 예제 어플리케션입니다. !하루 동안 이동할 장소를 설정하고 그 장소의 환경정보를 보여주는 서비스입니다.
Android + Ruby on Rails + MongoDB
SensorDataProcessing API 를 어떻게 이용하나요?
LilifloraTalker 모듈을 활용해서 개발하고 있습니다.
사용 방법 =>
lf_talker = Liliflora::Liliflora_talker.new()
jsonData = lf_talker.get({type: ‘retrieve’, device_id: ‘my_arduino’, sensor_type: ‘brightness’, retrieve_type: ‘latest’)
<code>
SensorDataProcessing API 와 보다 더 간편하게 데이터를 주고 받기 위해서 모듈을 공개할 생각입니다.
이것이 전체 데이터의 흐름입니다.
DaysJourney App
DaysJourney API
Sensor Data Processing API
Arduino
센서 데이터의 흐름.
OpenSource 로 진행 중인 우리 프로젝트~∼!
현재 DaysJourney 및 Sensor Data Processing API의 개발은 Github에서 진행중입니다. !주소 : https://github.com/RachelSkyler
아직 완벽하게 프로젝트에 참여하기 위해 필요한 가이드 라인이 정리가 되지 않아서 미흡하지만 !소스코드를 보시고 수정했으면 좋을 것 같은 부분들을 이슈에 남겨주실 수 있습니다. !관심 있는 분들은 참여해주시길 바랍니다. :)