SensorThingsAPI – 2/4: IoT Data Modeling with Open Standars (1/2)

Tiếp tục chuỗi bài giới thiệu về SensorThings API, bài này sẽ tập trung trình bày về IoT Modeling with Open Standards. Nội dung về chủ đề được thể hiên ở hình vẽ sau:

Hình 1: Sơ đồ hình dư liệu IoT được áp dụng cho SensorThings API

  • Thing –  là một đối tượng của thế giới vật chất (vật chất) hoặc thế giới thông tin  có khả năng được xác định và tích hợp vào các mạng truyền thông
Thuộc tínhĐịnh nghĩaKiểu dữ liệuYêu cầu, số lượng
nameThuộc tính cung cấp  nhãn cho thực thể Thing, thường là một cái tên mô tả.CharacterStringBắt buộc – 1
descriptionMột mô tả ngắn gọn về thực thể Thing tương ứng.CharacterStringBắt buộc – 1
propertiesĐối tượng JSON chứa các thuộc tính được chú thích bởi người dùng sử dung cặp key-value.JSON ObjectCó thể có hoặc không

Bảng 1: Thuộc tính của thực thể Thing

  • Location của Thing được định nghĩa là vị trí cuối cùng được biết đến của Thing.  Trong bối cảnh của IoT, vị trí quan trọng được quan tâm thường gắn liền với vị trí của Thing, đặc biệt đối với các ứng dụng cảm ứng tại chỗ.Tuy nhiên, vị trí cuối cùng của sự quan tâm của Thing không phải lúc nào cũng là vị trí của Thing (ví dụ, trong trường hợp viễn thám).

 

TênĐịnh nghĩaKiểu dữ liệuYêu cầu, số lượng
nameThuộc tính cung cấp  nhãn cho thực thể Location, thường là một cái tên mô tả.CharacterStringbắt buộc , 1
descriptionMô tả về Vị trí.CharacterStringbắt buộc, 1
encodingTypeLoại mã hóa của thuộc tính Location. Giá trị của nó là một trong các Enumeration ValueCodeValueCodebắt buộc , 1
locationLoại vị trí được xác định bằng encodingTypebắt buộc,1

 

Bảng 2: Thuộc tính của thực thể Location

Ví dụ về Location Entity:

{   @iot.id”: 1,

@iot.selfLink”: “http://example.org/v1.0/Locations(1)”,

“Things@iot.navigationLink”: “Locations(1)/Things”,

“HistoricalLocations@iot.navigationLink”: “Locations(1)/HistoricalLocations”,

“encodingType”: “application/vnd.geo+json”,   “name”: “CCIT”,

“description”: “Calgary Center for Innvative Technologies”,

“location”: {     “type”: “Feature”,     “geometry”:{       “type”: “Point”,       “coordinates”: [-114.06,51.05]     }   } }

  • HistoricalLocation  cung cấp thời gian về vị trí hiện tại (tức là, được biết lần cuối) và vị trí trước đây của Thing.
Thuộc tínhĐịnh nghĩaKiểu dữ liệuYêu cầu, số lượng
timeThời điểm khi Thing được biết đến tại Location.TM_Instant (ISO-8601 Time String)Bắt buộc, 1

 

Bảng 3: Thuộc tính của thực thể HistoricalLocation

Ví dụ  về HistoricalLocation Entity

{

@iot.id“: 1,

@iot.selfLink“: “http://example.org/v1.0/HistoricalLocations(1)”,

[email protected]“: “HistoricalLocations(1)/Locations”,

[email protected]“: “HistoricalLocations(1)/Thing”,

time“: “2015-01-25T12:00:00-07:00”    

}

Một Datastream nhóm một bộ sưu tập Các quan sát đo cùng một ObservedProperty và được sản xuất bởi cùng một Sensor.

Thuộc tínhĐịnh nghĩaKiểu dữ liệuYêu cầu , số lượng
nameThuộc tính cung cấp nhãn cho đối tượng Datastream, thường là một tên mô tả.CharacterStringBắt buộc, 1
descriptionMô tả của thực thể Datastream.CharacterStringBắt buộc, 1
unitOfMeasurementCác giá trị của các thuộc tính này NÊN theo Bộ quy tắc Thống nhất cho Đơn vị Đo lường (UCUM).JSON ObjectBắt buộc, 1

Lưu ý: Khi Datastream không có đơn vị đo lường (ví dụ: một loại OM_TruthObservation), thì các thuộc tính tương ứng của Tài sản Tự động có giá trị rỗng.

observationTypeLoại Quan sát (với loại kết quả duy nhất), được sử dụng bởi dịch vụ để mã hoá các quan sát.ValueCode

Xem bảng 5

bắt buộc, 1
observedAreaVùng giới hạn không gian trong phạm vi không gian của tất cả FeatureofInterest t liên quan đến Datastream này.GM_Envelope (GeoJSON Polygon)không bắt buộc, tối đa 1
phenomenonTimeKhoảng thời gian tại thời điểm hiện tại của tất cả các quan sátTM_Period (ISO 8601 Time Interval)không bắt buộc, tối đa 1
resultTimeKhoảng thời gian tại mà lúc kết quả được trả vềTM_Period (ISO 8601 Time Interval)không bắt buộc, tối đa 1

Bảng 4: Thuộc tính của thực thể Datastream

O&M 2.0Value Code Value (observationType names)Content of result
OM_CategoryObservationhttp://www.opengis.net/def/observationType/OGC-OM/2.0/OM_CategoryObservationURI
OM_CountObservationhttp://www.opengis.net/def/observationType/OGC-OM/2.0/OM_CountObservationinteger
OM_Measurementhttp://www.opengis.net/def/observationType/OGC-OM/2.0/OM_Measurementdouble
OM_Observationhttp://www.opengis.net/def/observationType/OGC-OM/2.0/OM_ObservationAny
OM_TruthObservationhttp://www.opengis.net/def/observationType/OGC-OM/2.0/OM_TruthObservationboolean

Bảng 5: Danh sách một số giá trị mã được dùng để xác định các loại được định nghĩa trong mô hình O&M (OGC 10-004r3 và ISO 19156: 2011 khoản 8.2.2)

Ví dụ về Datastream:

{   @iot.id”: 1,

@iot.selfLink”: “http://example.org/v1.0/Datastreams(1)”,

“Thing@iot.navigationLink”: “HistoricalLocations(1)/Thing”,

“Sensor@iot.navigationLink”: “Datastreams(1)/Sensor”,

“ObservedProperty@iot.navigationLink”: “Datastreams(1)/ObservedProperty”,   “Observations@iot.navigationLink”: “Datastreams(1)/Observations”,

“name”: “oven temperature”,

“description”: “This is a datastream measuring the air temperature in an oven.”,

“unitOfMeasurement”: {     “name”: “degree Celsius”,     “symbol”: “°C”,     “definition”: “http://unitsofmeasure.org/ucum.html#para-30”   },   “observationType”: “http://www.opengis.net/def/observationType/OGC-OM/2.0/OM_Measurement”,   “observedArea”: {     “type”: “Polygon”,     “coordinates”: [[[100,0],[101,0],[101,1],[100,1],[100,0]]]   },

“phenomenonTime”: “2014-03-01T13:00:00Z/2015-05-11T15:30:00Z”,

“resultTime”: “2014-03-01T13:00:00Z/2015-05-11T15:30:00Z”

}

Nội dung về  “IoT Data Modeling with Open Standars ” sẽ tiếp tục được trình bày trong các bài viết sau.

Tài liệu tham khảo: http://docs.opengeospatial.org/is/15-078r6/15-078r6.html#27

Scroll to Top