i. Abstract
The IMIS Internet of Things (IoT) Pilot established the following objectives.
- Apply OGC principles and practices for collaborative development to existing standards and technology in order to prototype an Internet of Things (IoT) approach to sensor use for incident management.
- Employ an agile methodology for collaborative development of system designs, specifications, software and hardware components of an IoT-inspired IMIS sensor capability
- Develop a distributed computing architecture and design practices to integrate OGC Sensor Web Enablement (SWE) standards with IoT principles and technologies to improve both the agility and consistency of sensor networks.
- Document the Pilot achievements and lessons learned in engineering reports and demonstrate them in a realistic incident management scenario.
This engineering report details Pilot experiences in connecting a variety of local communications protocols and message formats supported by low-cost sensor devices with OGC SWE Web services published globally over IP networks. It describes the Sensor Hub approach taken to support these connections and the mappings from one protocol to another required to develop integrated SWE-IoT networks.
ii. Business Value
The IMIS IoT Pilot aimed to develop, test and demonstrate the use of networked sensor technologies in a realistic emergency incident management scenario developed in collaboration with DHS S&T sponsors and first responder stakeholders. The Pilot demonstrated an Internet of Things (IoT) and standards-based approach to sensor use for incident management in order to establish a roadmap for industry adoption of sensor device and information sharing products that both work together and vigorously compete to provide first responders with new capabilities.
Prototype capabilities introducing new opportunities for industry and government business value included ad hoc, nearly automatic local sensor deployment combined with global discovery and access to sensor information, alerts, and visualizations. They also included location tracking and georeferencing of sensor observations as well as publication in common formats for wide use in computer aided dispatch, emergency operations center, and geographic information systems, as well as on a range of mobile devices. The scalability of the capabilities developed in the Pilot provide opportunities for industry to develop a wide range of products that work together across platforms and technologies. They also provide opportunities for each public safety organization to procure, deploy, and maintain valuable capabilities that are sized appropriately for their size, role, and budget.
1 Introduction
1.1 Scope
This engineering report describes various mechanisms implemented in Sensor Hub (S-Hub) components to mediate between heterogeneous Internet of Things (IoT) sensing devices and Open Geospatial Consortium (OGC) standards-based information services such as SensorThings API (STA) and Sensor Observation Services (SOS). The report describes IoT sensor and S-Hub implementations for the OGC Incident Management Information Sharing (IMIS) Internet of Things (IoT) Pilot project (http://www.opengeospatial.org/projects/initiatives/imisiot). The Pilot Architecture Engineering Report (OGC 16-014r2) presents an overall description of the project and a general architecture; the Pilot Profile Recommendations Engineering Report (OGC 15-118) describes the adaptation of OGC services to IoT sensor deployment. This document focuses on the interactions between IoT sensors and OGC sensor web services (i.e., STA or SOS). The interactions consist of mappings or conversions from the local protocols used by IoT sensor devices to global OGC Web services and vice versa. In this engineering report, the term ‘protocol mapping’ represents these interactions, often carried out by specific Sensor Hub components (S-Hubs). The protocol mapping can be further divided into two layers: (1) the interfaces and communication protocols and (2) the messages exchanged between the interfaces on top of those protocols. The implementations of these two layer components are be detailed for various sensors deployed as part of the IMIS IoT pilot.
1.2 Document contributor contact points
All questions regarding this document should be directed to the editors or the contributors:
Name |
Organization |
---|---|
Steve Liang |
SensorUp / University of Calgary |
Tania Khalafbeigi |
SensorUp / University of Calgary |
Josh Lieberman |
Tumbling Walls |
1.3 Revision history
Date | Release | Editor | Primary clauses modified | Description |
---|---|---|---|---|
2015-11-05 |
0.1 |
Steve Liang, Tania Khalefbeigi |
All |
Document initialized |
2016-06-02 |
0.9 |
Steve Liang, Tania Khalefbeigi |
All |
First complete version |
2016-08-10 |
1.0 |
Joshua Lieberman |
All |
Clean up and editorial |
1.4 Future work
This ER is intended to protocol mapping / conversion practices in support of OGC sensor web standards. As these practices mature, future specifications and standards should take them into account in order to improve SWE-IoT interoperability.
1.5 Foreword
Attention is drawn to the possibility that some of the elements of this document may be the subject of patent rights. The Open Geospatial Consortium shall not be held responsible for identifying any or all such patent rights.
Recipients of this document are requested to submit, with their comments, notification of any relevant patent claims or other intellectual property rights of which they may be aware that might be infringed by any implementation of the standard set forth in this document, and to provide supporting documentation.
2 References
The following documents are referenced directly or indirectly in this document. For dated references, subsequent amendments to, or revisions of, any of these publications do not apply. For undated references, the latest edition of the normative document referred to applies.
OGC 06-121r3, OGC® Web Services Common Standard
OGC 06-042, OGC®Web Map Service (WMS)
OGC 07-006r1, OGC®Catalogue Services
OGC 08-094r1, OGC®SWE Common Data Model
OGC 09-001, OGC®SWE Service Model
OGC 09-025r2, OGC®Web Feature Service (WFS)
OGC 10-025r1, OGC®Observations and Measurements (O&M) - XML Implementation
OGC 12-000, OGC®Sensor Model Language (SensorML)
OGC 12-006, OGC®Sensor Observation Service (SOS)
OGC 14-065, OGC®Web Processing Service (WPS)
OGC 15-078r3, OGC Sensor Things API (STA)
ITU-T Y.2060, Overview of the Internet of things, June 2012
ISO/IEC IS 29182-3, Information technology — Sensor Networks: Sensor Network Reference Architecture (SNRA) — Part 3: Reference Architecture Views
NOTE This OWS Common Standard contains a list of normative references that are also applicable to this Implementation Standard.
3 Terms and definitions
For the purposes of this report, the definitions specified in Clause 4 of the OWS Common Implementation Standard [OGC 06-121r3] shall apply.
4 Conventions
4.1 Abbreviated terms
API Application Program Interface
AVL Automated Vehicle Location
AWS Amazon Web Services
CSW Catalogue Service for the Web
EML Event Pattern Markup Language
ER Engineering Report
GML Geography Markup Language
IMIS Incident Management Information Sharing
IoT Internet of Things
JSON Java Script Object Notation
KVP Key-Value Pair
MQTT Message Queue Telemetry Transport
O&M Observation & Measurements
OSH OpenSensorHub
OWS OGC Web Services
POX Plain Old XML
PTZ Pan–Tilt–Zoom
SAS Sensor Alert Service
SES Sensor Event Service
SensorML Sensor Model Language
SLD Styled Layer Descriptor
SOS Sensor Observation Service
STA Sensor Things API
SWE Sensor Web Enablement
UAS Unmanned Aerial Sensor
URI Uniform Resource Identifier
URL Uniform Resource Locator
UUID Universally Unique Identifier
WEPS Web Event Processing Service
WFS Web Feature Service
WMS Web Map Service
WPS Web Processing Service
XML Extensible Markup Language
4.2 UML notation
Most diagrams that appear in this ER are presented using the Unified Modeling Language (UML) static structure diagram, as described in Subclause 5.2 of [OGC 06-121r3].
5 An IoT Reference Model
5.1 IoT Protocol Layers and Segments
It is important to establish a reference model first, and then we can introduce the different IoT devices implemented in this pilot and how their different protocols are mapped to the OGC IoT architecture.
In this engineering report, we adopt the International Telecommunications Union Standardization Sector (ITU-T) IoT reference model. Figure 1 shows the ITU-T reference model for the IoT. The reference model consists of four layers, namely Device Layer, Network Layer, Service Support and Application Support Layer, and Application Layer. In the context of the Pilot, Sensor Hub Services are the Service Support and Application Support Layer. Detailed definition of the Sensor Hub Service can be found in the IMIS IoT Pilot ER [REF].
Each layer of the above four layers can be further divided into sub-layers. Figure 2 shows the sub-layers of the four major IoT layers from an OGC perspective.
According to the ITU-T definition, an IoT device is able to communicate, and optionally can sense, actuate, store and process data [ITU-T Y2060]. We can further decompose the device layer into two sub-layers: (1) sensor device[1] and (2) gateway device. Sensor devices perform observations to detect or measure information related to the surrounding environment. IoT sensor devices are specifically able to transmit and/or receive information across a sensor network. In some cases, due to technology, size, cost, or other constraints, sensor devices are only able to form local sensor networks (LSN) or personal area networks (PAN) communicating with each other, or even simpler point-to-point connections, and require gateway devices to connect them with the wide area networks.
A gateway role or device category also figures in an International Standards Organization (ISO)-specified IoT architecture (ISO/IEC IS 29182-3). The general role that such a gateway plays is to connect separate networks. Depending on the nature of the network stack on each side, the gateway may need to support a number of functions on multiple protocol layers.
The main function of a gateway device is to provide protocol conversion. Two different situations require protocol conversions. The first situation is when different devices use different LSN / PAN technologies, and the gateway device can provide protocol conversion capabilities between them. For example, one sensor device may use Bluetooth Low Energy (BLE) and other sensor devices may use ZigBee. A gateway device is required to convert the two different protocols so that the two groups of sensor devices are able to communicate with each other. The second situation is when the LSN / PAN and the wide area (IP) network (WAN) use different protocols / technologies. For example, the LSN may use a ZigBee technology and the WAN may use a 3G technology. A gateway device is needed in order for the sensor devices to communicate with the services in the wide area network.
The Pilot implemented particular derivatives of the ITU-T / ISO gateway concept termed Sensor Hubs (S-Hub). The S-Hub combines the protocol and/or physical mapping between networks of a gateway with a variety of additional server functions such as:
· publishing sensors and data through OGC Web services;
· initiating / managing registration of sensors and services for discovery purposes;
· storing and forwarding sensor observations;
· publishing and generating events and notifications; and
· processing sensor observations (e.g. georeferencing, calibration) to create higher-value derivative information.
In the future, S-Hubs are likely to support additional functions such as security enforcement, semantic mediation, and sensor status tracking that will be important to a viable OGC SWE-IoT architecture. A complete specification of S-Hub functionality will be covered in another document, but specific protocol mapping / conversion examples from the Pilot implementations will be covered here.
5.2 Where Does the Protocol Mapping Happen?
Figure 4 illustrates that mismatches between network segments can occur at any or all protocol layers in the ITU model. A gateway may therefore need to perform protocol mapping / conversion functions at any or all of these layers in order to maintain a true Internet of Things across them. Figure 4 also shows some of the protocols and technologies that played a part in the IMIS IoT Pilot, for example Catalog Service for the Web (CS/W), Message Queue Telemetry Transport (MQTT), and Bluetooth Low Energy (BLE). The diagram shows the vertical layering characteristic of an IoT distributed information system. This same stack is present in each of the horizontal segments of the system, LSN / PAN / WAN etc. but not all layers are equally well elaborated. For example, the application layer of a PAN segment is likely to be rudimentary at best, while the device details of most WAN segments can, one hopes, be safely ignored for most purposes. In the protocol mapping / conversion descriptions that follow, the main protocol or technology in each layer may be described but not necessarily each of the protocols being mapped from.
6 IMIS IoT Practices of Protocol Mapping
This section provides the implementation details of the protocol mapping implemented in the Pilot.
6.1 SensorUp Smart Shirt (Hexoskin)
|
Protocol Used |
Notes |
---|---|---|
Device Layer |
Hexoskin Smart Shirt + BLE |
|
Gateway Layer |
Android Smartphone |
|
Network Layer |
HTTP/MQTT over 3G/4G or WiFi |
|
Device-Service Interfaces Layer |
SensorThings API CREATE-UPDATE-DELETE |
|
Application-Service Interfaces Layer |
SensorThings API and MQTT Extension |
|
6.1.1 Data Model
6.1.2 Sequence Diagram
6.1.3 Example Request/Response
Example 1 - Request/Response for Create Thing and Related Entities for Hexoskin Smart Shirt
POST /Things HTTP1.1
Host: example.org/v1.0
Content-Type: application/json
{
"description":
"First Responder",
"Locations": [
{
"description":
"GPS Location",
"encodingType":
"application/vnd.geo+json",
"location": {
"type":
"Feature",
"geometry": {
"type":
"Point",
"coordinates":
[-114.0708,51.0486]
}
}
}
],
"Datastreams": [
{
"description":
"datastream of computed heart rate",
"unitOfMeasurement": {
"name": "
Beats Per Minute",
"symbol":
"BPM",
"definition":
"http://www.qudt.org/qudt/owl/1.0.0/unit/Instances.html#BPM"
},
"observationType":
"http://www.opengis.net/def/observationType/OGC-OM/2.0/OM_Measurement",
"ObservedProperty": {
"name":
"Heart Rate",
"definition":
"http://www.qudt.org/qudt/owl/1.0.0/quantity/Instances.html#BPM",
"description":
"Heart rate of the wearer"
},
"Sensor": {
"description":
"Hexoskin Heart rate sensor",
"encodingType": "http://schema.org/description",
"metadata": "Calibration
date: 1 to 3 lead ECG channel with a 12 bits resolution."
}
}
]
}
Example Response
{
"@iot.selfLink": "http://example.org/v1.0/Things(example_id)",
"Datastreams@iot.navigationLink": " http://example.org/v1.0/Things(example_id)/Datastreams",
"@iot.id": example_id,
"description": "First
Responder",
"Locations@iot.navigationLink":
" http://example.org/v1.0/Things(example_id)/Locations",
"properties": {},
"HistoricalLocations@iot.navigationLink": "http://example.org/v1.0/Things(example_id)/HistoricalLocations"
}
Example 2 - MQTT Publish for Creating Hexoskin Heart Rate Observation
MQTT Publish
Topic: v1.0/Datastreams({example_id}/Observations
Message:
{
"result": 70,
"phenonmenonTime": "2015-02-05T17:00:00Z"
}
6.2 SensorUp mBed SDK - Temperature Sensor (ZigBee to Ethernet)
|
Protocol Used |
Notes |
---|---|---|
Device Layer |
mBed Application Board + ZigBee |
|
Gateway Layer |
mBed Application Board |
|
Network Layer |
HTTP/MQTT over Ethernet |
|
Device-Service Interfaces Layer |
SensorThings API CREATE-UPDATE-DELETE |
|
Application-Service Interfaces Layer |
SensorThings API and MQTT Extension |
|
6.2.1 Data Model
6.2.2 Sequence Diagram
6.2.3 Example Request/Response
Example 3 - Request/Response for Create Thing and Related Entities for mBed
POST /Things HTTP1.1
Host: example.org/v1.0
Content-Type: application/json
{
"description":
" mbed device with temperature
sensor ",
"Locations": [
{
"description":
"GPS Location",
"encodingType":
"application/vnd.geo+json",
"location": {
"type":
"Feature",
"geometry": {
"type":
"Point",
"coordinates": [10,10]
}
}
}
],
"Datastreams": [
{
"description":
" Temperature datastream ",
"unitOfMeasurement": {
"name":
"Degree Celsius",
"symbol":
"˚C",
"definition":
"http://dbpedia.org/page/Celsius"
},
"observationType": "http://www.opengis.net/def/observationType/OGC-OM/2.0/OM_Measurement",
"ObservedProperty": {
"name": "
Area
Temperature ",
"definition":
"http://www.qudt.org/qudt/owl/1.0.0/quantity/Instances.html#AreaTemperature",
"description":
" Area Temperature "
},
"Sensor": {
"description":
" Temperature Sensor",
"encodingType": "http://schema.org/description",
"metadata":
" Temperature Sensor"
}
}
]
}
Example Response
{
"@iot.selfLink": "http://example.org/v1.0/Things(1753459)",
"Datastreams@iot.navigationLink": " http://example.org/v1.0/Things(12345)/Datastreams",
"@iot.id": 12345,
"description": "mbed
device with temperature sensor",
"Locations@iot.navigationLink":
" http://example.org/v1.0/Things(12345)/Locations",
"properties": {},
"HistoricalLocations@iot.navigationLink":
"http://example.org/v1.0/Things(12345)/HistoricalLocations"
}
Example 4 - Request/Response for Create Temperature Observation for mBed
POST /Datastreams({id})/Observations HTTP1.1
Host: example.org/v1.0
Content-Type: application/json
{
"result": 25.6,
"phenomenonTime": "2015-02-05T17:00:00Z",
}
Example Response
{
"@iot.selfLink":
"http://example.org/v1.0/Observations(1753459)",
"Datastream@iot.navigationLink":
" http://example.org/v1.0/Observations(12345)/Datastream",
"@iot.id": 12345,
"result": 25.6,
"phenomenonTime": "2015-02-05T17:00:00Z",
"resultTime": null,
"FeatureOfInterest@iot.navigationLink":
"http://example.org/v1.0/Observations(12345)/FeatureOfInterest"
}
6.3 SensorUp Linkit ONE Software Development Kit - Environmental Sensor
|
Protocol Used |
Notes |
---|---|---|
Device Layer |
Linkit ONE Board + Grove Sensors |
|
Gateway Layer |
Linkit ONE Board |
|
Network Layer |
HTTP/MQTT over WiFi |
|
Device-Service Interfaces Layer |
SensorThings API CREATE-UPDATE-DELETE |
|
Application-Service Interfaces Layer |
SensorThings API and MQTT Extension |
|
6.3.1 Data Model
6.3.2 Sequence Diagram
6.3.3 Example Request/Response
Example 5 - Request/Response for Create Thing and Related Entities for Linkit ONE Environmental Kit[2]
POST /Things HTTP1.1
Host: example.org/v1.0
Content-Type: application/json
{
"description":
" Linkit ONE Board with Environmental Sensors ",
"Locations": [
{
"description":
"GPS Location",
"encodingType":
"application/vnd.geo+json",
"location": {
"type":
"Feature",
"geometry": {
"type":
"Point",
"coordinates": [10,10]
}
}
}
],
"Datastreams": [
{
"description":
" Pressure Datastream ",
"unitOfMeasurement": {
"name":
"Pascal",
"symbol":
"Pa",
"definition":
" http://www.qudt.org/qudt/owl/1.0.0/unit/Instances.html#Pascal"
},
"observationType":
"http://www.opengis.net/def/observationType/OGC-OM/2.0/OM_Measurement",
"ObservedProperty": {
"name": "
Air
Pressure ",
"definition":
" http://mmisw.org/ont/ioos/parameter/air_pressure",
"description":
" Pressure exerted by overlying air"
},
"Sensor": {
"description":
" Grove Barometer Sensor ",
"encodingType": " text/html ",
"metadata":
" http://www.seeedstudio.com/wiki/Grove_-_Barometer_Sensor_(BMP180)"
}
}
]
}
Example Response
{
"@iot.selfLink":
"http://example.org/v1.0/Things(1753459)",
"Datastreams@iot.navigationLink": "
http://example.org/v1.0/Things(12345)/Datastreams",
"@iot.id": 12345,
"description": "Linkit ONE
Board with Environmental Sensors ",
"Locations@iot.navigationLink":
" http://example.org/v1.0/Things(12345)/Locations",
"properties": {},
"HistoricalLocations@iot.navigationLink":
"http://example.org/v1.0/Things(12345)/HistoricalLocations"
}
Example 6 – MQTT Publish for Creating Linkit ONE Temperature Observation
MQTT Publish
Topic: v1.0/Datastreams({id}/Observations
Message:
{
"result": 23.1,
"phenonmenonTime": "2015-02-05T17:00:00Z"
}
6.4 SensorUp SensorThings Wearable Cam
|
Protocol Used |
Notes |
---|---|---|
Device Layer |
Android Smartphone |
|
Gateway Layer |
Same as Above |
|
Network Layer |
HTTP over WiFi |
|
Device-Service Interfaces Layer |
SensorThings API CREATE-UPDATE-DELETE |
|
Application-Service Interfaces Layer |
SensorThings API and MQTT Extension |
|
6.4.1 Data Model
6.4.2 Sequence Diagram
6.4.3 Example Request/Response
Example 7 - Request/Response for Adding Wearable Camera Video Stream to SensorThings
POST /Things HTTP1.1
Host: example.org/v1.0
Content-Type: application/json
{
"description":
" Wearable Camera",
"Locations": [
{
"description":
"GPS Location",
"encodingType":
"application/vnd.geo+json",
"location": {
"type":
"Feature",
"geometry": {
"type":
"Point",
"coordinates": [10,10]
}
}
}
],
"Datastreams": [
{
"description":
" Video stream form wearable cam ",
"unitOfMeasurement": {
"name": "
video stream",
"symbol":
"NA",
"definition":
"NA"
},
"observationType":
"http://www.opengis.net/def/observationType/OGC-OM/2.0/OM_Video",
"ObservedProperty": {
"name": "
Live
view of location",
"definition":
"NA",
"description":
" NA "
},
"Sensor": {
"description":
" Smartphone Camera",
"encodingType": "http://schema.org/description",
"metadata":
" Smartphone Camera"
},
"Observations":
[{
"result":
" http://example.org/video"
}]
}
]
}
Example Response
{
"@iot.selfLink":
"http://example.org/v1.0/Things(1753459)",
"Datastreams@iot.navigationLink":
" http://example.org/v1.0/Things(12345)/Datastreams",
"@iot.id": 12345,
"description": " Wearable Camera",
"Locations@iot.navigationLink":
" http://example.org/v1.0/Things(12345)/Locations",
"properties": {},
"HistoricalLocations@iot.navigationLink":
"http://example.org/v1.0/Things(12345)/HistoricalLocations"
}
Example 8 - Request/Response for Create Orientation Observation for Wearable Camera
POST /Datastreams({id})/Observations HTTP1.1
Host: example.org/v1.0
Content-Type: application/json
{
"result": 83.38215637207031,
"phenomenonTime":
"2015-02-05T17:00:00Z",
}
Example Response
{
"@iot.selfLink":
"http://example.org/v1.0/Observations(1753459)",
"Datastream@iot.navigationLink": " http://example.org/v1.0/Observations(12345)/Datastream",
"@iot.id": 12345,
"result": 83.38215637207031,
"phenomenonTime": "2015-02-05T17:00:00Z",
"resultTime": null,
"FeatureOfInterest@iot.navigationLink":
"http://example.org/v1.0/Observations(12345)/FeatureOfInterest"
}
6.5 SensorUp SensorTag SDK
|
Protocol Used |
Notes |
---|---|---|
Device Layer |
TI SensorTag |
|
Gateway Layer |
BLE |
|
Network Layer |
MQTT over WiFi or 3G/4G |
|
Device-Service Interfaces Layer |
SensorThings API MQTT CREATE |
|
Application-Service Interfaces Layer |
SensorThings API and MQTT Extension |
|
6.5.1 Data Model
6.5.2 Sequence Diagram
6.5.3 Example Request/Response
Example 9 - Request/Response for Create Thing and Related Entities for SensorTag TI[3]
POST /Things HTTP1.1
Host: example.org/v1.0
Content-Type: application/json
{
"description":
" SimpleLink Multi-Standard SensorTag Development kit",
"Locations": [
{
"description":
"Manual Location Added",
"encodingType":
"application/vnd.geo+json",
"location": {
"type":
"Feature",
"geometry": {
"type":
"Point",
"coordinates": [10,10]
}
}
}
],
"Datastreams": [
{
"description":
"Humidity datastream",
"unitOfMeasurement": {
"name": "Percent",
"symbol":
"%",
"definition":
" http://www.qudt.org/qudt/owl/1.0.0/unit/Instances.html#Percent"
},
"observationType": "http://www.opengis.net/def/observationType/OGC-OM/2.0/OM_Measurement",
"ObservedProperty": {
"name": "
Absolute
Humidity",
"definition":
"http://www.qudt.org/qudt/owl/1.0.0/quantity/Instances.html#AbsoluteHumidity",
"description":
" Absolute humidity is the mass of water in a particular volume of air.
It is a measure of the density of water vapor in an atmosphere."
},
"Sensor": {
"description":
" HDC1000 - Humidity Sensor With Integrated Temperature Sensor",
"encodingType":
" http://schema.org/description",
"metadata":
"The HDC1000 sensor is a factory-calibrated digital humidity sensor with
an integrated temperature sensor that provide accurate measurements at very
low power."
}
}
]
}
Example Response
{
"@iot.selfLink":
"http://example.org/v1.0/Things(1753459)",
"Datastreams@iot.navigationLink": "
http://example.org/v1.0/Things(12345)/Datastreams",
"@iot.id": 12345,
"description": " SimpleLink Multi-Standard
SensorTag Development kit",
"Locations@iot.navigationLink":
" http://example.org/v1.0/Things(12345)/Locations",
"properties": {},
"HistoricalLocations@iot.navigationLink":
"http://example.org/v1.0/Things(12345)/HistoricalLocations"
}
Example 9 - MQTT Publish for Creating SensorTag Humidity Observation
MQTT Publish
Topic: v1.0/Datastreams({id}/Observations
Message:
{
"result": 45,
"phenonmenonTime": "2015-02-05T17:00:00Z"
}
6.6 Open Sensor Hub (OSH)-enabled Unmanned Aerial System (UAS)
|
Protocol Used |
Notes |
---|---|---|
Device Layer |
3DR Solo UAV + GoPro camera -> Linux Ground Control System |
Customized ArduPilot controller software, connected by UDP MavLink telemetry |
Gateway Layer |
Open Sensor Hub |
Connected via Wi-Fi to UAV and controller |
Network Layer |
Wi-Fi to LTE Cellular |
Tethered cellphone and cellular modem router |
Device-Service Interfaces Layer |
SOS Transaction |
H.264 MP4 video encoding |
Application-Service Interfaces Layer |
SOS & JS browser client |
|
7 Summary and Conclusions
The IMIS IoT pilot project provided an opportunity to test the OGC IoT standards using real-world scenarios defined by first responders. It demonstrated the maturity of the OGC standards and the ‘state-of-practical’. This report describes and begins to systematize the protocol conversions and other adaptations that were undertaken in the pilot in order to develop a scalable information system architecture combining the best features of the Internet of Things and OGC Sensor Web Enablement. It is clear from the work of aligning those features both vertically within the protocol stack and horizontally across segments of target sensor networks that further work is needed. Specifications of both the critical protocol conversions and the capabilities of an S-Hub component to implement them will be important next steps in the process of maturing this hybrid architecture as well as supporting further implementations in emergency response and other domains.
[1] In this pilot project, we did not include tasking scenarios, and as a result we did not include actuators.
[2] The example only contains one out of four Datastreams for Linkit ONE Environmental Kit.
[3] The example only contains one out of four Datastreams for SensorTag TI.