README.md 3.59 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
# Goals
This is a PoC showing how to use FIWARE components for building an IoT platoform / Secured communication platform
This is inspired from [FIWARE tutorial](https://github.com/Fiware/tutorials.PEP-Proxy/blob/master/README.md)


# OVERALL ARCHITECTURE

+----------------------+                +-------------------+
|                      |                |                   |
|  Cloud Core Platform +----------------+ WMS - Watering    |
|                      |                | weekly scheduler  |
+----------+-----------+                |                   |
           |                            +-------------------+
           |
           |
           |
+----------+-----------+
|                      |
|  Soil Moisture IoT   |
|       sensor         |
|                      |
+----------------------+

+------------------------------------------------------------------------------+

# WMS subscribes:

+----------------------+                +-------------------+
|                      |                |                   |
|  Cloud Core Platform +<---------------+ WMS - Watering    |
|                      |  SUBSCRIBE     | weekly scheduler  |
+----------------------+  /FlowerBed/soilMoistureVwc        |
                                        +-------------------+


+----------------------+
|                      |
|  Soil Moisture IoT   |
|       sensor         |
|                      |
+----------------------+


+------------------------------------------------------------------------------+

# IoT data update, forwarding data to subscribers

+----------------------+                +-------------------+
|                      |                |                   |
|  Cloud Core Platform +--------------->+ WMS - Watering    |
|                      |   POST         | weekly scheduler  |
+-----+----------------+  /FlowerBed/soilMoistureVwc        |
      ^                                 +-------------------+
UPDATE|
/FlowerBed/soilMoistureVwc
      |
+-----+----------------+
|                      |
|  Soil Moisture IoT   |
|       sensor         |
|                      |
+----------------------+

+------------------------------------------------------------------------------+

66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96
# TODO how do we handle non-standard FIWARE formats?
# A proposal from UDGA/MI:

+----------------------+                +-------------------+
|                      |                |                   |
|  Cloud Core Platform +--------------->+ WMS + Watering    |
|                      |   POST         + weekly scheduler  |
+----------------------+  /FlowerBed/soilMoistureVwc        |
      ^                                 +-------------------+
      | UPDATE
      |  /FlowerBed/soilMoistureVwc
      |
+----------------------+
|                      |          +------------------+
| interoperability     +<---------+                  |
| layer                |          |  Carouge format  |
|  e.g. nginx          +---------->  exchange        |
+-----^----------------+          +------------------+
      |
      | UPDATE+
      | carougeFormat/FlowerBed/soilMoistureVwc
      |
      |
+----------------------+
|                      |
|  Soil Moisture IoT   |
|       sensor         |
|                      |
+----------------------+

+------------------------------------------------------------------------------+
97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115


# Requirements
- install `docker-compose`
- get source code repo

# Demo steps

## Put platform up
`docker-compose up -d`

## Test pulling data from platform without token

```bash
curl -X GET http://localhost:1027/v2/entities/urn:ngsi-ld:Store:001\?options\=keyValues
Auth-token not found in request header
```

##