@@ -4,7 +4,7 @@ TSMatch is a fortiss middleware that supports semantic matchmaking between IoT d
For that, release v1 of TSMatch follows a semantic similarity matchmaking approach.
## How it Works: Components, Interfaces, Connections, Dependencies on External Software
# 1. How it Works: Components, Interfaces, Connections, Dependencies on External Software
The main goal of TSMatch is to automate the data exchange between IoT data sources and services, while satisfying the service needs.
For that, release v1 of TSMatch follows a semantic similarity matchmaking approach. Release v2 of TSMatch considers a ML-based.
...
...
@@ -49,7 +49,7 @@ For the purpose of demonstration, you can also consider the following:
For a full technical description, please refer to the [documentation] which contains the technical report that explains all components. A shorter presentation is also provided. In this folder, you also have a few scientific papers related with the TSMatch aspects and its validation.
## Getting Started: Run TSMatch
# 2. Getting Started: Run TSMatch
A full explanation on how to run TSMatch can be found in [documentation], on the TSMatch technical report. This README provides a summarized version of the steps to take.
...
...
@@ -57,7 +57,7 @@ A full explanation on how to run TSMatch can be found in [documentation], on the
Each of the components listed above (except the Android app, and the libraries) runs inside a docker container. We provide various
shell scripts to run the TSMatch either locally on a single machine or running each container separately.
### Start the TSMatch Engine (server-side) Locally
## 2.1 Start the TSMatch Engine (server-side) Locally
Ensure that the IP addresses in the various .env files correspond to the IP of your (wireless, local) interface.
...
...
@@ -78,12 +78,14 @@ chmod +x stop_tsmatch.sh
[`stop_tsmatch.sh`](stop_tsmatch.sh) scripts stops each of the TSMatch components if they are running.
### Separately running each module
Check with the usual docker commands that all required containers are adequately running.
## 2.2 Separately running each module
We also provide a start and stop script to run each of the modules separately. Please refer to the folder of each module
to access the scripts.
## Runtime
## 2.3 Runtime
- Upon start, the sensors are registered in MQTT and advertised via coaty.io (thing_discovery). The TSMatch component observes the registered sensors and stores the sensor data (include sensor, Thing, feature of interest description in the DB).
- Then, the TSMatch client (app) will ask you to fill in some basic service request through thecommand line, then the service request is advertised.
...
...
@@ -95,14 +97,11 @@ to access the scripts.
4. A new node (linked sensor descriptions) is stored in graphDB.
5. The average value of the linked sensors are then sent to the apk.
# Contributing
- feel free to contribute to the current release. Please consider the guidelines in CONTRIBUTING.md.
## Synthetic Things
## 2.4 Use Synthetic Things
To play with TSMatch, you can use the synthetic Things that are stored in (./thing). Specifically, use the Raspberry PI based Thing, which generates values for Temperature (currently until 20C; you can adapt this). Thing has to be started separately via the start script in the thing/raspberr_pi directory.
## TSMatch client
## 2.5 TSMatch client
There is currently an Android app that can be tested. The apk file is located under [TSMatchMobileApp/android/app/build/outputs/apk/release]
Requirements:
...
...
@@ -118,7 +117,7 @@ Installation:
- With a file manager, move into the folder where the apk file is located.
- Click on apk file and follow the instructions of the apk installer on your smartphone.
## EFPF Connector
# 3. Interconnecting with the EFPF Data Spine: EFPF Connector