Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
| web:javascript:serveurhttp [2026/04/27 20:43] – [3. Code Arduino, php et jQuery correspondant] mno | web:javascript:serveurhttp [2026/04/27 23:43] (Version actuelle) – [2. Code du serveur HTTP intégré à la carte Arduino] mno | ||
|---|---|---|---|
| Ligne 5: | Ligne 5: | ||
| [Mise à jour le 27/4/2026] | [Mise à jour le 27/4/2026] | ||
| + | * **Ressource** | ||
| + | * [[: | ||
| ==== 1. Présentation ==== | ==== 1. Présentation ==== | ||
| Ce document présente la communication mise en œuvre entre un PC, un Raspberry Pi et une carte Arduino MKR Wifi 1010 dans les activités de projet en terminale STI2D spécialité SIN. | Ce document présente la communication mise en œuvre entre un PC, un Raspberry Pi et une carte Arduino MKR Wifi 1010 dans les activités de projet en terminale STI2D spécialité SIN. | ||
| Ligne 327: | Ligne 329: | ||
| </ | </ | ||
| + | {{ : | ||
| + | <callout type=" | ||
| ==== 3. Code Arduino, php et jQuery correspondant ==== | ==== 3. Code Arduino, php et jQuery correspondant ==== | ||
| ===3.1 Lecture d'une valeur === | ===3.1 Lecture d'une valeur === | ||
| - | * **Utilisation** : affichage d'une grandeur physique sous la forme d'une valeur, d'un, widget | + | * **Utilisation** : affichage d'une grandeur physique sous la forme d'une valeur, d'un widget |
| <code cpp lectureVal1.cpp> | <code cpp lectureVal1.cpp> | ||
| // Réponse de la carte Arduino à la requête .../ | // Réponse de la carte Arduino à la requête .../ | ||
| Ligne 361: | Ligne 365: | ||
| $.ajax({ | $.ajax({ | ||
| url: ' | url: ' | ||
| - | type: 'get', | + | method: 'GET', |
| | | ||
| $("# | $("# | ||
| - | let val1 = parseInt(data) * 50 / 920; // * 50 / 920 : exemple | + | let val1 = parseInt(data) * 50 / 920; // Exemple |
| - | $('# | + | $('# |
| }, | }, | ||
| | | ||
| Ligne 383: | Ligne 387: | ||
| ===3.2 Lecture de n valeurs transmises au format JSON === | ===3.2 Lecture de n valeurs transmises au format JSON === | ||
| - | * **Utilisation** : carte leaflet, matrice | + | * **Utilisation** : carte leaflet, matrice |
| * **Exemple 2** : transfert de 2 valeurs <code cpp lectureVals0et1.cpp> | * **Exemple 2** : transfert de 2 valeurs <code cpp lectureVals0et1.cpp> | ||
| - | // g10. Transmission des valeurs analogiques présentes sur A0 et A1 au format JSON | + | // Réponse de la carte Arduino à la requête .../ |
| + | // g10. Transmission des valeurs analogiques présentes sur A0 et A1 | ||
| // msgjson: objet JSON | // msgjson: objet JSON | ||
| void lectureVals0et1() { | void lectureVals0et1() { | ||
| Ligne 399: | Ligne 404: | ||
| </ | </ | ||
| <?php | <?php | ||
| - | // Create cURL call, make sure to change it with your Wifi name | + | // Le Raspberry Pi transmet à la carte Arduino la requête issue du navigateur |
| + | // URL à modifier en fonction de l' | ||
| $service_url = " | $service_url = " | ||
| $curl = curl_init($service_url); | $curl = curl_init($service_url); | ||
| Ligne 415: | Ligne 421: | ||
| $.ajax({ | $.ajax({ | ||
| url: ' | url: ' | ||
| - | | + | |
| dataType: ' | dataType: ' | ||
| success: function (data) { | success: function (data) { | ||
| - | // Pour les tests, on souhaite 0 < val0 < 1000 => 47.07970 < latitude < 47.01328 | + | // Pour les tests, on souhaite 0 < val0 < 1023 => 47.07970 < latitude < 47.01328 |
| latitude = -0.0000664 * parseFloat(data.val0) + 47.07970; | latitude = -0.0000664 * parseFloat(data.val0) + 47.07970; | ||
| - | // Pour les tests, on souhaite 0 < val1 < 780 => 2.199468 < longitude < 2.409102 | + | // Pour les tests, on souhaite 0 < val1 < 1023 => 2.199468 < longitude < 2.409102 |
| longitude = 0.000210 * parseFloat(data.val1) + 2.199468; | longitude = 0.000210 * parseFloat(data.val1) + 2.199468; | ||
| Ligne 448: | Ligne 454: | ||
| </ | </ | ||
| - | * **Exemple 3** : lecture de 5 valeurs <code cpp *.cpp> | + | * **Exemple 3** : lecture de 5 valeurs <code cpp lectureAll.cpp> |
| - | // g11. Mesure et transmission des valeurs analogiques présentes sur A0 à An au format JSON | + | // Réponse de la carte Arduino à la requête .../ |
| - | // mmsgtablejson | + | // g11. Mesure et transmission des valeurs analogiques présentes sur A0 à A4 au format JSON |
| + | // mmsgjson | ||
| void lectureAll() { | void lectureAll() { | ||
| - | String msgjson = "[{\" | + | String msgjson = F(" |
| msgjson += val0; | msgjson += val0; | ||
| - | msgjson += ","; | + | msgjson += F(", |
| - | msgjson += "\" | + | |
| msgjson += val1; | msgjson += val1; | ||
| - | msgjson += ","; | + | msgjson += F(", |
| - | msgjson += "\" | + | |
| msgjson += val2; | msgjson += val2; | ||
| - | msgjson += ","; | + | msgjson += F(", |
| - | msgjson += "\" | + | |
| msgjson += val3; | msgjson += val3; | ||
| - | msgjson += ","; | + | msgjson += F(", |
| - | msgjson += "\" | + | |
| msgjson += val4; | msgjson += val4; | ||
| - | msgjson += "}]"; | + | msgjson += F(" |
| server.sendHeader(F(" | server.sendHeader(F(" | ||
| server.send(200, | server.send(200, | ||
| } | } | ||
| - | </ | + | </ |
| <?php | <?php | ||
| - | // Create cURL call, make sure to change it with your Wifi name | + | // Le Raspberry Pi transmet à la carte Arduino la requête issue du navigateur |
| + | // URL à modifier en fonction de l' | ||
| $service_url = " | $service_url = " | ||
| $curl = curl_init($service_url); | $curl = curl_init($service_url); | ||
| Ligne 481: | Ligne 485: | ||
| curl_close($curl); | curl_close($curl); | ||
| ?> | ?> | ||
| - | </ | + | </ |
| | | ||
| $.ajax({ | $.ajax({ | ||
| url: ' | url: ' | ||
| + | | ||
| | | ||
| - | | + | |
| - | // thermique est maintenant un objet JavaScript | + | let vals = []; |
| - | let objet = thermique[0]; // récupère le premier objet du tableau | + | |
| - | let cellule0 | + | |
| - | let cellule1 | + | |
| - | ... | + | |
| - | console.log(cellule0); // affiche val0 | + | |
| - | console.log(cellule1); | + | |
| + | | ||
| + | ... | ||
| }, | }, | ||
| | | ||
| Ligne 503: | Ligne 510: | ||
| </ | </ | ||
| - | * **Exemple 4** : transfert de n valeurs <code cpp exemple4.cpp> | + | * **Exemple 4** : transfert de n valeurs <code cpp tablevar.cpp> |
| - | // g12. Mesure de 2 valeurs mises à l' | + | // Réponse de la carte Arduino à la requête .../ |
| + | // g12. Mesure de 2 valeurs mises à l' | ||
| // et insertion dans une table JSON | // et insertion dans une table JSON | ||
| void lectureTableJSON() { | void lectureTableJSON() { | ||
| - | | + | String msgtable = R"([{ " |
| - | unsigned int val_1 = val1; | + | |
| - | | + | |
| R"( }, { " | R"( }, { " | ||
| { " | { " | ||
| Ligne 520: | Ligne 526: | ||
| { " | { " | ||
| // Transmission | // Transmission | ||
| - | server.send(200, | + | |
| + | | ||
| } | } | ||
| </ | </ | ||
| <?php | <?php | ||
| - | // Create cURL call, make sure to change it with your Wifi name | + | // Le Raspberry Pi transmet à la carte Arduino la requête issue du navigateur |
| - | $service_url = " | + | // URL à modifier en fonction de l' |
| + | $service_url = " | ||
| $curl = curl_init($service_url); | $curl = curl_init($service_url); | ||
| Ligne 533: | Ligne 541: | ||
| curl_close($curl); | curl_close($curl); | ||
| ?> | ?> | ||
| - | </ | + | </ |
| | | ||
| $.ajax({ | $.ajax({ | ||