Début de l'API
Il est prévu de piloter la cafetière via internet. Pour cela, il faut une API. Heureusement, la RFC 2324 existe et va nous faciliter le travail ! Cette RFC (un standard, donc) présente le modèle d'une API pour piloter une cafetière en ligne. Malheureusement, cette RFC est assez sommaire, et il va nous falloir boucher les trous.
Si des implémentations de la partie client de cette RFC 2324 existent déjà (pour EMACS, par exemple), à ma connaissance ça sera la première implémentation au monde de la partie serveur. W00t, comment ça le fait :)
L'API est construite progressivement sur le wiki.
URI
En accord avec la RFC 2324, l'URI de la cafetière est quelque chose comme « café://$serveur/$machine » où :
- serveur : « LaboLyon.fr » en IPv6 bien sur !
- machine : « cafetière »
Opérations réalisables
- obtenir l'état global de la cafetière
- obtenir l'âge du café
- obtenir le niveau du café
- obtenir la température du café
- lancer le café
- faire chauffer le café
- arrêter la chauffe du café
Obtenir l'état global de la cafetière
- Méthode : GET
- Résultat :
- OK
- code : 200
- Safe : yes
- XML (text/xml) de l'état
- Cafetière indisponible
- code : 404
- Safe : yes
- XML (text/xml) de la dernière présence connue
- Cafetière supprimée
- code : 410
- Safe : yes
- Microcontrôleur pas opérationnel
- code : 503
- Safe : yes
- XML (text/xml) du dernier état opérationnel connu
- Serveur en rade
- code : 500
- Safe : yes
- OK
TODO
- étendre la RFC 2324 avec authentification → s'appuyer sur HTTP ?
- étendre la RFC 2324 avec chiffrement → s'appuyer sur SSL ?
Références
- Hyper Text Coffee Pot Control Protocol (HTCPCP/1.0)
- Definitions of Managed Objects for Drip-Type Heated Beverage Hardware Devices using SMIv2
- XML Media Types
- Hypertext Transfer Protocol (HTTP) Status Code Registry
- Hypertext Transfer Protocol -- HTTP/1.1
- HTTP Header Field Registrations
A la recherche d'infos sur le fablab de grenoble
Sophie | lundi 5 mars 2012 | 11:48A la recherche d'infos sur le fablab de grenoble j'ai atterri sur votre blog... même si je ne comprends pas tout (je ne suis qu'une ingénieur commercial, blonde de surcroit!) j'adore le ton, et le coup de la cafetière pilotée par internet m'a vraiment éclatée!
bonne continuation, je reviendrai suivre vos aventures de temps en temps!
Sophie
@Sophie : Merci ! :) Le projet de la cafetière
Damien Clauzel | vendredi 9 mars 2012 | 20:16@Sophie : Merci ! :)
Le projet de la cafetière n'avance pas beaucoup, mais n'est pas oublié. Tu trouveras dans les 1e billets du projet une description moins technique de ce que l'on souhaite faire.
Pour un fablab à Grenoble, le mieux est encore de demander au LOG.