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 [2023/08/19 08:55] – [1.3 Principales caractéristiques] philmicroc:uc:mkr [2025/06/19 19:29] (Version actuelle) – modification externe 127.0.0.1
Ligne 2: Ligne 2:
  
 ===== Microcontrôleurs - Arduino MKR Wifi 1010 ===== ===== Microcontrôleurs - Arduino MKR Wifi 1010 =====
-[Mise à jour le 19/8/2023]+[Mise à jour le 21/4/2025]
 {{ :arduino:arduino.png?80&nolink|}} {{ :arduino:arduino.png?80&nolink|}}
  
Ligne 41: Ligne 41:
 {{ :arduino:uc:mkr_wifi_1010_pinout.jpg?nolink |}} {{ :arduino:uc:mkr_wifi_1010_pinout.jpg?nolink |}}
  
-<callout type="tip" icon="true">Pour afficher le diagramme de brochage complet au format PDF, cliquer <html><a href="https://content.arduino.cc/assets/Pinout-MKRwifi1010_latest.pdf" target="_blank">ici</a></html> ou le **schéma** de la carte MKR Wifi 1010, cliquer <html><a href="https://webge.fr/doc/wikis/pdf/MKRWiFi1010V2.0_sch.pdf" target="_blank">ici</a></html>.</callout>+<callout type="tip" icon="true"><html><a href="https://content.arduino.cc/assets/Pinout-MKRwifi1010_latest.pdf" target="_blank"><b>Diagramme</b> de brochage complet</a></html> au format PDF et <html><a href="https://webge.fr/doc/wikis/pdf/MKRWiFi1010V2.0_sch.pdf" target="_blank"><b>schéma</b></a></html> de la carte MKR Wifi 1010.</callout>
  
 === 1.3 Principales caractéristiques === === 1.3 Principales caractéristiques ===
Ligne 61: Ligne 61:
     * **Fréquence d'horloge** : 48MHz, 32.768 kHz (RTC)     * **Fréquence d'horloge** : 48MHz, 32.768 kHz (RTC)
  
-<callout type="warning" color="red" icon="true" title="TENSION SUR LES GPIO">Contrairement à la plupart des cartes Arduino, le MKR WIFI 1010 fonctionne sous 3,3V. La tension maximale tolérée par les broches d’E/S est de 3,3V. **L'application de tensions supérieures à 3,3 V à n'importe quelle broche d'E/S peut endommager la carte**. Bien que la sortie sur des appareils numériques 5V soit possible, la communication bidirectionnelle avec des appareils 5V nécessite un décalage de niveau approprié. **Cette adaptation de niveau est réalisée par la carte Arduino MKR Connector Carrier** ci-dessus.</callout>+<callout type="warning" color="red" icon="true" title="TENSION SUR LES GPIO">Contrairement à la plupart des cartes Arduino, le MKR WIFI 1010 fonctionne sous 3,3V. La tension maximale tolérée par les broches d’E/S est de 3,3V. **L'application de tensions supérieures à 3,3 V à n'importe quelle broche d'E/S peut endommager la carte**. Bien que la sortie sur des appareils numériques 5V soit possible, la communication bidirectionnelle avec des appareils 5V nécessite un décalage de niveau approprié. **Cette adaptation de niveau est réalisée par la carte Arduino MKR Connector Carrier** ci-dessous.</callout>
  
  
Ligne 76: Ligne 76:
 == 3.2.1 WifiNINA == == 3.2.1 WifiNINA ==
   * **Sources** sur <html><a href="https://github.com/arduino-libraries/WiFiNINA" target="_blank">github</a></html>   * **Sources** sur <html><a href="https://github.com/arduino-libraries/WiFiNINA" target="_blank">github</a></html>
-  * **Documentation** sur <html><a href="https://www.arduino.cc/en/Reference/WiFiNINAarduino.cc"target="_blank">arduino.cc</a></html>+  * **Documentation** sur <html><a href="https://support.arduino.cc/hc/en-us/articles/9359374546332-Check-the-WiFiNINA-firmware-version?queryID=undefined"target="_blank">arduino.cc</a></html>
  
 Active la **connexion réseau** (locale et Internet) des Arduino MKR Wifi 1010, Arduino MKR VIDOR 4000 et Arduino UNO Wifi Rev.2. Avec cette bibliothèque, vous pouvez instancier des serveurs, des clients et envoyer / recevoir des paquets UDP via le wifi. La carte peut se connecter à des réseaux ouverts ou cryptés (WEP, WPA). L'adresse IP peut être attribuée de manière statique ou via un serveur DHCP. La bibliothèque peut aussi gérer le DNS. Active la **connexion réseau** (locale et Internet) des Arduino MKR Wifi 1010, Arduino MKR VIDOR 4000 et Arduino UNO Wifi Rev.2. Avec cette bibliothèque, vous pouvez instancier des serveurs, des clients et envoyer / recevoir des paquets UDP via le wifi. La carte peut se connecter à des réseaux ouverts ou cryptés (WEP, WPA). L'adresse IP peut être attribuée de manière statique ou via un serveur DHCP. La bibliothèque peut aussi gérer le DNS.
