# IoT Platform Overview This project includes the NAIADES IoT Platform source code and DCA components. It provides the sources for: - declarative services files (Dockerfiles and docker-compose) - platform management scripts (/scripts-admin)scripts - examples demonstrating how clients can use IoT Platform services (/scripts) and more. Among the IoT platform services we find the following key components: - context manager (`Orion`) - access control (`Wilma`) - identity management (`Keyrock`) - time-series storage (`QuantumLeap`) - examples for data consumers (e.g. `wms-example`) This is inspired from [FIWARE tutorial](https://github.com/Fiware/tutorials.PEP-Proxy/blob/master/README.md) # 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 soil moisture`, and `WMS for watering scheduling`, then we could think of the following interactions: ## Interfaces: ``` +----------------------+ +-------------------+ | | | | | IoT Platform +----------------+ WMS - Watering | | | | weekly scheduler | +----------+-----------+ | | | +-------------------+ | | | +----------+-----------+ | | | Soil Moisture IoT | | sensor | | | +----------------------+ ``` ## WMS subscribes: ``` +----------------------+ +-------------------+ | | | | | IoT Platform +<---------------+ WMS - Watering | | | SUBSCRIBE | weekly scheduler | +----------------------+ /FlowerBed/soilMoisture | +-------------------+ +----------------------+ | | | Soil Moisture IoT | | sensor | | | +----------------------+ ``` # IoT data update, forwarding data to subscribers ``` +----------------------+ +-------------------+ | | | | | IoT Platform +--------------->+ WMS - Watering | | | POST | weekly scheduler | +-----+----------------+ /FlowerBed/soilMoisture | ^ +-------------------+ UPDATE| /FlowerBed/soilMoisture | +-----+----------------+ | | | Soil Moisture IoT | | sensor | | | +----------------------+ ``` ## WMS gets time-series data (last 100 records on humidity): ``` +----------------------+ +-------------------+ | | | | | IoT Platform +<-----------------------------------+ WMS - Watering | | | GET | weekly scheduler | +----------------------+ /FlowerBed/soilMoisture?limit=100 | | +-------------------+ +----------------------+ | | | Soil Moisture IoT | | sensor | | | +----------------------+ ``` ## Useful mysql queries for DB querying ```mysql-sql SELECT time_index, entity_id, soilMoisture FROM mtcarouge.etflowerbed ORDER BY time_index DESC limit 100; ```