Dans cet exemple de développement sur fiware, nous allons prendre comme exemple des stations de vélos connectés. Ces stations retourne des informations des disponibilités des emplacements de chaque station. Nous utilisons un modèle de données proposer par Fiware issue de la norme NGSIv2.
Vérifier votre connexion avec Orion Context Broker
curl -v http://localhost:1026/version
Créer un fichier nommée NGSI_Entity_Creation_Station_01.json
Ajouter le modèle de données :
{
"id": "urn:ngsi-ld:station:0001",
"type": "BikeHireDockingStation",
"status": {
"value": "working"
},
"availableBikeNumber": {
"value": 7,
"metadata": {
"timestamp": {
"type": "DateTime",
"value": "2019-09-06T13:47:32"
}
}
},
"freeSlotNumber": {
"value": 9
},
"location": {
"type": "geo:json",
"value": {
"type": "Point",
"coordinates": [
43.605366,
3.881346
]
}
},
"address": {
"type": "PostalAddress",
"value": {
"addressCountry": "FR",
"addressLocality": "Montpellier",
"streetAddress": "Rue Jules Ferry - Gare Saint-Roch"
}
}
}
Créer la station dans le Context Broker :
curl -v -X POST --url "http://localhost:1026/v2/entities" --header "Content-Type: application/json" --header "Fiware-Service: bicycle_station" --header "Fiware-ServicePath: /mtp" --data "@NGSI_Entity_Creation_Station_01.json"
Dans la requete HTTP (curl) on retrouve deux arguments : Fiware-Service et Fiware-ServicePath.
Fiware-ServicePath est essentiels à la structure des vos données et ainsi réaliser des étendues de données. La structure proposé dans cet exemple permet de définir le chemin suivant : mtp. Ainsi qu’on nous faisons une recherche sur des données de type station de vélo nous pouvons faire une recherche par ville.
Fiware-Service est utilisée pour réaliser des séparations de base de données logique et il est utiisée afin d’identifier le service de données souhaité. Ainsi en précisant le Fiware-Service nous aurons jamais des données issue de parking par exemple.
Votre Fiware-ServicePath + votre Fiware-Service ne doivent pas être trop long par rapport à des restricion dans la création de la base de données dans MongoDB.
Vérifier la présence d’une entitée station de vélo :
curl -v http://localhost:1026/v2/entities --header "Fiware-Service: bicycle_station" --header "Fiware-ServicePath: /Fiware/BicycleStation/Montpellier"
Supprimer la station de vélo :
curl -v --header "Fiware-Service: bicycle_station" --header "Fiware-ServicePath: /mtp" -X DELETE --url "http://localhost:1026/v2/entities/urn:ngsi-ld:station:0001"