Ligne 82: Ligne 82:
   * **Mise à jour du firmware du module WIFI NINA**   * **Mise à jour du firmware du module WIFI NINA**
     - Mettre à jour la bibliothèque WiFiNINA avec le gestionnaire de bibliothèques.     - Mettre à jour la bibliothèque WiFiNINA avec le gestionnaire de bibliothèques.
-    - Vérifier la version du firmware installé en téléchargeant et en exécutant l'exemple **//CheckFirmwareVersion//**  (→ Fichier → Exemples → WiFiNINA -> Tools). Les informations apparaissent dans le moniteur série. +    - Télécharger et exécuter **//FirmwareUpdater//** dans la carte (→ Fichier → Exemples → WiFiNINA -> Tools) puis mettre à jour le firmware à l'aide de **WIFI101/WiFiNINA Firmware Updater** (-> Outils). \\ __Remarque__ : on peut également vérifier la version du firmware installé en téléchargeant et en exécutant l'exemple **//CheckFirmwareVersion//**  (→ Fichier → Exemples → WiFiNINA -> Tools). Les informations apparaissent dans le moniteur série.
-    - Télécharger et exécuter l'exemple **//FirmwareUpdater//** dans la carte (→ Fichier → Exemples → WiFiNINA -> Tools) puis mettre à jour le firmware à l'aide de **WIFI101/WiFiNINA Firmware Updater** (-> Outils).+
  
 == 3.2.2 PubSubClient == == 3.2.2 PubSubClient ==
Ligne 95: Ligne 94:
 WifiWebServer est une bibliothèque serveur simple mais complète pour les cartes AVR, Teensy, SAM DUE, **Arduino SAMD21**, Adafruit SAMD21/SAMD51, Adafruit nRF52, ESP32/ESP8266, STM32F/L/H/G/WB/MP1, etc., utilisant les modules/boucliers WiFi (WiFiNINA, WiFi101, U-Blox W101, W102, ESP8266/ESP32-AT, etc.). \\ Les fonctions sont similaires et compatibles à celles de  <html><a href="https://github.com/espressif/arduino-esp32/tree/master/libraries/WebServer" target="_blank">ESP32 WebServer</a></html> et des <html><a href="https://github.com/esp8266/Arduino/tree/master/libraries/ESP8266WebServer" target="_blank">ESP8266WebServer</a></html>. \\ A partir de la v1.1.0 cette bibliothèque fournit également un client HTTP et WebSocket de haut niveau dont les fonctions sont similaires et compatibles à celles de la bibliothèque <html><a href="https://github.com/arduino-libraries/ArduinoHttpClient" target="_blank">ArduinoHttpClient</a></html>. WifiWebServer est une bibliothèque serveur simple mais complète pour les cartes AVR, Teensy, SAM DUE, **Arduino SAMD21**, Adafruit SAMD21/SAMD51, Adafruit nRF52, ESP32/ESP8266, STM32F/L/H/G/WB/MP1, etc., utilisant les modules/boucliers WiFi (WiFiNINA, WiFi101, U-Blox W101, W102, ESP8266/ESP32-AT, etc.). \\ Les fonctions sont similaires et compatibles à celles de  <html><a href="https://github.com/espressif/arduino-esp32/tree/master/libraries/WebServer" target="_blank">ESP32 WebServer</a></html> et des <html><a href="https://github.com/esp8266/Arduino/tree/master/libraries/ESP8266WebServer" target="_blank">ESP8266WebServer</a></html>. \\ A partir de la v1.1.0 cette bibliothèque fournit également un client HTTP et WebSocket de haut niveau dont les fonctions sont similaires et compatibles à celles de la bibliothèque <html><a href="https://github.com/arduino-libraries/ArduinoHttpClient" target="_blank">ArduinoHttpClient</a></html>.
  
