Modifications

Sauter à la navigation Sauter à la recherche
1 360 octets ajoutés ,  23 novembre 2013 à 20:10
Ligne 412 : Ligne 412 :     
  <nowiki>void process(YunClient client) {
 
  <nowiki>void process(YunClient client) {
 +
  // Extraction de la commande.
 +
  // readStringUntil() signifie Lire_chaine_jusqu'a()
 +
  // Donc extraire ce qui se trouve "http://myArduinoYun.local/arduino/"
 +
  //  et avant le "/" suivant!
 
   String command = client.readStringUntil('/');
 
   String command = client.readStringUntil('/');
   Ligne 425 : Ligne 429 :  
}</nowiki>
 
}</nowiki>
   −
Create a function to deal with ''digital'' commands. Accept the client as the argument. Create some local variables to hold the pin and value of the command.  
+
Créer une fonction qui gère les commandes ''digital'' comme dans l'appel [[http://myArduinoYun.local/arduino/digital/13/1 http://myArduinoYun.local/arduino/'''digital'''/13/1].  
 +
 
 +
La fonction accepte un ''client'' comme argument. Créer quelques variables locales pour maintenir la broche ("''pin''" en anglais) et la valeur  ("''value''" en anglais) de la commande.  
    
  <nowiki>void digitalCommand(YunClient client) {
 
  <nowiki>void digitalCommand(YunClient client) {
 
   int pin, value;</nowiki>
 
   int pin, value;</nowiki>
   −
Parse the client's request for the pin to work with using '''client.parseInt()'''.
+
Fait un parsing (découpage) de la requête client pour obtenir la broche ("''pin''") à utiliser à l'aide de la fonction '''client.parseInt()'''.
 
  −
If the character after the pin is a "/", it means the URL is going to have a value of 1 or 0 following. This value will assign a value to the pin, turning it HIGH or LOW. If there is no trailing "/", read the value from the specified pin.  
     −
<nowiki>  pin = client.parseInt();
+
Si le caractère après la broche est un "/", cela signifie que l'URL devrait aussi contenir une valeur de 1 ou 0 (après le "/"). Cette valeur initialisera la "valeur de la broche" en plaçant sont état à HIGH ou LOW. S'il n'y a pas de "/" après le numéro de broche alors nous lisons la valeur de la broche spécifiée.
    +
<nowiki>  // extraction du numéro de broche (un nombre entier)
 +
  pin = client.parseInt();
 +
 
 +
  // S'il y a un "/" après l'entier du numéro de
 +
  //    broche comme dans ".../arduino/digital/13/1"
 
   if (client.read() == '/') {
 
   if (client.read() == '/') {
 +
    // Alors lire un autre entier après le "/"
 +
    // cette valeur est l'état de la broche
 +
    // 1 = HIGH, 0 = LOW
 
     value = client.parseInt();
 
     value = client.parseInt();
 
     digitalWrite(pin, value);
 
     digitalWrite(pin, value);
 
   }
 
   }
 
   else {
 
   else {
 +
    // Sinon, sans "/" après ne numéro de broche
 +
    //    comme dans ".../arduino/digital/13", il
 +
    //    faut simplement lire l'état de l'entrée.
 
     value = digitalRead(pin);
 
     value = digitalRead(pin);
 
   }</nowiki>
 
   }</nowiki>
   −
Print the value to the client and update the datastore key with the current pin value.
+
Affiche/envoi la valeur de vers le client et fait une mise-à-jour de la clé dans le datastore avec la valeur de la broche.
   −
By wrapping the value to the client in '''F()''', you'll be printing form the flash memory. This helps conserve space in SRAM, which is useful when dealing with long strings like URLs.
+
En enrobant la valeur renvoyée au client avec l'appel à la fonction '''F()''', vous pouvez afficher/renvoyer du texte provenant de la mémoire Flash. Cela permet d'économiser de la mémoire SRAM, très précieuse pour traiter de longues chaines de caractères tel que des URLs.
   −
The key will be the pin, and type. For example ''D2'' will be saved for for digital pin 2. The value will be whatever value the pin is currently set to, or was read from the pin.  
+
La clé (''key'' en anglais) du datastore sera le numéro de broche et le type (analogique ou digitale). Par exemple, ''D2'' sera clé pour sauver la valeur de la broche digitale #2. La valeur correspondant à la clé sera soit la valeur actuelle de la broche, soit la valeur que l'on assigne volontairement à la broche.  
    
  <nowiki>  client.print(F("Pin D"));
 
  <nowiki>  client.print(F("Pin D"));
Ligne 455 : Ligne 470 :  
   client.println(value);
 
   client.println(value);
    +
  // Clé pour le DataStore
 
   String key = "D";
 
   String key = "D";
 
   key += pin;
 
   key += pin;
 +
  // Stocker la ''clé = valeur'' dans le datastore du Bridge.
 
   Bridge.put(key, String(value));
 
   Bridge.put(key, String(value));
 
}</nowiki>
 
}</nowiki>
29 917

modifications

Menu de navigation