Dernière révision : septembre 2023 |
Sommaire Introduction L’électronique et l’informatique ont profondément modifié notre société. C’est certainement la révolution industrielle la plus rapide de l’histoire de l’humanité. En effet, l’ordinateur que nous connaissons aujourd’hui était tout simplement inimaginable il y a seulement une cinquantaine d’années. Et avec les Arduino, les ESP8266 ou les Raspberry Pi Pico, l'aventure est loin d'être terminée. L’auteur ne pourra en aucun cas être tenu responsable des dommages qui résulteraient de l’utilisation des informations publiées sur ce site, sous licence Creative Commons BY-NC-SA. Toute reproduction ou modification d'un document, même partielle, est autorisée à condition que son origine et le nom de l'auteur soient clairement indiqués (BY), qu'il soit utilisé à des fins non commerciales (NC), que son mode de diffusion soit identique au document initial (SA), et que cela ne porte pas atteinte à l’auteur. Ce document présente un projet utilisant une carte ESP8266 (ESP-01), en espérant toujours être le plus clair et précis possible. Malgré tout le soin apporté à la rédaction, l'auteur vous remercie de bien vouloir le contacter si vous relevez la moindre erreur ou omission, et vous souhaite une agréable lecture. Si vous avez apprécié ce document, vous pouvez faire un don ici. Merci pour votre soutien. Objectif Gérer un relais avec un ESP-01, via un navigateur web et une connexion wifi (maj OTA). Niveau Matériel utilisé
Programme (sketch) // gérer un relais avec un ESP8266 (ESP-01), // via un navigateur web et une connexion wifi (maj OTA) #include <ESP8266WiFi.h> #include <ArduinoOTA.h> #include <WiFiUdp.h> #include <NTPClient.h> #define nom_wifi "..." #define mdp_wifi "..." #define nom_ota "Serveur web ESP8266" #define mdp_ota "..." #define relais 0 IPAddress ip(192,168,1,47); IPAddress masque(255,255,255,0); IPAddress passerelle(192,168,1,1); IPAddress dns(192,168,1,1); WiFiServer serveur_web(80); WiFiClient client_web; WiFiUDP client_udp; NTPClient client_ntp(client_udp,"fr.pool.ntp.org",0,14400000); // 0 s = fuseau horaire (GMT), 14400000 ms = 14400 s = 4 h (taux de rafraîchissement) int jour_m=1,mois_m=1,annee_m=1970,heures_m=0,minutes_m=0; int jour_a=1,mois_a=1,annee_a=1970,heures_a=0,minutes_a=0; int jour,mois,annee,heures,minut; void setup() { pinMode(relais,OUTPUT); digitalWrite(relais,HIGH); // WiFi.mode(WIFI_AP); // Access Point mode (box) // WiFi.softAPConfig(ip,passerelle,masque); // WiFi.softAP(nom_wifi,mdp_wifi,1,false,8); // channel (1 to 13, default = 1), ssid_hidden (true or false, default = false), max_connection (0 to 8, default = 4) // WiFi.setOutputPower(5.0); // puissance d'émission (0 à 20.5 dBm, -3 dBm pour une puissance divisée par 2, +3 dBm pour une puissance multipliée par 2) WiFi.mode(WIFI_STA); WiFi.config(ip,passerelle,masque,dns); WiFi.begin(nom_wifi,mdp_wifi); Serial.begin(9600); Serial.write(13); Serial.write(10); Serial.write("Numéro de série de l'ESP8266 : "); Serial.println(ESP.getChipId()); Serial.write("Fréquence CPU (MHz) : "); Serial.println(ESP.getCpuFreqMHz()); Serial.write("Fréquence mémoire flash (MHz) : "); Serial.println(ESP.getFlashChipSpeed()/1000000); Serial.write("Capacité mémoire flash (octets) : "); Serial.println(ESP.getFlashChipRealSize()); Serial.write("Mémoire flash utilisée (octets) : "); Serial.println(ESP.getSketchSize()); Serial.write("Mémoire flash disponible (octets) : "); Serial.println(ESP.getFreeSketchSpace()); Serial.write("Connexion au réseau wifi"); while (WiFi.status()!=WL_CONNECTED) { Serial.write('.'); delay(100); } Serial.write(13); Serial.write(10); Serial.write("Connecté au réseau wifi !"); Serial.write(13); Serial.write(10); Serial.write("Nom du réseau : "); Serial.println(WiFi.SSID()); Serial.write("Force du signal : "); Serial.print(WiFi.RSSI()); // Received Signal Strength Indication Serial.write(" dBm"); // dB mW, 0 dBm = puissance max. (1 mW) Serial.write(13); Serial.write(10); Serial.write("Adresse MAC : "); Serial.println(WiFi.macAddress()); Serial.write("Adresse IP : "); Serial.println(WiFi.localIP()); Serial.write("Masque de sous-réseau : "); Serial.println(WiFi.subnetMask()); Serial.write("Passerelle : "); Serial.println(WiFi.gatewayIP()); Serial.write("Serveur DNS : "); Serial.println(WiFi.dnsIP()); ArduinoOTA.setHostname(nom_ota); ArduinoOTA.setPassword(mdp_ota); ArduinoOTA.begin(); Serial.write("OTA démarré !"); Serial.write(13); Serial.write(10); serveur_web.begin(); Serial.write("Serveur web démarré !"); Serial.write(13); Serial.write(10); client_ntp.begin(); Serial.write("Client NTP démarré !"); Serial.write(13); Serial.write(10); } void loop() { char car,requete_client[256],compteur=0,texte[5],j=0; unsigned char i=0; ArduinoOTA.handle(); client_web=serveur_web.available(); if (client_web) { Serial.write("Client connecté !"); Serial.write(13); Serial.write(10); do { car=client_web.read(); if ((i<255) && (car!=13)) requete_client[i++]=car; if (car=='=') { // jour de marche if (compteur==0) { do { car=client_web.read(); if ((i<255) && (car!=13)) requete_client[i++]=car; if ((j<2) && (car!='&') && (car!=13)) texte[j++]=car; } while ((j<2) && (car!='&') && (car!=13)); texte[j]=0; if (texte[0]!=0) jour_m=atoi(texte); else jour_m=1; } // mois de marche if (compteur==1) { j=0; do { car=client_web.read(); if ((i<255) && (car!=13)) requete_client[i++]=car; if ((j<2) && (car!='&') && (car!=13)) texte[j++]=car; } while ((j<2) && (car!='&') && (car!=13)); texte[j]=0; if (texte[0]!=0) mois_m=atoi(texte); else mois_m=1; } // année de marche if (compteur==2) { j=0; do { car=client_web.read(); if ((i<255) && (car!=13)) requete_client[i++]=car; if ((j<4) && (car!='&') && (car!=13)) texte[j++]=car; } while ((j<4) && (car!='&') && (car!=13)); texte[j]=0; if (texte[0]!=0) annee_m=atoi(texte); else annee_m=1970; } // heures de marche if (compteur==3) { j=0; do { car=client_web.read(); if ((i<255) && (car!=13)) requete_client[i++]=car; if ((j<2) && (car!='&') && (car!=13)) texte[j++]=car; } while ((j<2) && (car!='&') && (car!=13)); texte[j]=0; if (texte[0]!=0) heures_m=atoi(texte); else heures_m=0; } // minutes de marche if (compteur==4) { j=0; do { car=client_web.read(); if ((i<255) && (car!=13)) requete_client[i++]=car; if ((j<2) && (car!='&') && (car!=13)) texte[j++]=car; } while ((j<2) && (car!='&') && (car!=13)); texte[j]=0; if (texte[0]!=0) minutes_m=atoi(texte); else minutes_m=0; } // jour d'arrêt if (compteur==5) { j=0; do { car=client_web.read(); if ((i<255) && (car!=13)) requete_client[i++]=car; if ((j<2) && (car!='&') && (car!=13)) texte[j++]=car; } while ((j<2) && (car!='&') && (car!=13)); texte[j]=0; if (texte[0]!=0) jour_a=atoi(texte); else jour_a=1; } // mois d'arrêt if (compteur==6) { j=0; do { car=client_web.read(); if ((i<255) && (car!=13)) requete_client[i++]=car; if ((j<2) && (car!='&') && (car!=13)) texte[j++]=car; } while ((j<2) && (car!='&') && (car!=13)); texte[j]=0; if (texte[0]!=0) mois_a=atoi(texte); else mois_a=1; } // année d'arrêt if (compteur==7) { j=0; do { car=client_web.read(); if ((i<255) && (car!=13)) requete_client[i++]=car; if ((j<4) && (car!='&') && (car!=13)) texte[j++]=car; } while ((j<4) && (car!='&') && (car!=13)); texte[j]=0; if (texte[0]!=0) annee_a=atoi(texte); else annee_a=1970; } // heures d'arrêt if (compteur==8) { j=0; do { car=client_web.read(); if ((i<255) && (car!=13)) requete_client[i++]=car; if ((j<2) && (car!='&') && (car!=13)) texte[j++]=car; } while ((j<2) && (car!='&') && (car!=13)); texte[j]=0; if (texte[0]!=0) heures_a=atoi(texte); else heures_a=0; } // minutes d'arrêt if (compteur==9) { j=0; do { car=client_web.read(); if ((i<255) && (car!=13)) requete_client[i++]=car; if ((j<2) && (car!=13)) texte[j++]=car; } while ((j<2) && (car!=13)); texte[j]=0; if (texte[0]!=0) minutes_a=atoi(texte); else minutes_a=0; } if (compteur<10) compteur++; } } while ((i<255) && (car!=13)); while (client_web.available()>0) client_web.read(); // client_web.flush(); requete_client[i]=0; if (requete_client[0]!=0) { Serial.write(requete_client); Serial.write(13); Serial.write(10); } reponse_serveur(); if ((jour==jour_m) && (mois==mois_m) && (annee==annee_m) && (heures==heures_m) && (minut==minutes_m)) digitalWrite(relais,LOW); if ((jour==jour_a) && (mois==mois_a) && (annee==annee_a) && (heures==heures_a) && (minut==minutes_a)) digitalWrite(relais,HIGH); } } void reponse_serveur() { time_t temps_unix; // nombre de secondes écoulées depuis le 1er janvier 1970 à 00:00:00 struct tm *date_heure; char texte[27],tab_jour[3],tab_annee[5],tab_heures[3],tab_minutes[3]; client_web.write("HTTP/1.1 200 OK"); client_web.write(13); client_web.write(10); client_web.write("Content-type: text/html; charset=UTF-8"); client_web.write(13); client_web.write(10); client_web.write("Refresh: 60"); client_web.write(13); client_web.write(10); client_web.write(13); // ligne vide obligatoire à la fin de l'en-tête HTTP client_web.write(10); client_web.write("<!DOCTYPE HTML>"); client_web.write("<HTML LANG=\"fr\">"); client_web.write("<HEAD>"); client_web.write("<TITLE>Serveur web ESP8266</TITLE>"); client_web.write("</HEAD>"); client_web.write("<BODY>"); client_web.write("<CENTER>"); client_web.write("<FONT FACE=calibri>"); client_web.write("<BR><BR><B>Gérer un relais via un ESP8266</B>"); // afficher la date et l'heure client_ntp.update(); temps_unix=client_ntp.getEpochTime(); date_heure=localtime(&temps_unix); // jour de la semaine switch (date_heure->tm_wday) { case 0 : strcpy(texte,"Dimanche "); break; case 1 : strcpy(texte,"Lundi "); break; case 2 : strcpy(texte,"Mardi "); break; case 3 : strcpy(texte,"Mercredi "); break; case 4 : strcpy(texte,"Jeudi "); break; case 5 : strcpy(texte,"Vendredi "); break; case 6 : strcpy(texte,"Samedi "); } // jour du mois jour=date_heure->tm_mday; if (jour<10) { tab_jour[0]=48; tab_jour[1]=jour+48; tab_jour[2]=0; } else itoa(jour,tab_jour,10); strcat(texte,tab_jour); // mois mois=date_heure->tm_mon+1; switch (mois) { case 1 : strcat(texte," janvier "); break; case 2 : strcat(texte," février "); break; case 3 : strcat(texte," mars "); break; case 4 : strcat(texte," avril "); break; case 5 : strcat(texte," mai "); break; case 6 : strcat(texte," juin "); break; case 7 : strcat(texte," juillet "); break; case 8 : strcat(texte," août "); break; case 9 : strcat(texte," septembre "); break; case 10 : strcat(texte," octobre "); break; case 11 : strcat(texte," novembre "); break; case 12 : strcat(texte," décembre "); } // année annee=date_heure->tm_year+1900; itoa(annee,tab_annee,10); strcat(texte,tab_annee); client_web.write("<BR><BR><BR>"); client_web.write(texte); // heures heures=date_heure->tm_hour; if (heures<10) { tab_heures[0]=48; tab_heures[1]=heures+48; tab_heures[2]=0; } else itoa(heures,tab_heures,10); texte[0]=tab_heures[0]; texte[1]=tab_heures[1]; texte[2]=':'; // minutes minut=date_heure->tm_min; if (minut<10) { tab_minutes[0]=48; tab_minutes[1]=minut+48; tab_minutes[2]=0; } else itoa(minut,tab_minutes,10); texte[3]=tab_minutes[0]; texte[4]=tab_minutes[1]; texte[5]=0; client_web.write("<BR>"); client_web.write(texte); client_web.write("<FORM ACTION=/ METHOD=get>"); // date de marche client_web.write("<BR><BR><BR>Date de marche : "); // jour de marche client_web.write("<SELECT NAME=jour_m>"); if (jour_m==1) client_web.write("<OPTION VALUE=1 SELECTED>1</OPTION>"); else client_web.write("<OPTION VALUE=1>1</OPTION>"); if (jour_m==2) client_web.write("<OPTION VALUE=2 SELECTED>2</OPTION>"); else client_web.write("<OPTION VALUE=2>2</OPTION>"); if (jour_m==3) client_web.write("<OPTION VALUE=3 SELECTED>3</OPTION>"); else client_web.write("<OPTION VALUE=3>3</OPTION>"); if (jour_m==4) client_web.write("<OPTION VALUE=4 SELECTED>4</OPTION>"); else client_web.write("<OPTION VALUE=4>4</OPTION>"); if (jour_m==5) client_web.write("<OPTION VALUE=5 SELECTED>5</OPTION>"); else client_web.write("<OPTION VALUE=5>5</OPTION>"); if (jour_m==6) client_web.write("<OPTION VALUE=6 SELECTED>6</OPTION>"); else client_web.write("<OPTION VALUE=6>6</OPTION>"); if (jour_m==7) client_web.write("<OPTION VALUE=7 SELECTED>7</OPTION>"); else client_web.write("<OPTION VALUE=7>7</OPTION>"); if (jour_m==8) client_web.write("<OPTION VALUE=8 SELECTED>8</OPTION>"); else client_web.write("<OPTION VALUE=8>8</OPTION>"); if (jour_m==9) client_web.write("<OPTION VALUE=9 SELECTED>9</OPTION>"); else client_web.write("<OPTION VALUE=9>9</OPTION>"); if (jour_m==10) client_web.write("<OPTION VALUE=10 SELECTED>10</OPTION>"); else client_web.write("<OPTION VALUE=10>10</OPTION>"); if (jour_m==11) client_web.write("<OPTION VALUE=11 SELECTED>11</OPTION>"); else client_web.write("<OPTION VALUE=11>11</OPTION>"); if (jour_m==12) client_web.write("<OPTION VALUE=12 SELECTED>12</OPTION>"); else client_web.write("<OPTION VALUE=12>12</OPTION>"); if (jour_m==13) client_web.write("<OPTION VALUE=13 SELECTED>13</OPTION>"); else client_web.write("<OPTION VALUE=13>13</OPTION>"); if (jour_m==14) client_web.write("<OPTION VALUE=14 SELECTED>14</OPTION>"); else client_web.write("<OPTION VALUE=14>14</OPTION>"); if (jour_m==15) client_web.write("<OPTION VALUE=15 SELECTED>15</OPTION>"); else client_web.write("<OPTION VALUE=15>15</OPTION>"); if (jour_m==16) client_web.write("<OPTION VALUE=16 SELECTED>16</OPTION>"); else client_web.write("<OPTION VALUE=16>16</OPTION>"); if (jour_m==17) client_web.write("<OPTION VALUE=17 SELECTED>17</OPTION>"); else client_web.write("<OPTION VALUE=17>17</OPTION>"); if (jour_m==18) client_web.write("<OPTION VALUE=18 SELECTED>18</OPTION>"); else client_web.write("<OPTION VALUE=18>18</OPTION>"); if (jour_m==19) client_web.write("<OPTION VALUE=19 SELECTED>19</OPTION>"); else client_web.write("<OPTION VALUE=19>19</OPTION>"); if (jour_m==20) client_web.write("<OPTION VALUE=20 SELECTED>20</OPTION>"); else client_web.write("<OPTION VALUE=20>20</OPTION>"); if (jour_m==21) client_web.write("<OPTION VALUE=21 SELECTED>21</OPTION>"); else client_web.write("<OPTION VALUE=21>21</OPTION>"); if (jour_m==22) client_web.write("<OPTION VALUE=22 SELECTED>22</OPTION>"); else client_web.write("<OPTION VALUE=22>22</OPTION>"); if (jour_m==23) client_web.write("<OPTION VALUE=23 SELECTED>23</OPTION>"); else client_web.write("<OPTION VALUE=23>23</OPTION>"); if (jour_m==24) client_web.write("<OPTION VALUE=24 SELECTED>24</OPTION>"); else client_web.write("<OPTION VALUE=24>24</OPTION>"); if (jour_m==25) client_web.write("<OPTION VALUE=25 SELECTED>25</OPTION>"); else client_web.write("<OPTION VALUE=25>25</OPTION>"); if (jour_m==26) client_web.write("<OPTION VALUE=26 SELECTED>26</OPTION>"); else client_web.write("<OPTION VALUE=26>26</OPTION>"); if (jour_m==27) client_web.write("<OPTION VALUE=27 SELECTED>27</OPTION>"); else client_web.write("<OPTION VALUE=27>27</OPTION>"); if (jour_m==28) client_web.write("<OPTION VALUE=28 SELECTED>28</OPTION>"); else client_web.write("<OPTION VALUE=28>28</OPTION>"); if (jour_m==29) client_web.write("<OPTION VALUE=29 SELECTED>29</OPTION>"); else client_web.write("<OPTION VALUE=29>29</OPTION>"); if (jour_m==30) client_web.write("<OPTION VALUE=30 SELECTED>30</OPTION>"); else client_web.write("<OPTION VALUE=30>30</OPTION>"); if (jour_m==31) client_web.write("<OPTION VALUE=31 SELECTED>31</OPTION>"); else client_web.write("<OPTION VALUE=31>31</OPTION>"); client_web.write("</SELECT> "); // mois de marche client_web.write("<SELECT NAME=mois_m>"); if (mois_m==1) client_web.write("<OPTION VALUE=1 SELECTED>1</OPTION>"); else client_web.write("<OPTION VALUE=1>1</OPTION>"); if (mois_m==2) client_web.write("<OPTION VALUE=2 SELECTED>2</OPTION>"); else client_web.write("<OPTION VALUE=2>2</OPTION>"); if (mois_m==3) client_web.write("<OPTION VALUE=3 SELECTED>3</OPTION>"); else client_web.write("<OPTION VALUE=3>3</OPTION>"); if (mois_m==4) client_web.write("<OPTION VALUE=4 SELECTED>4</OPTION>"); else client_web.write("<OPTION VALUE=4>4</OPTION>"); if (mois_m==5) client_web.write("<OPTION VALUE=5 SELECTED>5</OPTION>"); else client_web.write("<OPTION VALUE=5>5</OPTION>"); if (mois_m==6) client_web.write("<OPTION VALUE=6 SELECTED>6</OPTION>"); else client_web.write("<OPTION VALUE=6>6</OPTION>"); if (mois_m==7) client_web.write("<OPTION VALUE=7 SELECTED>7</OPTION>"); else client_web.write("<OPTION VALUE=7>7</OPTION>"); if (mois_m==8) client_web.write("<OPTION VALUE=8 SELECTED>8</OPTION>"); else client_web.write("<OPTION VALUE=8>8</OPTION>"); if (mois_m==9) client_web.write("<OPTION VALUE=9 SELECTED>9</OPTION>"); else client_web.write("<OPTION VALUE=9>9</OPTION>"); if (mois_m==10) client_web.write("<OPTION VALUE=10 SELECTED>10</OPTION>"); else client_web.write("<OPTION VALUE=10>10</OPTION>"); if (mois_m==11) client_web.write("<OPTION VALUE=11 SELECTED>11</OPTION>"); else client_web.write("<OPTION VALUE=11>11</OPTION>"); if (mois_m==12) client_web.write("<OPTION VALUE=12 SELECTED>12</OPTION>"); else client_web.write("<OPTION VALUE=12>12</OPTION>"); client_web.write("</SELECT> "); // année de marche client_web.write("<INPUT TYPE=text NAME=annee_m VALUE="); itoa(annee_m,texte,10); client_web.write(texte); client_web.write(" REQUIRED MINLENGTH=4 MAXLENGTH=4 SIZE=2>"); // heure de marche client_web.write("<BR><BR>Heure de marche : "); // heures de marche client_web.write("<SELECT NAME=heures_m>"); if (heures_m==0) client_web.write("<OPTION VALUE=0 SELECTED>0</OPTION>"); else client_web.write("<OPTION VALUE=0>0</OPTION>"); if (heures_m==1) client_web.write("<OPTION VALUE=1 SELECTED>1</OPTION>"); else client_web.write("<OPTION VALUE=1>1</OPTION>"); if (heures_m==2) client_web.write("<OPTION VALUE=2 SELECTED>2</OPTION>"); else client_web.write("<OPTION VALUE=2>2</OPTION>"); if (heures_m==3) client_web.write("<OPTION VALUE=3 SELECTED>3</OPTION>"); else client_web.write("<OPTION VALUE=3>3</OPTION>"); if (heures_m==4) client_web.write("<OPTION VALUE=4 SELECTED>4</OPTION>"); else client_web.write("<OPTION VALUE=4>4</OPTION>"); if (heures_m==5) client_web.write("<OPTION VALUE=5 SELECTED>5</OPTION>"); else client_web.write("<OPTION VALUE=5>5</OPTION>"); if (heures_m==6) client_web.write("<OPTION VALUE=6 SELECTED>6</OPTION>"); else client_web.write("<OPTION VALUE=6>6</OPTION>"); if (heures_m==7) client_web.write("<OPTION VALUE=7 SELECTED>7</OPTION>"); else client_web.write("<OPTION VALUE=7>7</OPTION>"); if (heures_m==8) client_web.write("<OPTION VALUE=8 SELECTED>8</OPTION>"); else client_web.write("<OPTION VALUE=8>8</OPTION>"); if (heures_m==9) client_web.write("<OPTION VALUE=9 SELECTED>9</OPTION>"); else client_web.write("<OPTION VALUE=9>9</OPTION>"); if (heures_m==10) client_web.write("<OPTION VALUE=10 SELECTED>10</OPTION>"); else client_web.write("<OPTION VALUE=10>10</OPTION>"); if (heures_m==11) client_web.write("<OPTION VALUE=11 SELECTED>11</OPTION>"); else client_web.write("<OPTION VALUE=11>11</OPTION>"); if (heures_m==12) client_web.write("<OPTION VALUE=12 SELECTED>12</OPTION>"); else client_web.write("<OPTION VALUE=12>12</OPTION>"); if (heures_m==13) client_web.write("<OPTION VALUE=13 SELECTED>13</OPTION>"); else client_web.write("<OPTION VALUE=13>13</OPTION>"); if (heures_m==14) client_web.write("<OPTION VALUE=14 SELECTED>14</OPTION>"); else client_web.write("<OPTION VALUE=14>14</OPTION>"); if (heures_m==15) client_web.write("<OPTION VALUE=15 SELECTED>15</OPTION>"); else client_web.write("<OPTION VALUE=15>15</OPTION>"); if (heures_m==16) client_web.write("<OPTION VALUE=16 SELECTED>16</OPTION>"); else client_web.write("<OPTION VALUE=16>16</OPTION>"); if (heures_m==17) client_web.write("<OPTION VALUE=17 SELECTED>17</OPTION>"); else client_web.write("<OPTION VALUE=17>17</OPTION>"); if (heures_m==18) client_web.write("<OPTION VALUE=18 SELECTED>18</OPTION>"); else client_web.write("<OPTION VALUE=18>18</OPTION>"); if (heures_m==19) client_web.write("<OPTION VALUE=19 SELECTED>19</OPTION>"); else client_web.write("<OPTION VALUE=19>19</OPTION>"); if (heures_m==20) client_web.write("<OPTION VALUE=20 SELECTED>20</OPTION>"); else client_web.write("<OPTION VALUE=20>20</OPTION>"); if (heures_m==21) client_web.write("<OPTION VALUE=21 SELECTED>21</OPTION>"); else client_web.write("<OPTION VALUE=21>21</OPTION>"); if (heures_m==22) client_web.write("<OPTION VALUE=22 SELECTED>22</OPTION>"); else client_web.write("<OPTION VALUE=22>22</OPTION>"); if (heures_m==23) client_web.write("<OPTION VALUE=23 SELECTED>23</OPTION>"); else client_web.write("<OPTION VALUE=23>23</OPTION>"); client_web.write("</SELECT> "); // minutes de marche client_web.write("<SELECT NAME=minutes_m>"); if (minutes_m==0) client_web.write("<OPTION VALUE=0 SELECTED>0</OPTION>"); else client_web.write("<OPTION VALUE=0>0</OPTION>"); if (minutes_m==1) client_web.write("<OPTION VALUE=1 SELECTED>1</OPTION>"); else client_web.write("<OPTION VALUE=1>1</OPTION>"); if (minutes_m==2) client_web.write("<OPTION VALUE=2 SELECTED>2</OPTION>"); else client_web.write("<OPTION VALUE=2>2</OPTION>"); if (minutes_m==3) client_web.write("<OPTION VALUE=3 SELECTED>3</OPTION>"); else client_web.write("<OPTION VALUE=3>3</OPTION>"); if (minutes_m==4) client_web.write("<OPTION VALUE=4 SELECTED>4</OPTION>"); else client_web.write("<OPTION VALUE=4>4</OPTION>"); if (minutes_m==5) client_web.write("<OPTION VALUE=5 SELECTED>5</OPTION>"); else client_web.write("<OPTION VALUE=5>5</OPTION>"); if (minutes_m==6) client_web.write("<OPTION VALUE=6 SELECTED>6</OPTION>"); else client_web.write("<OPTION VALUE=6>6</OPTION>"); if (minutes_m==7) client_web.write("<OPTION VALUE=7 SELECTED>7</OPTION>"); else client_web.write("<OPTION VALUE=7>7</OPTION>"); if (minutes_m==8) client_web.write("<OPTION VALUE=8 SELECTED>8</OPTION>"); else client_web.write("<OPTION VALUE=8>8</OPTION>"); if (minutes_m==9) client_web.write("<OPTION VALUE=9 SELECTED>9</OPTION>"); else client_web.write("<OPTION VALUE=9>9</OPTION>"); if (minutes_m==10) client_web.write("<OPTION VALUE=10 SELECTED>10</OPTION>"); else client_web.write("<OPTION VALUE=10>10</OPTION>"); if (minutes_m==11) client_web.write("<OPTION VALUE=11 SELECTED>11</OPTION>"); else client_web.write("<OPTION VALUE=11>11</OPTION>"); if (minutes_m==12) client_web.write("<OPTION VALUE=12 SELECTED>12</OPTION>"); else client_web.write("<OPTION VALUE=12>12</OPTION>"); if (minutes_m==13) client_web.write("<OPTION VALUE=13 SELECTED>13</OPTION>"); else client_web.write("<OPTION VALUE=13>13</OPTION>"); if (minutes_m==14) client_web.write("<OPTION VALUE=14 SELECTED>14</OPTION>"); else client_web.write("<OPTION VALUE=14>14</OPTION>"); if (minutes_m==15) client_web.write("<OPTION VALUE=15 SELECTED>15</OPTION>"); else client_web.write("<OPTION VALUE=15>15</OPTION>"); if (minutes_m==16) client_web.write("<OPTION VALUE=16 SELECTED>16</OPTION>"); else client_web.write("<OPTION VALUE=16>16</OPTION>"); if (minutes_m==17) client_web.write("<OPTION VALUE=17 SELECTED>17</OPTION>"); else client_web.write("<OPTION VALUE=17>17</OPTION>"); if (minutes_m==18) client_web.write("<OPTION VALUE=18 SELECTED>18</OPTION>"); else client_web.write("<OPTION VALUE=18>18</OPTION>"); if (minutes_m==19) client_web.write("<OPTION VALUE=19 SELECTED>19</OPTION>"); else client_web.write("<OPTION VALUE=19>19</OPTION>"); if (minutes_m==20) client_web.write("<OPTION VALUE=20 SELECTED>20</OPTION>"); else client_web.write("<OPTION VALUE=20>20</OPTION>"); if (minutes_m==21) client_web.write("<OPTION VALUE=21 SELECTED>21</OPTION>"); else client_web.write("<OPTION VALUE=21>21</OPTION>"); if (minutes_m==22) client_web.write("<OPTION VALUE=22 SELECTED>22</OPTION>"); else client_web.write("<OPTION VALUE=22>22</OPTION>"); if (minutes_m==23) client_web.write("<OPTION VALUE=23 SELECTED>23</OPTION>"); else client_web.write("<OPTION VALUE=23>23</OPTION>"); if (minutes_m==24) client_web.write("<OPTION VALUE=24 SELECTED>24</OPTION>"); else client_web.write("<OPTION VALUE=24>24</OPTION>"); if (minutes_m==25) client_web.write("<OPTION VALUE=25 SELECTED>25</OPTION>"); else client_web.write("<OPTION VALUE=25>25</OPTION>"); if (minutes_m==26) client_web.write("<OPTION VALUE=26 SELECTED>26</OPTION>"); else client_web.write("<OPTION VALUE=26>26</OPTION>"); if (minutes_m==27) client_web.write("<OPTION VALUE=27 SELECTED>27</OPTION>"); else client_web.write("<OPTION VALUE=27>27</OPTION>"); if (minutes_m==28) client_web.write("<OPTION VALUE=28 SELECTED>28</OPTION>"); else client_web.write("<OPTION VALUE=28>28</OPTION>"); if (minutes_m==29) client_web.write("<OPTION VALUE=29 SELECTED>29</OPTION>"); else client_web.write("<OPTION VALUE=29>29</OPTION>"); if (minutes_m==30) client_web.write("<OPTION VALUE=30 SELECTED>30</OPTION>"); else client_web.write("<OPTION VALUE=30>30</OPTION>"); if (minutes_m==31) client_web.write("<OPTION VALUE=31 SELECTED>31</OPTION>"); else client_web.write("<OPTION VALUE=31>31</OPTION>"); if (minutes_m==32) client_web.write("<OPTION VALUE=32 SELECTED>32</OPTION>"); else client_web.write("<OPTION VALUE=32>32</OPTION>"); if (minutes_m==33) client_web.write("<OPTION VALUE=33 SELECTED>33</OPTION>"); else client_web.write("<OPTION VALUE=33>33</OPTION>"); if (minutes_m==34) client_web.write("<OPTION VALUE=34 SELECTED>34</OPTION>"); else client_web.write("<OPTION VALUE=34>34</OPTION>"); if (minutes_m==35) client_web.write("<OPTION VALUE=35 SELECTED>35</OPTION>"); else client_web.write("<OPTION VALUE=35>35</OPTION>"); if (minutes_m==36) client_web.write("<OPTION VALUE=36 SELECTED>36</OPTION>"); else client_web.write("<OPTION VALUE=36>36</OPTION>"); if (minutes_m==37) client_web.write("<OPTION VALUE=37 SELECTED>37</OPTION>"); else client_web.write("<OPTION VALUE=37>37</OPTION>"); if (minutes_m==38) client_web.write("<OPTION VALUE=38 SELECTED>38</OPTION>"); else client_web.write("<OPTION VALUE=38>38</OPTION>"); if (minutes_m==39) client_web.write("<OPTION VALUE=39 SELECTED>39</OPTION>"); else client_web.write("<OPTION VALUE=39>39</OPTION>"); if (minutes_m==40) client_web.write("<OPTION VALUE=40 SELECTED>40</OPTION>"); else client_web.write("<OPTION VALUE=40>40</OPTION>"); if (minutes_m==41) client_web.write("<OPTION VALUE=41 SELECTED>41</OPTION>"); else client_web.write("<OPTION VALUE=41>41</OPTION>"); if (minutes_m==42) client_web.write("<OPTION VALUE=42 SELECTED>42</OPTION>"); else client_web.write("<OPTION VALUE=42>42</OPTION>"); if (minutes_m==43) client_web.write("<OPTION VALUE=43 SELECTED>43</OPTION>"); else client_web.write("<OPTION VALUE=43>43</OPTION>"); if (minutes_m==44) client_web.write("<OPTION VALUE=44 SELECTED>44</OPTION>"); else client_web.write("<OPTION VALUE=44>44</OPTION>"); if (minutes_m==45) client_web.write("<OPTION VALUE=45 SELECTED>45</OPTION>"); else client_web.write("<OPTION VALUE=45>45</OPTION>"); if (minutes_m==46) client_web.write("<OPTION VALUE=46 SELECTED>46</OPTION>"); else client_web.write("<OPTION VALUE=46>46</OPTION>"); if (minutes_m==47) client_web.write("<OPTION VALUE=47 SELECTED>47</OPTION>"); else client_web.write("<OPTION VALUE=47>47</OPTION>"); if (minutes_m==48) client_web.write("<OPTION VALUE=48 SELECTED>48</OPTION>"); else client_web.write("<OPTION VALUE=48>48</OPTION>"); if (minutes_m==49) client_web.write("<OPTION VALUE=49 SELECTED>49</OPTION>"); else client_web.write("<OPTION VALUE=49>49</OPTION>"); if (minutes_m==50) client_web.write("<OPTION VALUE=50 SELECTED>50</OPTION>"); else client_web.write("<OPTION VALUE=50>50</OPTION>"); if (minutes_m==51) client_web.write("<OPTION VALUE=51 SELECTED>51</OPTION>"); else client_web.write("<OPTION VALUE=51>51</OPTION>"); if (minutes_m==52) client_web.write("<OPTION VALUE=52 SELECTED>52</OPTION>"); else client_web.write("<OPTION VALUE=52>52</OPTION>"); if (minutes_m==53) client_web.write("<OPTION VALUE=53 SELECTED>53</OPTION>"); else client_web.write("<OPTION VALUE=53>53</OPTION>"); if (minutes_m==54) client_web.write("<OPTION VALUE=54 SELECTED>54</OPTION>"); else client_web.write("<OPTION VALUE=54>54</OPTION>"); if (minutes_m==55) client_web.write("<OPTION VALUE=55 SELECTED>55</OPTION>"); else client_web.write("<OPTION VALUE=55>55</OPTION>"); if (minutes_m==56) client_web.write("<OPTION VALUE=56 SELECTED>56</OPTION>"); else client_web.write("<OPTION VALUE=56>56</OPTION>"); if (minutes_m==57) client_web.write("<OPTION VALUE=57 SELECTED>57</OPTION>"); else client_web.write("<OPTION VALUE=57>57</OPTION>"); if (minutes_m==58) client_web.write("<OPTION VALUE=58 SELECTED>58</OPTION>"); else client_web.write("<OPTION VALUE=58>58</OPTION>"); if (minutes_m==59) client_web.write("<OPTION VALUE=59 SELECTED>59</OPTION>"); else client_web.write("<OPTION VALUE=59>59</OPTION>"); client_web.write("</SELECT>"); // date d'arrêt client_web.write("<BR><BR><BR><BR>Date d'arrêt : "); // jour d'arrêt client_web.write("<SELECT NAME=jour_a>"); if (jour_a==1) client_web.write("<OPTION VALUE=1 SELECTED>1</OPTION>"); else client_web.write("<OPTION VALUE=1>1</OPTION>"); if (jour_a==2) client_web.write("<OPTION VALUE=2 SELECTED>2</OPTION>"); else client_web.write("<OPTION VALUE=2>2</OPTION>"); if (jour_a==3) client_web.write("<OPTION VALUE=3 SELECTED>3</OPTION>"); else client_web.write("<OPTION VALUE=3>3</OPTION>"); if (jour_a==4) client_web.write("<OPTION VALUE=4 SELECTED>4</OPTION>"); else client_web.write("<OPTION VALUE=4>4</OPTION>"); if (jour_a==5) client_web.write("<OPTION VALUE=5 SELECTED>5</OPTION>"); else client_web.write("<OPTION VALUE=5>5</OPTION>"); if (jour_a==6) client_web.write("<OPTION VALUE=6 SELECTED>6</OPTION>"); else client_web.write("<OPTION VALUE=6>6</OPTION>"); if (jour_a==7) client_web.write("<OPTION VALUE=7 SELECTED>7</OPTION>"); else client_web.write("<OPTION VALUE=7>7</OPTION>"); if (jour_a==8) client_web.write("<OPTION VALUE=8 SELECTED>8</OPTION>"); else client_web.write("<OPTION VALUE=8>8</OPTION>"); if (jour_a==9) client_web.write("<OPTION VALUE=9 SELECTED>9</OPTION>"); else client_web.write("<OPTION VALUE=9>9</OPTION>"); if (jour_a==10) client_web.write("<OPTION VALUE=10 SELECTED>10</OPTION>"); else client_web.write("<OPTION VALUE=10>10</OPTION>"); if (jour_a==11) client_web.write("<OPTION VALUE=11 SELECTED>11</OPTION>"); else client_web.write("<OPTION VALUE=11>11</OPTION>"); if (jour_a==12) client_web.write("<OPTION VALUE=12 SELECTED>12</OPTION>"); else client_web.write("<OPTION VALUE=12>12</OPTION>"); if (jour_a==13) client_web.write("<OPTION VALUE=13 SELECTED>13</OPTION>"); else client_web.write("<OPTION VALUE=13>13</OPTION>"); if (jour_a==14) client_web.write("<OPTION VALUE=14 SELECTED>14</OPTION>"); else client_web.write("<OPTION VALUE=14>14</OPTION>"); if (jour_a==15) client_web.write("<OPTION VALUE=15 SELECTED>15</OPTION>"); else client_web.write("<OPTION VALUE=15>15</OPTION>"); if (jour_a==16) client_web.write("<OPTION VALUE=16 SELECTED>16</OPTION>"); else client_web.write("<OPTION VALUE=16>16</OPTION>"); if (jour_a==17) client_web.write("<OPTION VALUE=17 SELECTED>17</OPTION>"); else client_web.write("<OPTION VALUE=17>17</OPTION>"); if (jour_a==18) client_web.write("<OPTION VALUE=18 SELECTED>18</OPTION>"); else client_web.write("<OPTION VALUE=18>18</OPTION>"); if (jour_a==19) client_web.write("<OPTION VALUE=19 SELECTED>19</OPTION>"); else client_web.write("<OPTION VALUE=19>19</OPTION>"); if (jour_a==20) client_web.write("<OPTION VALUE=20 SELECTED>20</OPTION>"); else client_web.write("<OPTION VALUE=20>20</OPTION>"); if (jour_a==21) client_web.write("<OPTION VALUE=21 SELECTED>21</OPTION>"); else client_web.write("<OPTION VALUE=21>21</OPTION>"); if (jour_a==22) client_web.write("<OPTION VALUE=22 SELECTED>22</OPTION>"); else client_web.write("<OPTION VALUE=22>22</OPTION>"); if (jour_a==23) client_web.write("<OPTION VALUE=23 SELECTED>23</OPTION>"); else client_web.write("<OPTION VALUE=23>23</OPTION>"); if (jour_a==24) client_web.write("<OPTION VALUE=24 SELECTED>24</OPTION>"); else client_web.write("<OPTION VALUE=24>24</OPTION>"); if (jour_a==25) client_web.write("<OPTION VALUE=25 SELECTED>25</OPTION>"); else client_web.write("<OPTION VALUE=25>25</OPTION>"); if (jour_a==26) client_web.write("<OPTION VALUE=26 SELECTED>26</OPTION>"); else client_web.write("<OPTION VALUE=26>26</OPTION>"); if (jour_a==27) client_web.write("<OPTION VALUE=27 SELECTED>27</OPTION>"); else client_web.write("<OPTION VALUE=27>27</OPTION>"); if (jour_a==28) client_web.write("<OPTION VALUE=28 SELECTED>28</OPTION>"); else client_web.write("<OPTION VALUE=28>28</OPTION>"); if (jour_a==29) client_web.write("<OPTION VALUE=29 SELECTED>29</OPTION>"); else client_web.write("<OPTION VALUE=29>29</OPTION>"); if (jour_a==30) client_web.write("<OPTION VALUE=30 SELECTED>30</OPTION>"); else client_web.write("<OPTION VALUE=30>30</OPTION>"); if (jour_a==31) client_web.write("<OPTION VALUE=31 SELECTED>31</OPTION>"); else client_web.write("<OPTION VALUE=31>31</OPTION>"); client_web.write("</SELECT> "); // mois d'arrêt client_web.write("<SELECT NAME=mois_a>"); if (mois_a==1) client_web.write("<OPTION VALUE=1 SELECTED>1</OPTION>"); else client_web.write("<OPTION VALUE=1>1</OPTION>"); if (mois_a==2) client_web.write("<OPTION VALUE=2 SELECTED>2</OPTION>"); else client_web.write("<OPTION VALUE=2>2</OPTION>"); if (mois_a==3) client_web.write("<OPTION VALUE=3 SELECTED>3</OPTION>"); else client_web.write("<OPTION VALUE=3>3</OPTION>"); if (mois_a==4) client_web.write("<OPTION VALUE=4 SELECTED>4</OPTION>"); else client_web.write("<OPTION VALUE=4>4</OPTION>"); if (mois_a==5) client_web.write("<OPTION VALUE=5 SELECTED>5</OPTION>"); else client_web.write("<OPTION VALUE=5>5</OPTION>"); if (mois_a==6) client_web.write("<OPTION VALUE=6 SELECTED>6</OPTION>"); else client_web.write("<OPTION VALUE=6>6</OPTION>"); if (mois_a==7) client_web.write("<OPTION VALUE=7 SELECTED>7</OPTION>"); else client_web.write("<OPTION VALUE=7>7</OPTION>"); if (mois_a==8) client_web.write("<OPTION VALUE=8 SELECTED>8</OPTION>"); else client_web.write("<OPTION VALUE=8>8</OPTION>"); if (mois_a==9) client_web.write("<OPTION VALUE=9 SELECTED>9</OPTION>"); else client_web.write("<OPTION VALUE=9>9</OPTION>"); if (mois_a==10) client_web.write("<OPTION VALUE=10 SELECTED>10</OPTION>"); else client_web.write("<OPTION VALUE=10>10</OPTION>"); if (mois_a==11) client_web.write("<OPTION VALUE=11 SELECTED>11</OPTION>"); else client_web.write("<OPTION VALUE=11>11</OPTION>"); if (mois_a==12) client_web.write("<OPTION VALUE=12 SELECTED>12</OPTION>"); else client_web.write("<OPTION VALUE=12>12</OPTION>"); client_web.write("</SELECT> "); // année d'arrêt client_web.write("<INPUT TYPE=text NAME=annee_a VALUE="); itoa(annee_a,texte,10); client_web.write(texte); client_web.write(" REQUIRED MINLENGTH=4 MAXLENGTH=4 SIZE=2>"); // heure d'arrêt client_web.write("<BR><BR>Heure d'arrêt : "); // heures d'arrêt client_web.write("<SELECT NAME=heures_a>"); if (heures_a==0) client_web.write("<OPTION VALUE=0 SELECTED>0</OPTION>"); else client_web.write("<OPTION VALUE=0>0</OPTION>"); if (heures_a==1) client_web.write("<OPTION VALUE=1 SELECTED>1</OPTION>"); else client_web.write("<OPTION VALUE=1>1</OPTION>"); if (heures_a==2) client_web.write("<OPTION VALUE=2 SELECTED>2</OPTION>"); else client_web.write("<OPTION VALUE=2>2</OPTION>"); if (heures_a==3) client_web.write("<OPTION VALUE=3 SELECTED>3</OPTION>"); else client_web.write("<OPTION VALUE=3>3</OPTION>"); if (heures_a==4) client_web.write("<OPTION VALUE=4 SELECTED>4</OPTION>"); else client_web.write("<OPTION VALUE=4>4</OPTION>"); if (heures_a==5) client_web.write("<OPTION VALUE=5 SELECTED>5</OPTION>"); else client_web.write("<OPTION VALUE=5>5</OPTION>"); if (heures_a==6) client_web.write("<OPTION VALUE=6 SELECTED>6</OPTION>"); else client_web.write("<OPTION VALUE=6>6</OPTION>"); if (heures_a==7) client_web.write("<OPTION VALUE=7 SELECTED>7</OPTION>"); else client_web.write("<OPTION VALUE=7>7</OPTION>"); if (heures_a==8) client_web.write("<OPTION VALUE=8 SELECTED>8</OPTION>"); else client_web.write("<OPTION VALUE=8>8</OPTION>"); if (heures_a==9) client_web.write("<OPTION VALUE=9 SELECTED>9</OPTION>"); else client_web.write("<OPTION VALUE=9>9</OPTION>"); if (heures_a==10) client_web.write("<OPTION VALUE=10 SELECTED>10</OPTION>"); else client_web.write("<OPTION VALUE=10>10</OPTION>"); if (heures_a==11) client_web.write("<OPTION VALUE=11 SELECTED>11</OPTION>"); else client_web.write("<OPTION VALUE=11>11</OPTION>"); if (heures_a==12) client_web.write("<OPTION VALUE=12 SELECTED>12</OPTION>"); else client_web.write("<OPTION VALUE=12>12</OPTION>"); if (heures_a==13) client_web.write("<OPTION VALUE=13 SELECTED>13</OPTION>"); else client_web.write("<OPTION VALUE=13>13</OPTION>"); if (heures_a==14) client_web.write("<OPTION VALUE=14 SELECTED>14</OPTION>"); else client_web.write("<OPTION VALUE=14>14</OPTION>"); if (heures_a==15) client_web.write("<OPTION VALUE=15 SELECTED>15</OPTION>"); else client_web.write("<OPTION VALUE=15>15</OPTION>"); if (heures_a==16) client_web.write("<OPTION VALUE=16 SELECTED>16</OPTION>"); else client_web.write("<OPTION VALUE=16>16</OPTION>"); if (heures_a==17) client_web.write("<OPTION VALUE=17 SELECTED>17</OPTION>"); else client_web.write("<OPTION VALUE=17>17</OPTION>"); if (heures_a==18) client_web.write("<OPTION VALUE=18 SELECTED>18</OPTION>"); else client_web.write("<OPTION VALUE=18>18</OPTION>"); if (heures_a==19) client_web.write("<OPTION VALUE=19 SELECTED>19</OPTION>"); else client_web.write("<OPTION VALUE=19>19</OPTION>"); if (heures_a==20) client_web.write("<OPTION VALUE=20 SELECTED>20</OPTION>"); else client_web.write("<OPTION VALUE=20>20</OPTION>"); if (heures_a==21) client_web.write("<OPTION VALUE=21 SELECTED>21</OPTION>"); else client_web.write("<OPTION VALUE=21>21</OPTION>"); if (heures_a==22) client_web.write("<OPTION VALUE=22 SELECTED>22</OPTION>"); else client_web.write("<OPTION VALUE=22>22</OPTION>"); if (heures_a==23) client_web.write("<OPTION VALUE=23 SELECTED>23</OPTION>"); else client_web.write("<OPTION VALUE=23>23</OPTION>"); client_web.write("</SELECT> "); // minutes d'arrêt client_web.write("<SELECT NAME=minutes_a>"); if (minutes_a==0) client_web.write("<OPTION VALUE=0 SELECTED>0</OPTION>"); else client_web.write("<OPTION VALUE=0>0</OPTION>"); if (minutes_a==1) client_web.write("<OPTION VALUE=1 SELECTED>1</OPTION>"); else client_web.write("<OPTION VALUE=1>1</OPTION>"); if (minutes_a==2) client_web.write("<OPTION VALUE=2 SELECTED>2</OPTION>"); else client_web.write("<OPTION VALUE=2>2</OPTION>"); if (minutes_a==3) client_web.write("<OPTION VALUE=3 SELECTED>3</OPTION>"); else client_web.write("<OPTION VALUE=3>3</OPTION>"); if (minutes_a==4) client_web.write("<OPTION VALUE=4 SELECTED>4</OPTION>"); else client_web.write("<OPTION VALUE=4>4</OPTION>"); if (minutes_a==5) client_web.write("<OPTION VALUE=5 SELECTED>5</OPTION>"); else client_web.write("<OPTION VALUE=5>5</OPTION>"); if (minutes_a==6) client_web.write("<OPTION VALUE=6 SELECTED>6</OPTION>"); else client_web.write("<OPTION VALUE=6>6</OPTION>"); if (minutes_a==7) client_web.write("<OPTION VALUE=7 SELECTED>7</OPTION>"); else client_web.write("<OPTION VALUE=7>7</OPTION>"); if (minutes_a==8) client_web.write("<OPTION VALUE=8 SELECTED>8</OPTION>"); else client_web.write("<OPTION VALUE=8>8</OPTION>"); if (minutes_a==9) client_web.write("<OPTION VALUE=9 SELECTED>9</OPTION>"); else client_web.write("<OPTION VALUE=9>9</OPTION>"); if (minutes_a==10) client_web.write("<OPTION VALUE=10 SELECTED>10</OPTION>"); else client_web.write("<OPTION VALUE=10>10</OPTION>"); if (minutes_a==11) client_web.write("<OPTION VALUE=11 SELECTED>11</OPTION>"); else client_web.write("<OPTION VALUE=11>11</OPTION>"); if (minutes_a==12) client_web.write("<OPTION VALUE=12 SELECTED>12</OPTION>"); else client_web.write("<OPTION VALUE=12>12</OPTION>"); if (minutes_a==13) client_web.write("<OPTION VALUE=13 SELECTED>13</OPTION>"); else client_web.write("<OPTION VALUE=13>13</OPTION>"); if (minutes_a==14) client_web.write("<OPTION VALUE=14 SELECTED>14</OPTION>"); else client_web.write("<OPTION VALUE=14>14</OPTION>"); if (minutes_a==15) client_web.write("<OPTION VALUE=15 SELECTED>15</OPTION>"); else client_web.write("<OPTION VALUE=15>15</OPTION>"); if (minutes_a==16) client_web.write("<OPTION VALUE=16 SELECTED>16</OPTION>"); else client_web.write("<OPTION VALUE=16>16</OPTION>"); if (minutes_a==17) client_web.write("<OPTION VALUE=17 SELECTED>17</OPTION>"); else client_web.write("<OPTION VALUE=17>17</OPTION>"); if (minutes_a==18) client_web.write("<OPTION VALUE=18 SELECTED>18</OPTION>"); else client_web.write("<OPTION VALUE=18>18</OPTION>"); if (minutes_a==19) client_web.write("<OPTION VALUE=19 SELECTED>19</OPTION>"); else client_web.write("<OPTION VALUE=19>19</OPTION>"); if (minutes_a==20) client_web.write("<OPTION VALUE=20 SELECTED>20</OPTION>"); else client_web.write("<OPTION VALUE=20>20</OPTION>"); if (minutes_a==21) client_web.write("<OPTION VALUE=21 SELECTED>21</OPTION>"); else client_web.write("<OPTION VALUE=21>21</OPTION>"); if (minutes_a==22) client_web.write("<OPTION VALUE=22 SELECTED>22</OPTION>"); else client_web.write("<OPTION VALUE=22>22</OPTION>"); if (minutes_a==23) client_web.write("<OPTION VALUE=23 SELECTED>23</OPTION>"); else client_web.write("<OPTION VALUE=23>23</OPTION>"); if (minutes_a==24) client_web.write("<OPTION VALUE=24 SELECTED>24</OPTION>"); else client_web.write("<OPTION VALUE=24>24</OPTION>"); if (minutes_a==25) client_web.write("<OPTION VALUE=25 SELECTED>25</OPTION>"); else client_web.write("<OPTION VALUE=25>25</OPTION>"); if (minutes_a==26) client_web.write("<OPTION VALUE=26 SELECTED>26</OPTION>"); else client_web.write("<OPTION VALUE=26>26</OPTION>"); if (minutes_a==27) client_web.write("<OPTION VALUE=27 SELECTED>27</OPTION>"); else client_web.write("<OPTION VALUE=27>27</OPTION>"); if (minutes_a==28) client_web.write("<OPTION VALUE=28 SELECTED>28</OPTION>"); else client_web.write("<OPTION VALUE=28>28</OPTION>"); if (minutes_a==29) client_web.write("<OPTION VALUE=29 SELECTED>29</OPTION>"); else client_web.write("<OPTION VALUE=29>29</OPTION>"); if (minutes_a==30) client_web.write("<OPTION VALUE=30 SELECTED>30</OPTION>"); else client_web.write("<OPTION VALUE=30>30</OPTION>"); if (minutes_a==31) client_web.write("<OPTION VALUE=31 SELECTED>31</OPTION>"); else client_web.write("<OPTION VALUE=31>31</OPTION>"); if (minutes_a==32) client_web.write("<OPTION VALUE=32 SELECTED>32</OPTION>"); else client_web.write("<OPTION VALUE=32>32</OPTION>"); if (minutes_a==33) client_web.write("<OPTION VALUE=33 SELECTED>33</OPTION>"); else client_web.write("<OPTION VALUE=33>33</OPTION>"); if (minutes_a==34) client_web.write("<OPTION VALUE=34 SELECTED>34</OPTION>"); else client_web.write("<OPTION VALUE=34>34</OPTION>"); if (minutes_a==35) client_web.write("<OPTION VALUE=35 SELECTED>35</OPTION>"); else client_web.write("<OPTION VALUE=35>35</OPTION>"); if (minutes_a==36) client_web.write("<OPTION VALUE=36 SELECTED>36</OPTION>"); else client_web.write("<OPTION VALUE=36>36</OPTION>"); if (minutes_a==37) client_web.write("<OPTION VALUE=37 SELECTED>37</OPTION>"); else client_web.write("<OPTION VALUE=37>37</OPTION>"); if (minutes_a==38) client_web.write("<OPTION VALUE=38 SELECTED>38</OPTION>"); else client_web.write("<OPTION VALUE=38>38</OPTION>"); if (minutes_a==39) client_web.write("<OPTION VALUE=39 SELECTED>39</OPTION>"); else client_web.write("<OPTION VALUE=39>39</OPTION>"); if (minutes_a==40) client_web.write("<OPTION VALUE=40 SELECTED>40</OPTION>"); else client_web.write("<OPTION VALUE=40>40</OPTION>"); if (minutes_a==41) client_web.write("<OPTION VALUE=41 SELECTED>41</OPTION>"); else client_web.write("<OPTION VALUE=41>41</OPTION>"); if (minutes_a==42) client_web.write("<OPTION VALUE=42 SELECTED>42</OPTION>"); else client_web.write("<OPTION VALUE=42>42</OPTION>"); if (minutes_a==43) client_web.write("<OPTION VALUE=43 SELECTED>43</OPTION>"); else client_web.write("<OPTION VALUE=43>43</OPTION>"); if (minutes_a==44) client_web.write("<OPTION VALUE=44 SELECTED>44</OPTION>"); else client_web.write("<OPTION VALUE=44>44</OPTION>"); if (minutes_a==45) client_web.write("<OPTION VALUE=45 SELECTED>45</OPTION>"); else client_web.write("<OPTION VALUE=45>45</OPTION>"); if (minutes_a==46) client_web.write("<OPTION VALUE=46 SELECTED>46</OPTION>"); else client_web.write("<OPTION VALUE=46>46</OPTION>"); if (minutes_a==47) client_web.write("<OPTION VALUE=47 SELECTED>47</OPTION>"); else client_web.write("<OPTION VALUE=47>47</OPTION>"); if (minutes_a==48) client_web.write("<OPTION VALUE=48 SELECTED>48</OPTION>"); else client_web.write("<OPTION VALUE=48>48</OPTION>"); if (minutes_a==49) client_web.write("<OPTION VALUE=49 SELECTED>49</OPTION>"); else client_web.write("<OPTION VALUE=49>49</OPTION>"); if (minutes_a==50) client_web.write("<OPTION VALUE=50 SELECTED>50</OPTION>"); else client_web.write("<OPTION VALUE=50>50</OPTION>"); if (minutes_a==51) client_web.write("<OPTION VALUE=51 SELECTED>51</OPTION>"); else client_web.write("<OPTION VALUE=51>51</OPTION>"); if (minutes_a==52) client_web.write("<OPTION VALUE=52 SELECTED>52</OPTION>"); else client_web.write("<OPTION VALUE=52>52</OPTION>"); if (minutes_a==53) client_web.write("<OPTION VALUE=53 SELECTED>53</OPTION>"); else client_web.write("<OPTION VALUE=53>53</OPTION>"); if (minutes_a==54) client_web.write("<OPTION VALUE=54 SELECTED>54</OPTION>"); else client_web.write("<OPTION VALUE=54>54</OPTION>"); if (minutes_a==55) client_web.write("<OPTION VALUE=55 SELECTED>55</OPTION>"); else client_web.write("<OPTION VALUE=55>55</OPTION>"); if (minutes_a==56) client_web.write("<OPTION VALUE=56 SELECTED>56</OPTION>"); else client_web.write("<OPTION VALUE=56>56</OPTION>"); if (minutes_a==57) client_web.write("<OPTION VALUE=57 SELECTED>57</OPTION>"); else client_web.write("<OPTION VALUE=57>57</OPTION>"); if (minutes_a==58) client_web.write("<OPTION VALUE=58 SELECTED>58</OPTION>"); else client_web.write("<OPTION VALUE=58>58</OPTION>"); if (minutes_a==59) client_web.write("<OPTION VALUE=59 SELECTED>59</OPTION>"); else client_web.write("<OPTION VALUE=59>59</OPTION>"); client_web.write("</SELECT>"); client_web.write("<BR><BR><BR><BR><INPUT TYPE=submit VALUE=Valider>"); client_web.write("</FORM>"); client_web.write("</FONT>"); client_web.write("</CENTER>"); client_web.write("</BODY>"); client_web.write("</HTML>"); delay(1000); client_web.stop(); delay(1000); } L'ESP-01 ne possède que quatre E/S : GPIO0, GPIO1 (TX), GPIO2 et GPIO3 (RX). A la mise sous tension, l'interrupteur permet de sélectionner le mode UART pour télécharger votre programme en mémoire flash (GPIO0 = 0) ou le mode PROG pour exécuter votre programme (GPIO0 = 1). Il faut malheureusement débrancher et rebrancher le convertisseur USB - RS-232 après chaque changement, car il n'y a pas de bouton-poussoir reset. * 1 ki (kilo informatique) = 1024 et non pas 1000, donc 1 kio = 1024 octets et 16 kio = 16384 octets. |
Haut de page |