Description de la Logique de Composition entre API - AndreinaW/connected-frame GitHub Wiki

API proposées :

  • Changement du comportement de l'objet
  • Récupération des données collectées

Les API proposées offriront différents services sur l'objet. Bien que la première n'aura besoin d'aucune autre API, la seconde sera le résultat de traitement entre une multitude d'API. En effet, le but étant d'offrir des statistiques et des services divers relatifs a l'environnement du cadre augmenté, il est nécessaire de traiter les données acquises par nos capteurs. Pour pouvoir mettre en place la possibilité de changement de comportement de l'objet on va créer les variables, qui vont représentés chacune une de capteur dont notre objet. Elle vont prendre une de deux valeurs possibles: ACTIVE/INACTIVE pour pouvoir caractérisé l'état de capteur afin de définir si on va s'en servir ou pas.

Les données brutes captées seront pré-traitées par l'objet avant d’être envoyées sur une API de traitement correspondant a leur nature. Une fois les analyses effectuées, le raspberry sera en mesure d'exposer ces éléments pour qu'ils soient récupérés par le propriétaire du cadre.

On va pouvoir également rajouter les données dans notre objet. Les données vont être représentées en tant que les fichiers contenant le liens vers les sites web où se trouve les fichiers audios. Dans le cas où nous allons utiliser notre objet pour transformer les informations via les haut-parleurs (par example les publicités, une description des peintures) on va se servir de ces fichiers audios.

Nous utiliserons des API de type REST car elles garantissent simplicité et clarté. Les réponses du serveur pour les API REST vont être délivrées dans le format JSON. Pour définir les requêtes que le client peut effectuer on va utiliser les méthodes suivantes :

  • API de changement du comportement de l'objet :

    • Changement des valeurs d'état des capteurs :
    Chemins Action
    /PATCH/state/camera Change la valeur de l'état de la camera
    /PATCH/state/microphone Change la valeur de l'état du microphone
    /PATCH/state/speakers Change la valeur de l'état des hautes-parleurs
    /PATCH/state/lightsensor Change la valeur de l'état du capteur de luminosité
    • Récupération des valeurs d'état des capteurs :
    Chemins Action
    /GET/state/camera Récupère la valeur de l'état de la camera
    /GET/state/microphone Récupère la valeur de l'état du microphone
    /GET/state/speakers Récupère la valeur de l'état des hautes-parleurs
    /GET/state/lightsensor Récupère la valeur de l'état du capteur de luminosité
    • Création des valeurs d'état des capteurs :

      Chemins Action
      /POST/state/camera Crée la valeur de l'état de la camera
      /POST/state/microphone Crée la valeur de l'état du microphone
      /POST/state/speakers Crée la valeur de l'état des hautes-parleurs
      /POST/state/lightsensor Crée la valeur de l'état du capteur de luminosité
  • API de récupération des données collectées par les capteurs :

Chemins Action
/GET/data Récupére les données collectées (statistiques "en vrac")
/POST/audiofiles Transmet les fichiers contenant les liens vers les fichiers audios