CITIZENSENSINGWITHTHE
SENSORTHINGSAPI
JosephChangSeniorSoftwareDeveloper,SensorUpInc.
March17,2016
WHATISSENSORTHINGS?
WHATISSENSORTHINGS?
WHATISSENSORTHINGS?
ConnectIoTdevicesanddataOGCStandardOpenUsesHTTP,JSON,MQTTandothergoodstuff
WHATISCITIZENSENSING?OrdinarypeoplehavesensorsParticipation,empowerment,connectionKindacool
SENSORTHINGS+CITIZENSENSINGCanwebuildasimplecitizensensingplatformwithSensorThings?
SENSORTHINGS+CITIZENSENSINGCanwebuildasimplecitizensensingplatformwithSensorThings?Ofcourse.
SENSORTHINGS+CITIZENSENSINGCanwebuildasimplecitizensensingplatformwithSensorThings?Ofcourse.CitizenSensing?
SENSORTHINGS+CITIZENSENSINGCanwebuildasimplecitizensensingplatformwithSensorThings?Ofcourse.CitizenSensing?
SENSORTHINGS+CITIZENSENSINGCanwebuildasimplecitizensensingplatformwithSensorThings?Ofcourse.CitizenSensing?CitizenSensorThings
SENSORTHINGS+CITIZENSENSINGCanwebuildasimplecitizensensingplatformwithSensorThings?Ofcourse.CitizenSensing?CitizenSensorThings-ing
ARCTICCITIZENSENSORS(INASSOCIATIONWITHGEOCONNECTIONS)
TODAY'SSPECIALBUILDINGASIMPLIFIEDVERSIONOFARCTICCITIZENSENSORS
CreateandlinkSensorThingsentities
TODAY'SSPECIALBUILDINGASIMPLIFIEDVERSIONOFARCTICCITIZENSENSORS
CreateandlinkSensorThingsentities
ENTITIESANDRELATIONSHIPS
Observation
+phenomenonTime:TM_Object+resultTime:TM_Instant+result:Any+resultQuality:DQ_Element[0..*]+validTime:TM_Period[0..1]+parameters:NamedValue[0..*]
Thing
+description:CharacterString+properties:JSON_Object[0..1]
Datastream
+description:CharacterString+observationType:ValueCode+unitOfMeasurement:JSON_Object+observedArea:GM_Envelope[0..1]+phenomenonTime:TM_Period[0..1]+resultTime:TM_Period[0..1]+datastreams
0..*
+thing1
ObservedProperty
+name:CharacterString+definition:URI+description:CharacterString
+observedProperty1
+datastreams0..*
Sensor
+description:CharacterString+encodingType:ValueCode+metadata:Any
+sensor1
+datastreams
0..* +datastream
1
+observations
0..*
FeatureOfInterest
+description:CharacterString+encodingType:ValueCode+feature:Any
+observations0..*
+featureOfInterest1
HistoricalLocation
+time:TM_Instant
Location
+description:CharacterString+encodingType:ValueCode+location:Any
+things
1
+historicalLocations0..*
+location
1..*
+historicalLocations0..*
+things0..*
+locations0..*
«CodeList»ValueCode
CREATINGATHING
LINKITONE
REQUESTPOST /v1.0/Things HTTP/1.1Host: example.sensorup.comContent-Type: application/json
{ "description": "LinkIt ONE"}
RESPONSE{ "@iot.id": 1, "description": "LinkIt ONE", "properties": {} ...}
CREATINGALOCATION
ALERT,NUNAVUT,CANADA
Photo:NationalOceanic&AtmosphericAdministration,retrievedfromhttps://commons.wikimedia.org/wiki/File:NOAA_-_Alert_observatory.jpg
REQUESTPOST /v1.0/Locations HTTP/1.1Host: example.sensorup.comContent-Type: application/json
{ "description": "Alert", "encodingType": "application/vnd.geo+json", "location": { "type": "Point", "coordinates": [ -62.358, 82.521 ] }, "Things": [{ "@iot.id": 1 }]}
RESPONSE{ "@iot.id": 2, "encodingType": "application/vnd.geo+json", "description": "Alert", "location": { "coordinates": [ -62.358, 82.521 ], "type": "Point" }, ...}
FeatureofInterestautomaticallycreatedbySensorThingslater
TWOFORTHEPRICEOFONE
CREATINGANOBSERVEDPROPERTY
REQUESTPOST /v1.0/ObservedProperties HTTP/1.1Host: example.sensorup.comContent-Type: application/json
{ "name": "dust", "definition": "http://dbpedia.org/page/Dust", "description": "Dust is composed of particles in the..."}
RESPONSE{ "@iot.id": 3, "name": "dust", "description": "Dust is composed of particles in the...", "definition": "http://dbpedia.org/page/Dust", ...}
CREATINGASENSOR
DUSTSENSOR
REQUESTPOST /v1.0/Sensors HTTP/1.1Host: example.sensorup.comContent-Type: application/json
{ "description": "dust", "encodingType": "text/html", "metadata": "http://www.seeedstudio.com/wiki/Grove_-_Dust_Sensor"}
RESPONSE{ "@iot.id": 4, "description": "dust" "encodingType": "text/html", "metadata": "http://www.seeedstudio.com/wiki/Grove_-_Dust_Sensor", ...}
SENSORNOTSHOWNINUIStillhavetocreateitProvidescontextFuturequeryingoptions
SENSORNOTSHOWNINUIStillhavetocreateitProvidescontextFuturequeryingoptionsIt'sgoodpractice,likeeatingyourvegetables
CREATINGADATASTREAM
REQUESTPOST /v1.0/Datastreams HTTP/1.1Host: example.sensorup.comContent-Type: application/json
{ "description": "LinkIt ONE Datastream", "observationType": "http://www.opengis.net/def/observationType/OGC-OM/2.0/OM_Measurement", "unitOfMeasurement": { "name": "pieces per 0.01 cubic feet", "symbol": "pcs/0.01cf", "definition": "N/A" }, "Thing": { "@iot.id": 1 }, "ObservedProperty": { "@iot.id": 3 }, "Sensor": { "@iot.id": 4 }}
RESPONSE{ "@iot.id": 5, "description": "LinkIt ONE Datastream", "observationType": "http://www.opengis.net/def/observationType/OGC-OM/2.0/OM_Measurement", "unitOfMeasurement": { "symbol": "pcs/0.01cf", "name": "pieces per 0.01 cubic feet", "definition": "N/A" }, ...}
CREATINGANOBSERVATION
REQUESTPOST /v1.0/Datastreams(5)/Observations HTTP/1.1Host: example.sensorup.comContent-Type: application/json
{ "result": "334.6"}
RESPONSE{ "@iot.id": 6, "result": "334.6", "phenomenonTime": "2016-03-02T20:37:00.598Z", ...}
THEFINISHEDPICTURE
Top Related