User manual
001
<form method="GET">
002
<input type="color" name="rgb" onchange="this.form.submit()"><BR>
003
</form>
La couleur choisie est maintenant transmise sous la forme /?rgb=%23,suivie de
six autres caractères. Le terme %23 signifie qu’il s’agit d’une hexadécimale. Pour
la couleur blanche l’URL est donc :
[IP]/?rgb=%23ffffff
Le contrôleur doit maintenant extraire les couleurs respectives de la DEL de ce
nombre hexadécimal, ce qui se passe dans la partie suivante de la fonction loop :
001
if (esp8266.findUntil("?rgb=", "\n"))
002
{
003
String hexstring = esp8266.readStringUntil(‚ ‚);
004
long number = (long) strtol( &hexstring[3], NULL, 16);
005
006
int r = number >> 16;
007
int g = number >> 8 & 0xFF;
008
int b = number & 0xFF;
009
010
analogWrite(RED, r);
011
analogWrite(GREEN, g);
012
analogWrite(BLUE, b);
013
}
Par la fonction strtol() le texte reçu derrière %23 devient d’abord un longnombre et
est ensuite converti par manipulation de bits en trois valeurs d’octets. Ceux-ci sont
finalement transmis par la fonction analogWrite()-à la DEL RVB.