Bonjour,
nous avons vu précédemment comment publier des datas à l'aide du shield Ethernet officiel
nous allons voir ici comment faire la même chose avec le shield ethernet DIY Gate 0.5 (à base de Microchip ENC28J60)

Publication de données sur Pachube depuis Arduino + Gate 0.5 (Ethershield)
- 1. Commencer par récupérer la librairie Ethershield en pièce jointe a ce post (Version 1.6).
Si ce n'est pas déjà fait, créer un répertoire \libraries\ dans le répertoire qui contient vos sketches Arduino.
Décompresser la librairie dans ce le répertoire
- 2. Il faut se rendre sur Pachube et créer un compte.
Une clé API est créée et associée au compte, elle servira dans le code
- 3. Ensuite, il faut créer un flux de données (manual feeds), et noter le FEED_ID qui servira dans le code (on est pas obligé de remplir tous les champs)
- 4. Le code à uploader dans l'arduino (SnooChube) se récupère en pièce jointe a ce post.
Quelques modifications sont à apporter au code (testé avec Arduino 21) :
Dans le bout de code suivant :
// LES ADRESSES MAC ET IP DOIVENT ETRE UNIQUES DANS VOTRE RESEAU LOCAL
//Adresse MAC - exemple : {0x22,0x34,0x65,0x87,0x90,0xab}
static uint8_t mymac[6] = {0x22,0x34,0x65,0x87,0x90,0xab};
//Adresse IP - exemple : {192,168,0,35}
static uint8_t myip[4] = {192,168,10,240};
// ADRESSE IP DE VOTRE PASSERELLE* (*box)
static uint8_t gwip[4] = {192,168,10,1}; // ex : {192,168,0,1}
//
// PARAMETRES PACHUBE
//
#define PACHUBE_API_KEY "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
#define FEED_ID "xxxx"
#define SEND_INTERVAL 6000 //ms entre les mesures (pas moins de 5000, sinon avertissement de Pachube)
- * Optionnel : Renseigner une adresse mac (qui identifie votre équipement, on peux laisser celle par défaut, mais si on a deux équipements, il faut une adresse mac unique par équipement)
* Renseigner votre IP
* Renseigner l'adresse IP de votre passerelle (box internet)
* Renseigner le FEED_ID avec le feed ID attribué lors de la création du compte
* Renseigner la clé PACHUBE_API_KEY avec la clé API attribuée lors de la création du compte
* Optionnel : Renseigner l'intervalle de prise de données, ne pas descendre en dessous de 5s (interval = 5000) sous peine de bannissement temporaire de Pachube, j'ai testé pour vous

- 5. Ensuite, on peux constater à l'intérieur de la fonction sendData() que le code fait une acquisition des valeurs analogiques sur les entrées 0 à 5 et les publie sur Pachube.
// this method makes a HTTP connection to the server:
void sendData() {
// =================================================
//
// AFFECTATION DE LA VALEUR DE MESURE ICI
//
// Valeurs séparées par une virgule
//
// =================================================
sprintf(postvalue,"%d,%d,%d,%d,%d,%d",analogRead(0),analogRead(1),analogRead(2),analogRead(3),analogRead(4),analogRead(5));
es.ES_client_http_post(PSTR(HTTP_PATH),PSTR(WEBSERVER_VHOST),NULL,NULL,postvalue,&browserresult_callback);
Serial.print("path ");
Serial.println(HTTP_PATH);
Serial.print("vhost ");
Serial.println(WEBSERVER_VHOST);
Serial.println(postvalue);
Serial.println("Post done");
}
- 6. On peux connecter ses capteurs, vérifier que l'équipement est relié au réseau et uploader le code dans l'arduino.
On peux aller voir ses flux sur sa page Pachube, votre statut va passer de frozen à live. Et ça pourra ressembler à quelque chose comme ça : http://www.pachube.com/feeds/9555
Les six données seront les entrées Analog-in 0 à 5 (dans la capture d'écran ci-dessus, les datas entrées analogiques 4 et 5 on étées remplacées par une mesure de température & humidité)
On peux éditer les noms des tags à l'envi et indiquer à ses amis que l'on est maintenant en train de poster sur Pachube et ils pourront ainsi accéder à vos données publiées.