From a8a171db5437a7af4bf71cec89423fab859bc309 Mon Sep 17 00:00:00 2001 From: Frank Rohde <frank.rohde@tu-dresden.de> Date: Fri, 11 Feb 2022 13:45:47 +0100 Subject: [PATCH] GenericSensor: Added messages for communicating (extended) rawdata events from IPos-FW to its user-applications added protobuf description for Tooz app --- interfaces/GenericSensor/GenericSensor.proto | 79 ++++++++++++++++++++ interfaces/SimpleScene/SimpleScene.proto | 2 +- interfaces/Tooz/README.md | 4 + interfaces/Tooz/Tooz.proto | 24 ++++++ 4 files changed, 108 insertions(+), 1 deletion(-) create mode 100644 interfaces/Tooz/README.md create mode 100644 interfaces/Tooz/Tooz.proto diff --git a/interfaces/GenericSensor/GenericSensor.proto b/interfaces/GenericSensor/GenericSensor.proto index 05c26bc..632a61f 100644 --- a/interfaces/GenericSensor/GenericSensor.proto +++ b/interfaces/GenericSensor/GenericSensor.proto @@ -16,6 +16,16 @@ message SensorEventWrapper{ // mqtt-like protocols: just une kind of protobuf-me repeated SensorPositionEvent sensorPositionEvent = 9; } +message IPosRawdataEventWrapper{ + repeated IPosUWBEvent iPosUWBEvent = 1; + repeated IPosBTEvent iPosBTEvent = 2; + repeated IPosOtherBeaconEvent iPosOtherBeaconEvent = 3; + repeated IPosRFIDEvent iPosRFIDEvent = 4; + repeated IPosNFCEvent iPosNFCEvent = 5; + repeated IPosBarcodeEvent iPosBarcodeEvent = 6; + repeated IPosOtherProxEvent iPosOtherProxEvent = 7; +} + message RFIDRawDataEvent { string timestamp = 1; // https://en.wikipedia.org/wiki/ISO_8601 string tagId = 2; @@ -24,6 +34,26 @@ message RFIDRawDataEvent { string location = 5; } +message IPosRFIDEvent{ + string agentId = 1; + string sensorId = 2; + string agentType = 3; + string sensorType = 4; + string timeStamp = 5; + string tagId = 6; + string location = 7; +} + +message IPosNFCEvent{ + string agentId = 1; + string sensorId = 2; + string agentType = 3; + string sensorType = 4; + string timeStamp = 5; + string tagId = 6; + map<string, string> tagData = 7; +} + message NFCRawDataEvent { string timestamp = 1; string tagId = 2; @@ -39,6 +69,15 @@ message BarcodeRawDataEvent { string scannerId = 4; } +message IPosBarcodeEvent{ + string agentId = 1; + string sensorId = 2; + string agentType = 3; + string sensorType = 4; + string timeStamp = 5; + string tagId = 6; +} + message OtherProxRawDataEvent { string timestamp = 1; string tagId = 2; @@ -47,6 +86,17 @@ message OtherProxRawDataEvent { map<string, string> data = 5; } + +message IPosOtherProxEvent{ + string agentId = 1; + string sensorId = 2; + string agentType = 3; + string sensorType = 4; + string timeStamp = 5; + string tagId = 6; + map<string, string> data = 7; +} + message BluetoothRawDataEvent { string timestamp = 1; string sensorId = 2; @@ -56,6 +106,16 @@ message BluetoothRawDataEvent { } +message IPosBTEvent { + string agentId = 1; + string sensorId = 2; + string agentType = 3; + string sensorType = 4; + string timeStamp = 5; + map<string, string> distances = 6; + map<string, string> rss = 7; +} + message UWBRawDataEvent { string timestamp = 1; string sensorId = 2; @@ -63,6 +123,15 @@ message UWBRawDataEvent { string type = 4; } +message IPosUWBEvent { + string agentId = 1; + string sensorId = 2; + string agentType = 3; + string sensorType = 4; + string timeStamp = 5; + map<string, string> distances = 6; +} + message OtherBeaconRawDataEvent { string timestamp = 1; string sensorId = 2; @@ -71,6 +140,16 @@ message OtherBeaconRawDataEvent { map<string, string> data = 5; } +message IPosOtherBeaconEvent { + string agentId = 1; + string sensorId = 2; + string agentType = 3; + string sensorType = 4; + string timeStamp = 5; + map<string, string> distances = 6; + map<string, string> data = 7; +} + message IMURawDataEvent { string timestamp = 1; string sensorId = 2; diff --git a/interfaces/SimpleScene/SimpleScene.proto b/interfaces/SimpleScene/SimpleScene.proto index 262e821..9bafa3a 100644 --- a/interfaces/SimpleScene/SimpleScene.proto +++ b/interfaces/SimpleScene/SimpleScene.proto @@ -61,7 +61,7 @@ message IposMonitoringRequest { repeated string id = 5; // object-ids to be observed string fusionStrategy = 6; // e.g., "accuracy" for accuracy-optimized monitoring if multiple positions sensors per agent bool exit_notification = 7; // IPos will notify receiver when object has left the frame - repeated string properties = 8; // properties that shall be monitored: position or id or type + repeated string properties = 8; // properties that shall be monitored: position or id or type or distance string monitoringTaskId = 9; // unique for each monitoringRequest. IPosFW uses this info for configuring the communication protocol, e.g., for selecting a specific topic for MQTT-communication; a monitoringRequest with the same monitoringTaskId like a previous request updates this request string refSystemId = 10; string requestorProtocol = 11; // communication protocol, e.g., "mqtt"; Assumption: requestor = receiver diff --git a/interfaces/Tooz/README.md b/interfaces/Tooz/README.md new file mode 100644 index 0000000..eb6682e --- /dev/null +++ b/interfaces/Tooz/README.md @@ -0,0 +1,4 @@ +# Tooz Protobuf Definition + +This protobuf data model captures all messages that the Tooz-extension of the IPos-FW receives from- and transmits into its environment, excluding messages communicated with the base part of the IPos-FW that it is an extension of. + diff --git a/interfaces/Tooz/Tooz.proto b/interfaces/Tooz/Tooz.proto new file mode 100644 index 0000000..028dcc7 --- /dev/null +++ b/interfaces/Tooz/Tooz.proto @@ -0,0 +1,24 @@ +syntax = "proto3"; + +package ipos.models; + +message IPosToozExtInputWrapper { + repeated MonitoringTarget monitoringTargets = 1; +} + +message IPosToozExtOutputWrapper { + repeated DistantEntity distantEntities = 1; +} + +message MonitoringTarget { + string targetSensorId = 1; +} + +message DistantEntity{ + string localSensorId = 1; + string localAgentId = 2; + string distantEntityId = 3; + double distance = 4; + int32 proximityIndex = 5; + map<string, string> entityData = 6; +} \ No newline at end of file -- GitLab