-==== 4. Les shields ==== +\\ 
-Toutes les cartes de la gamme MKR possèdent le même nombre d'<html><a href="https://www.didel.com/LogiqueMicro.pdf" target="_blank" title="On appelle entrées-sorties les échanges d'informations entre le processeur et les périphériques qui lui sont associés."><strong>E/S</strong></a></html>. Elles sont fournies avec un total de **22 broches d'E/numérique** dont **12 broches PWM**. Elles comprennent également **7 broches d'entrée analogique** et **1 broche de sortie analogique**. + 
 +==== 4. Arduino MKR Connector Carrier (Grove compatible) ==== 
 +Toutes les cartes de la gamme MKR possèdent le même nombre d'<html><a href="https://www.didel.com/LogiqueMicro.pdf" target="_blank" title="On appelle entrées-sorties les échanges d'informations entre le processeur et les périphériques qui lui sont associés."><strong>E/S</strong></a></html>. Elles sont fournies avec un total de **22 broches d'E/numériques**dont **12 broches PWM**. Elles comprennent également **7 broches d'entrée analogique** et **1 broche de sortie analogique**. 
  
 Il existe plusieurs shields MKR, par exemple le blindage MKR Relay Proto Shield qui permet d’utiliser des relais et qui fournit de l'espace pour ajouter d'autres composants grâce à sa zone de prototypage.  Il existe plusieurs shields MKR, par exemple le blindage MKR Relay Proto Shield qui permet d’utiliser des relais et qui fournit de l'espace pour ajouter d'autres composants grâce à sa zone de prototypage. 
Ligne 104: Ligne 105:
  
 ==== 5. Démarrer avec la carte Arduino MKR WiFi 1010 ==== ==== 5. Démarrer avec la carte Arduino MKR WiFi 1010 ====
-=== 5.1 Blink un premier Programme pour dire "Hello" ===+=== 5.1 Blink un premier programme pour dire "Hello" ===
  
 <code cpp *.cpp> <code cpp *.cpp>
Ligne 138: Ligne 139:
 {{ :arduino:wifiping.png?nolink&400 |}} {{ :arduino:wifiping.png?nolink&400 |}}
   * Programmer la carte.   * Programmer la carte.
-  * Identifier l'adresse **MAC** de la carte avec **Advanced Port Scanner**. 
   * Entrer l'**@MAC** et attribuer une **@IP** à la carte dans l'onglet "//Réservation DHCP//" de la box du réseau.   * Entrer l'**@MAC** et attribuer une **@IP** à la carte dans l'onglet "//Réservation DHCP//" de la box du réseau.
   * Redémarrer la carte.   * Redémarrer la carte.
  
 {{ :arduino:uc:platformioico.png?nolink&50|}} {{ :arduino:uc:platformioico.png?nolink&50|}}
-<callout type="tip" icon="true"><html><a href="https://webge.fr/doc/wikis/code/Arduino/ARD_PIO_PING_MKR1010.zip" target="_blank">Télécharger</a></html> le projet 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 === === 5.3 Serveurs HTTP ===
Ligne 149: Ligne 149:
    
 <callout type="warning" icon="true">Ce paragraphe présente **deux** versions d'un serveur HTTP : \\ <callout type="warning" icon="true">Ce paragraphe présente **deux** versions d'un serveur HTTP : \\
- - La **Version 1** est une étude de cas pour le cours d'algorithmique \\ + - La **version** utilisée dans les projets. \\ 
- - La **dernière version** est utilisée dans les projets.+ - La **Version 1**une étude de cas pour le cours d'algorithmique 
 </callout> </callout>
 +
 + == 5.3.1 VERSION utilisée dans les projets ==
 +  * **Principe retenu**
 +{{ :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 == == 5.3.1 VERSION 1 : étude de cas ==
Ligne 215: Ligne 267:
   * **Code** (adaptation de l'exemple __SimpleWebServer__)   * **Code** (adaptation de l'exemple __SimpleWebServer__)
 {{ :materiels:capteurs:distance:arduinoico.png?nolink&50|}} {{ :materiels:capteurs:distance:arduinoico.png?nolink&50|}}
-<callout type="tip" icon="true"><html><a href="https://webge.fr/doc/wikis/code/Arduino/ARD_MKR1010_HTTP_SERVER_V1.zip" target="_blank" title="Version 1">Télécharger</a></html> le projet Arduino.</callout> +<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>
- +
-  * **Tests**{{ :arduino:uc:pageaccueil.png?nolink |}} +
- +
- == 5.3.2 VERSION utilisée dans les projets == +
-  * **Principe retenu** +
-{{ :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"><html><strong>Télécharger </strong>la dernière version du projet <a href="https://webge.fr/doc/wikis/code/Arduino/ARD_MKR1010_HTTP_SERVER_V4.zip" target="_blank" title="Version 4">Arduino</a></html>.</callout> +
- +
-  * **Tests** {{ :arduino:uc:pageaccueilv4.jpg?nolink |}} +
 === 5.4 Client MQTT=== === 5.4 Client MQTT===
-  * Voir la page [[arduino:clientmqttesp8266|"Mettre en oeuvre un client MQTT sur un EP8266 (ESP32) Feather Huzzah ou MKR Wifi 1010"]]+  * Voir la page [[microc:iot:clientmqttesp8266|"Mettre en oeuvre un client MQTT sur un EP8266 (ESP32) Feather Huzzah ou MKR Wifi 1010"]]
  
 ==== 6. Tutoriels ==== ==== 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]]. <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.1692428101.txt.gz
  • Dernière modification : 2025/06/19 19:25
  • (modification externe)