Prendre en main Pyaler est rapide et aisé. En effet, il suffit d'installer le package, d'adapter le fichier de configuration au programme de l'arduino et à la configuration de l'ordinateur puis d'exécuter pyaler ou de l'intégrer à apache.
Voici un tutoriel pour instancier pyaler en 5 minutes :
Mettre en place l'exemple de play.pyaler.org
Le fichier de configuration de Pyaler sert à associer un nom à chaque interface série reliée à un arduino et à associer des noms à des actions. Par exemple, pour la démo proposée sur ce site voici le fichier de configuration :
arduinos:
lolshield: /dev/ttyUSB0
read_actions:
demo: HACK ME ON http://play.pyaler.org !
write_actions:
write:
On y déclare une arduino qu'on nomme « lolshield » (du nom du shield créé par Jimmie P. Rodgers), sur le port série créé par l'ordinateur (ici, ttyUSB0 pour linux).
Ensuite, on défini les actions. Le tableau « read_actions » sert à définir des actions executées par des commandes HTTP « GET » sur l'arduino, le tableau « write_actions » sert à définir des actions executées par des commandes HTTP « POST » sur l'arduino ; dans ce cas, pyaler attend un champ « value » qui doit contenir les données à envoyer à l'arduino.
Dans l'exemple ci-dessus, lorsque l'on envoie par une requête POST «value="foobar"» à http://my.host/lolshield/write, le texte «foobar» est envoyé sur la liaison série de l'arduino qui affiche le texte. Le code executé par l'arduino est disponible sur github et sera intégré au code fourni pour la lolshield
Contrôler des diodes électroluminescentes
La première démo mise en place avec pyaler était pour contrôler une led RGB, comme la démo donnée sur yaler.org. Voici la configuration proposée :
arduinos:
leds: /dev/ttyUSB0
read_actions:
red: 1
blue: 2
green: 3
no_red: 4
no_green: 6
no_blue: 5
none: 0
write_actions:
Dans ce cas-ci, on effectue toutes les actions par des requêtes HTTP GET, qui vont envoyer la valeur associée
à l'Arduino. Ainsi lorsque « http://my.host/leds/red » est demandé, la chaîne « 1 » est écrite sur le port série,
et l'arduino une fois programmée avec le code ci-dessous mettra à HIGH la pin permettant d'allumer la couleur rouge.
int incomingByte = 0;
int ledPinRed = 13;
int ledPinGND = 12;
int ledPinGreen = 11;
int ledPinBlue = 10;
void setup() {
Serial.begin(9600);
pinMode(ledPinRed, OUTPUT);
pinMode(ledPinGND, OUTPUT);
pinMode(ledPinGreen, OUTPUT);
pinMode(ledPinBlue, OUTPUT);
}
void loop() {
if (Serial.available() > 0) {
digitalWrite(ledPinGND, LOW);
incomingByte = Serial.read();
if (incomingByte == 49) {
digitalWrite(ledPinRed, HIGH);
Serial.println('Red LED turned ON');
}
if (incomingByte == 50) {
digitalWrite(ledPinGreen, HIGH);
Serial.println('Green LED turned ON');
}
if (incomingByte == 51) {
digitalWrite(ledPinBlue, HIGH);
Serial.println('Blue LED turned ON');
}
if (incomingByte == 52) {
digitalWrite(ledPinRed, LOW);
Serial.println('Red LED turned ON');
}
if (incomingByte == 53) {
digitalWrite(ledPinGreen, LOW);
Serial.println('Green LED turned ON');
}
if (incomingByte == 54) {
digitalWrite(ledPinBlue, LOW);
Serial.println('Blue LED turned ON');
}
if (incomingByte == 48) {
digitalWrite(ledPinRed, LOW);
digitalWrite(ledPinGreen, LOW);
digitalWrite(ledPinBlue, LOW);
Serial.println('LEDs turned OFF');
}
}
}


