Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
microc:uc:mkr [2026/04/01 13:28] mnomicroc:uc:mkr [2026/04/27 23:48] (Version actuelle) – [Microcontrôleurs - Arduino MKR Wifi 1010] mno
Ligne 2: Ligne 2:
  
 ===== Microcontrôleurs - Arduino MKR Wifi 1010 ===== ===== Microcontrôleurs - Arduino MKR Wifi 1010 =====
-[Mise à jour le 1/4/2026]+[Mise à jour le 27/4/2026]
 {{ :arduino:arduino.png?80&nolink|}} {{ :arduino:arduino.png?80&nolink|}}
  
Ligne 11: Ligne 11:
   * Wiki matériels - [[materiels:accueilmateriels|"Capteurs, afficheurs, préactionneurs, etc."]]   * Wiki matériels - [[materiels:accueilmateriels|"Capteurs, afficheurs, préactionneurs, etc."]]
   * Wiki Arduino - [[:microc:iot:clientmqttesp8266|"Mettre en oeuvre un client MQTT sur un EP8266 (ESP32) Feather Huzzah ou Wifi MKR1010"]]   * Wiki Arduino - [[:microc:iot:clientmqttesp8266|"Mettre en oeuvre un client MQTT sur un EP8266 (ESP32) Feather Huzzah ou Wifi MKR1010"]]
 +  * Wiki Serveur HTTP - [[web:javascript:serveurhttp|C++ & jQuery - Communiquer avec une carte à microcontrôleur]]
   * Bibliothèques - <html><a href="https://www.arduinolibraries.info/" target="_blank">Arduino Library List</a></html>   * Bibliothèques - <html><a href="https://www.arduinolibraries.info/" target="_blank">Arduino Library List</a></html>
  
Ligne 145: Ligne 146:
 <callout type="tip" icon="true" title="TELECHARGER">Le <html><a href="https://webge.fr/doc/wikis/code/Arduino/ARD_PIO_PING_MKR1010.zip" target="_blank">projet </a></html>PlatformIO pour VSCode.</callout> <callout type="tip" icon="true" title="TELECHARGER">Le <html><a href="https://webge.fr/doc/wikis/code/Arduino/ARD_PIO_PING_MKR1010.zip" target="_blank">projet </a></html>PlatformIO pour VSCode.</callout>
  
-=== 5.3 Serveurs HTTP === 
-  * ** Ressource ** : <html><a href="https://randomnerdtutorials.com/esp32-http-get-post-arduino/" target="_blank">ESP32 HTTP GET and HTTP POST with Arduino IDE (JSON, URL Encoded, Text)</a></html> 
-  
-<callout type="warning" icon="true">Ce paragraphe présente **deux** versions d'un serveur HTTP : \\ 
- - La **version** utilisée dans les projets. \\ 
- - La **Version 1**, une étude de cas pour le cours d'algorithmique  
-</callout> 
  
- == 5.3.1 VERSION utilisée dans les projets == +=== 5.3 Client MQTT=== 
-  * **Principe retenu** +  * Voir la page [[microc:iot:clientmqttesp8266|"Mettre en oeuvre un client MQTT sur un EP8266 (ESP32Feather Huzzah ou MKR Wifi 1010"]]
-{{ :arduino:uc:principe_projet.png?nolink |}} +
-  * ** Source** : //AdvancedWebServer// (-> Fichier -> Exemples -> WiFiWebServer) +
-  * **Montage**{{ :arduino:uc:mkr1010serveur.jpg?nolink |}} +
-  * **Algorithme** +
-<code> +
-// Serveur HTTP V4 +
-// Le serveur répond à une requête en envoyant une ou des valeurs lues sur ses entrées +
-// et/ou en déclenchant une commande sur ses sorties +
-// Exemples +
-// pas de données dans la requête => envoie de la page d'accueil +
-// /ecrire/valA?val=1 => activation de la sortie valA +
-// /ecrire/valA?val=0 => désactivation de la sortie valA +
-// /lire/val1 => mesure et envoie la valeur présente sur l'entrée val1 (issue du CAN) +
-// ------------------------------------------------------------------------------------ +
-// Variables +
-   chaîne de caractères <- page HTML (accueil) +
-   tableaux de caractères <- SSID et mot2passe +
  
