Difference between revisions of "Mptwatch"

From Tmplab
(Appels)
 
(4 intermediate revisions by the same user not shown)
Line 3: Line 3:
 
== But ==
 
== But ==
  
Le but du projet MptWatch est de fournir un moyen de 
+
Le but du projet MptWatch est de fournir un moyen :
  
* savoir si quelqu'un est présent à la /tmp/mpt via des moyens divers
+
* de savoir si quelqu'un est présent à la /tmp/mpt via des moyens divers
* grapher l'occupation du local
+
* de grapher l'occupation du local
 +
* autres à déterminer ;)
  
 
== Historique ==
 
== Historique ==
  
On a souvent eu le problème de savoir s'il y a bien une personne au local sans avoir de moyen de le vérifier. On ne peut pas compter sur un chan IRC pour ça. D'où l'idée d'un système avec un capteur qu'on puisse interroger à distance.
+
'''On a souvent eu le problème de savoir s'il y a bien une personne au local sans avoir de moyen de le vérifier. '''
 +
 
 +
On ne peut pas compter sur un chan IRC pour ça.  
 +
 
 +
D'où l'idée d'un système avec un capteur qu'on puisse interroger à distance.
  
 
En contrepartie, on ne veut pas que ce soit intrusif, donc pas d'images et un système permettant de masquer sa présence : d'où les concepts de présence officielle / officieuse.
 
En contrepartie, on ne veut pas que ce soit intrusif, donc pas d'images et un système permettant de masquer sa présence : d'où les concepts de présence officielle / officieuse.
Line 17: Line 22:
  
 
''Présence officieuse'' : celle qui sera utilisée en interne
 
''Présence officieuse'' : celle qui sera utilisée en interne
 
  
 
= Capteur =
 
= Capteur =
Line 25: Line 29:
 
PCB avec une raspberry
 
PCB avec une raspberry
  
@todo : image & schema
+
todo:  
 +
* faire un boitier avec le switch "masquer ma présence"
 +
* documenter l'installation de la rasperryBi
 +
* documentation : photo & schema
  
 
= API =
 
= API =
Line 35: Line 42:
 
== Appels ==  
 
== Appels ==  
  
''scheme'' : ?action=verb&param1=foo&param2=bar
+
''scheme'' : ?action={get|set|read}&key={yourKey}&param2={moreParamsAccordingToMethod}
  
 
''verbs'' :
 
''verbs'' :
Line 70: Line 77:
  
 
todo :  
 
todo :  
* dépot GIT
 
* APIsation
 
 
* création des méthodes
 
* création des méthodes
 
* gestion de secret partagé & IP
 
* gestion de secret partagé & IP
Line 78: Line 83:
 
= Robot IRC =
 
= Robot IRC =
  
'''Statut''' : Projet alban
+
'''Statut''' : Projet sam
  
 
'''Pourquoi''' : Fournir le statut sur le chan du tmplab  
 
'''Pourquoi''' : Fournir le statut sur le chan du tmplab  

Latest revision as of 12:14, 29 December 2013

Concept

But

Le but du projet MptWatch est de fournir un moyen :

  • de savoir si quelqu'un est présent à la /tmp/mpt via des moyens divers
  • de grapher l'occupation du local
  • autres à déterminer ;)

Historique

On a souvent eu le problème de savoir s'il y a bien une personne au local sans avoir de moyen de le vérifier.

On ne peut pas compter sur un chan IRC pour ça.

D'où l'idée d'un système avec un capteur qu'on puisse interroger à distance.

En contrepartie, on ne veut pas que ce soit intrusif, donc pas d'images et un système permettant de masquer sa présence : d'où les concepts de présence officielle / officieuse.

Présence officielle : celle qui sera manifestée au public

Présence officieuse : celle qui sera utilisée en interne

Capteur

Statut : réalisé (par Thierry & Jean Luc)

PCB avec une raspberry

todo:

  • faire un boitier avec le switch "masquer ma présence"
  • documenter l'installation de la rasperryBi
  • documentation : photo & schema

API

Statut

En cours : alban

Appels

scheme : ?action={get|set|read}&key={yourKey}&param2={moreParamsAccordingToMethod}

verbs :

 set 
   usage
      Sets status (datetime is automatic)
   params 
     official : boolean
     unofficial : boolean
     key : shared secret
   security
     IP and key based
  get
    usage
      returns the current official status (up or down) 
   params 
     key : API key
   security
     key based
  read
    usage
      returns an array of official and/or unofficial status for a requested period 
   params 
     datestart : datetime // From x
     dateend : datetime // To x with default = now
     granularity : integer // the level of details requested
     domain : integer // 1: official 2: unofficial 3: both with default=1  
     key : API key
   security
     key based

todo :

  • création des méthodes
  • gestion de secret partagé & IP
  • gestion de clefs avec limites de droits

Robot IRC

Statut : Projet sam

Pourquoi : Fournir le statut sur le chan du tmplab

todo:

  • GIT
  • code du bot (présence / daemon / reboot)
  • code des appels depuis IRC / API / réponse IRC

Graphes

Statut : Projet alban

Pourquoi : Fournir des graphs d'occupation réelle de la salle

todo:

  • code des graphs (JS)
  • code des appels depuis AJAX / API / réponse AJAX

Développements

  • intégrer une fonctionnalité agenda pour prévoir des dates de présence ?
  • faire un bot sur mail ?
  • faire un signal sur le site ?