This is a PoC showing how to use FIWARE components for building an IoT platoform / Secured communication platform
# IoT Platform Overview
This includes the NAIADES IoT Platform source code, shipping code (Dockerfiles and docker-compose), and scripts examples
demonstrating how clients can use IoT Platform services (a.k.a NAIADES SDK).
SDK shows how to use NAIADES IoT Platform services, among these services we have:
- message broker (`Orion`)
- access control (`Wilma`)
- identity management (`Keyrock`)
- time-series storage and API (`QuantumLeap`)
- how to build your own services (e.g. `weather-data-collection-carouge`)
This is inspired from [FIWARE tutorial](https://github.com/Fiware/tutorials.PEP-Proxy/blob/master/README.md)
# OVERALL ARCHITECTURE
# More
You can find more info about how to use the platform at the [wiki home page](https://gitlab.distantaccess.com/naiades/naiades-platform-poc/-/wikis/home)
# Deploying the platform on your own
Please see [wiki article](https://gitlab.distantaccess.com/naiades/naiades-platform-poc/-/wikis/NAIADES-IoT-Platform-installation)
# Using the platform APIs
You use the platform services through its API, either if you have deployed it by yourself, or using the `development platform`
Please see [wiki article](https://gitlab.distantaccess.com/naiades/naiades-platform-poc/-/wikis/API-client-examples-(curl-and-python-scripts))
# Use Case Example
Using the `Carouge Watering` use case for exemplifying the interactions.
We have `IoT sensor for humidity`, and `WMS for watering scheduling`, then we could think of the following interactions:
## Interfaces:
```
+----------------------+ +-------------------+
...
...
@@ -26,7 +57,7 @@ This is inspired from [FIWARE tutorial](https://github.com/Fiware/tutorials.PEP-
# WMS subscribes:
## WMS subscribes:
```
+----------------------+ +-------------------+
...
...
@@ -69,30 +100,17 @@ UPDATE|
```
# TODO how do we handle non-standard FIWARE formats?
# A proposal from UDGA/MI:
## WMS gets time-series data (last 100 records on humidity):
db-mongo docker-entrypoint.sh --bin ... Up 0.0.0.0:27017->27017/tcp
db-mysql docker-entrypoint.sh mysqld Up 3306/tcp, 33060/tcp, 0.0.0.0:3307->3307/tcp
fiware-keyrock /opt/fiware-idm/docker-ent ... Up (health: starting) 3000/tcp, 0.0.0.0:3005->3005/tcp
fiware-orion /usr/bin/contextBroker -fg ... Up (health: starting) 0.0.0.0:1026->1026/tcp
fiware-orion-proxy /opt/fiware-pep-proxy/dock ... Up (health: starting) 0.0.0.0:1027->1027/tcp
mock-wms-consumer /opt/mockserver/run_mockse ... Up 1080/tcp, 0.0.0.0:1080->8080/tcp
mongo-express tini -- /docker-entrypoint ... Up 0.0.0.0:8081->3307/tcp, 8081/tcp
```
## Run demo using shell scripts in `scripts` folder
Please see `getting started` documentation at this [link](https://gitlab.distantaccess.com/naiades/naiades-platform-poc/-/wikis/API-client-examples-(curl-and-python-scripts))