-// Liste des gestionnaires (fonctions) répondant à une requête 
-   g1. Envoie de la page d'accueil 
-   g2. Commande de la led L de la carte et de la sortie D0 
-   g3. Commande de la sortie D1 
-   g4. Mesure et transmission de la valeur analogique présente sur A0 
-   g5. Mesure et transmission de la valeur analogique présente sur A1 
-   g6. Mesure et transmission des valeurs analogiques présentes sur A0 et A1 au format JSON 
-   g7. Traitement des requêtes non prises en charge 
-   ... 
-   gn ... 
- 
-// Initialisation 
-   a. Configuration des E/S 
-   b. Si le module wifi n'est pas détecté, alors  
-        bloquer le programme !!!! 
-   c. tant que le module n'est pas connecté au réseau wifi  
-        faire 
-          se connecter au réseau Wifi avec le SSID et le mot2passe 
-      fin tant que    
-   d. Inscription les gestionnaires de requête 
-   e. Démarrage du serveur HTTP 
-       
-Répéter toujours 
-   Traiter une requête 
-</code> 
- 
-  * **Code**  
-{{ :materiels:capteurs:distance:arduinoico.png?nolink&50|}} 
-<callout type="tip" icon="true" title="TELECHARGER">La dernière version du <html><a href="https://webge.fr/doc/wikis/code/Arduino/ARD_MKR1010_HTTP_SERVER_V6.zip" target="_blank" title="Version 6"><b>projet</b></a></html> Arduino.</callout> 
- 
-  * **Tests** {{ :microc:uc:pageaccueilserveur.png?nolink |}} 
- 
-== 5.3.1 VERSION 1 : étude de cas == 
-  * ** Source** : //SimpleWebServer// (-> Fichier -> Exemples -> WiFiNINA) 
-  * **Montage**{{ :arduino:uc:mkr1010serveur.jpg?nolink |}} 
-  * **Algorithme** 
-<code> 
-// Principe 
-// Le serveur lit les requêtes caractère par caractère et extrait les données de l'url  
-// En réponse à la requête, il envoie une valeur ou/et déclenche une commande  
-// Exemples 
-// pas de données dans la requête => envoie de la page d'accueil 
-// /arduino/digital/led/1 => activation d'une sortie 
-// /arduino/digital/led/0 => désactivation d'une sortie 
-// /arduino/analog/val1 => mesure et envoie d'une valeur issue du CAN 
- 
-// Initialisation 
-Créer un serveur HTTP à l'écoute sur le port 80 
- 
-1.  si le module wifi n'est pas détecté alors  
-        bloquer le programme 
-2.  tant que le module n'est pas connecté au wifi faire 
-        se connecter au wifi avec le SSID et le mot2passe 
-    fin tant que 
-3. Démarrer le serveur HTTP 
- 
-// Programme 
-Répéter toujours 
- début // 4. Traiter les requêtes 
-    Attente blocante d'un client 
-    si un client est connecté alors 
-      currentLine <- "" // mémorise la donnée transmise dans la requête 
-      tant que le client est connecté faire 
-        | si il reste des caractères à lire  
-        | alors   
-        |  |  lire le dernier caractère transmis 
-        |  |  si ce caractère est une fin de ligne  
-        |  |  alors 
-        |  |   | si currentLine = "" // on a eu 2 fin de lignes consécutifs ! => pas de donnée transmise 
-        |  |   | alors  
-        |  |      Envoyer la page d'accueil au client et sortir de la boucle tant que 
-        |  |   | sinon 
-        |  |      currentLine <- "" 
-        |  |   | fin si 
-        |  |  sinon  
-        |  |   | si le caractère lu n'est pas un retour chariot  
-        |  |   | alors  
-        |  |      on l'ajoute à la fin de currentLine 
-        |  |   | fin si 
-        |  |  fin si 
-        |  |  // Traitement les autres requête(s) (une url suit l'@IP) 
-        |  |  Traiter la requête 1 et sortir de la boucle tant que 
-        |  |  Traiter la requête 2 et sortir de la boucle tant que  
-        |  |  ...     
-        |  |  Traiter la requête n et sortir de la boucle tant que      
-        | fin si 
-      fin tant que 
-    fin si 
-    Fermer la connexion 
- fin 
-</code> 
- 
-  * **Code** (adaptation de l'exemple __SimpleWebServer__) 
-{{ :materiels:capteurs:distance:arduinoico.png?nolink&50|}} 
-<callout type="tip" icon="true" title="TELECHARGER">Le <html><a href="https://webge.fr/doc/wikis/code/Arduino/ARD_MKR1010_HTTP_SERVER_V1.zip" target="_blank" title="Version 1">projet</a></html> Arduino.</callout> 
-=== 5.4 Client MQTT=== 
-  * Voir la page [[microc:iot:clientmqttesp8266|"Mettre en oeuvre un client MQTT sur un EP8266 (ESP32) Feather Huzzah ou MKR Wifi 1010"]] 
  
-==== 6. Tutoriels ==== 
-<html><a href="https://randomnerdtutorials.com/" target="_blank">RANDOM NERD TUTORIALS</a></html> et des liens vers des tutoriels sont accessibles sur la page [[arduino:webographie|webographie]]. 
  • microc/uc/mkr.1775042882.txt.gz
  • Dernière modification : 2026/04/01 13:28
  • de mno