Accueil > Arduino > Arduino, ethernet et internet

Arduino, ethernet et internet

Dernier ajout : 15 janvier 2014.

Voici les articles de cette rubrique.

Articles de cette rubrique

    15 janvier 2014

  • Arduino et Teleduino

    Teleduino, pour quoi faire ?

    Teleduino est une application android qui vous permet de contrôler sommairement votre Arduino depuis votre smartphone.

    On peut par exemple :
    - choisir de mettre une patte Arduino en entrée ou en sortie.
    - activer ou désactiver une sortie digitale.
    - fixer la valeur d’une sortie PWM ou analogique.
    - lire une valeur.
    - convertir une entrée analogique par le biais d’une fonction linéaire.

    Comment faire ?

    - Demander une clé d’identification : https://www.teleduino.org/tools/request-key.
    - Télécharger la bibliothèque adaptée (uno ou mega) : https://www.teleduino.org/downloads/.
    - Brancher une led (avec une résistance) sur la patte 8, si vous voulez vérifier l’état de la communication.
    - Ouvrir le fichier d’exemple de la librairie qui s’appelle "TeleduinoEthernetClientProxy" et y placer sa clé.
    - Uploader ce fichier sur votre Arduino.

    A partir de ce moment, votre circuit est configuré pour l’utiliser avec Teleduino. Il ne vous reste plus qu’à faire vos propres montages avec les pattes d’Arduino.

    Côté smartphone, une fois l’application installée et lancée, il ne vous reste plus qu’à la configurer en utilisant si besoin la documentation.


  • 10 janvier 2014

  • Arduino et Xively

    Xively, pour quoi faire ?

    Le site Xively permet de lire les valeurs courantes d’un ou de plusieurs capteurs reliés à Arduino, et de visualiser automatiquement leurs évolutions en fonction du temps sous la forme de graphiques.

    Comment faire ?

    - Télécharger les librairies suivantes, et les dézipper dans votre répertoire "libraries/" en faisant attention à ce que le nom des répertoires ne contiennent que des lettres :

    https://github.com/xively/xively_arduino/archive/master.zip

    https://github.com/amcewen/HttpClient/archive/master.zip

    - Se créer un compte sur le site Xively.
    - Aller dans le menu "DEVELOP", puis ajouter un appareil "DEVICE" (par exemple : MyArduino).

    Vous allez alors voir se créer dans la partie droite un numéro "FEED" et une clé "KEY" que vous devrez utiliser dans le code à utiliser par la suite.

    Un exemple : le potentiomètre

    Nous allons lire depuis internet une valeur définie par un potentiomètre branché au pin A0.

    le code suivant devra être modifier :
    - mettre une IP compatible avec le réseau ;
    - changer la valeur de "xivelyKey[]" en prenant votre API KEY"
    - changer le premier paramètre de "XivelyFeed feed()" en y mettant votre numéro personnel de feed ;
    - le nom du "SensorId[]" sera le nom qui apparaîtra sur le site.

    #include <SPI.h>
    #include <Ethernet.h>
    #include <HttpClient.h>
    #include <Xively.h>

    // MAC address for your Ethernet shield
    byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };

    // The IP address will be dependent on your local network:
    IPAddress ip(192,168,1,210);

    // Your Xively key to let you upload data
    char xivelyKey[] = "YsPUsdsaR0DSV425yvDSvFnYSoVM1baXnY36H3K0rOYYgzzW";

    // Analog pin which we're monitoring (0 and 1 are used by the Ethernet shield)
    int sensorPin = 0;

    // Define the strings for our datastream IDs
    char sensorId[] = "Potentiometre";
    XivelyDatastream datastreams[] = {
     XivelyDatastream(sensorId, strlen(sensorId), DATASTREAM_FLOAT),
    };
    // Finally, wrap the datastreams into a feed
    XivelyFeed feed(533141835, datastreams, 1 /* number of datastreams */);

    EthernetClient client;
    XivelyClient xivelyclient(client);

    void setup() {
     // put your setup code here, to run once:
     Serial.begin(9600);
     
     Serial.println("Starting single datastream upload to Xively...");
     Serial.println();


     Ethernet.begin(mac, ip);

    }

    void loop() {
     int sensorValue = analogRead(sensorPin);
     datastreams[0].setFloat(sensorValue);

     Serial.print("Read sensor value ");
     Serial.println(datastreams[0].getFloat());

     Serial.println("Uploading it to Xively");
     int ret = xivelyclient.put(feed, xivelyKey);
     Serial.print("xivelyclient.put returned ");
     Serial.println(ret);

     Serial.println();
     delay(1000);
    }

    Pour aller plus loin : des alertes avec Zapier

    Pour l’instant, nos mesures sont enregistrées sur le site Xively. Mais en ajoutant ce qu’on appelle sur ce site un "trigger", on peut créer une ou plusieurs alertes. On peut par exemple, dans notre cas, décider d’envoyer un email si notre valeur est supérieur à 1000.

    Pour cela, on aura besoin d’un compte sur le site https://zapier.com/. Ensuite :
    - Make a new zap
    - On choisit pour la gauche : "Web Hook" et en dessous "Catch Hook".
    - On choisit pour la partie droite par exemple "Gmail".
    - On continue et on copie le lien.
    - on termine cette partie en se laissant guider.

    On revient sur le site Xively et on recopie le lien dans la partie "Add Trigger".

    Voila ! Et tout fonctionne sans aucune intervention de votre part. A chaque fois que votre valeur dépassera 1000, un email sera envoyé.


SPIP | | Plan du site | Suivre la vie du site RSS 2.0