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/11 07:25] – [5. Tutoriels] phil | microc:uc:mkr [2024/06/04 18:44] (Version actuelle) – [1.2 Brochage] phil |
---|
| |
===== Microcontrôleurs - Arduino MKR Wifi 1010 ===== | ===== Microcontrôleurs - Arduino MKR Wifi 1010 ===== |
[Mise à jour le 10/8/2023] | [Mise à jour le 3/6/2024] |
{{ :arduino:arduino.png?80&nolink|}} | {{ :arduino:arduino.png?80&nolink|}} |
| |
== Ressources == | == Ressources == |
* <html><a href = "https://store.arduino.cc/arduino-genuino/arduino-genuino-mkr-family" target="_blank">MKR FAMILY</a></html> | * <html>Site Arduino - <a href = "https://store.arduino.cc/arduino-genuino/arduino-genuino-mkr-family" target="_blank">MKR FAMILY</a></html> | <html><a href="https://www.arduino.cc/en/Guide/MKRWiFi1010#toc3" target="_blank">Getting started with the MKR WiFi 1010</a></html> | <html><a href="https://docs.arduino.cc/software/ide-v2" target="_blank">Arduino IDE V2</a></html> |
* <html><a href="https://www.arduino.cc/en/Guide/MKRWiFi1010#toc3" target="_blank">Getting started with the MKR WiFi 1010</a></html> | |
* <html><a href="https://docs.arduino.cc/software/ide-v2" target="_blank">Arduino IDE 2</a></html> | |
| |
== Lectures connexes == | == Lectures connexes == |
* Wiki matériels - [[materiels:accueilmateriels|"Capteurs, afficheurs, préactionneurs, etc."]] | * Wiki matériels - [[materiels:accueilmateriels|"Capteurs, afficheurs, préactionneurs, etc."]] |
* Wiki Arduino - [[arduino: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"]] |
* <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> |
| |
== Distributeurs == | == Distributeurs == |
Le MKR WIFI 1010 est équipé d'un module **ESP32** fabriqué par U-BLOX. Cette carte a pour objectif d’accélérer et de simplifier le prototypage des applications IoT basées sur le WiFi grâce à la flexibilité du module ESP32 et à sa faible consommation d’énergie. La carte est composée de **trois principaux blocs** : | Le MKR WIFI 1010 est équipé d'un module **ESP32** fabriqué par U-BLOX. Cette carte a pour objectif d’accélérer et de simplifier le prototypage des applications IoT basées sur le WiFi grâce à la flexibilité du module ESP32 et à sa faible consommation d’énergie. La carte est composée de **trois principaux blocs** : |
* Microcontrôleur **SAMD21** Cortex-M0+ 32bit Low Power ARM MCU <html><a href="https://cdn.sparkfun.com/datasheets/Dev/Arduino/Boards/Atmel-42181-SAM-D21_Datasheet.pdf" target="_blank">(Datasheet)</a></html> | * Microcontrôleur **SAMD21** Cortex-M0+ 32bit Low Power ARM MCU <html><a href="https://cdn.sparkfun.com/datasheets/Dev/Arduino/Boards/Atmel-42181-SAM-D21_Datasheet.pdf" target="_blank">(Datasheet)</a></html> |
* **U-BLOX NINA-W10** Series Low Power 2.4GHz IEEE® 802.11 b/g/n Wi-Fi <html><a href="https://www.u-blox.com/sites/default/files/NINA-W10_DataSheet_%28UBX-17065507%29_C1-Public.pdf" target="_blank">(Datasheet)</a></html> | * **U-BLOX NINA-W10** Series Low Power 2.4GHz IEEE® 802.11 b/g/n Wi-Fi <html><a href="https://content.u-blox.com/sites/default/files/NINA-W10_DataSheet_UBX-17065507.pdf" target="_blank">(Datasheet)</a></html> |
* **ECC508 Crypto Authentication**. <html><a href="https://www.microchip.com/wwwproducts/en/atecc508a" target="_blank">(Datasheet)</a></html> | * **ECC508 Crypto Authentication**. <html><a href="https://www.microchip.com/wwwproducts/en/atecc508a" target="_blank">(Datasheet)</a></html> |
{{ :arduino:mkr1010.jpg?nolink&350 | | {{ :arduino:mkr1010.jpg?nolink&350 | |
{{ :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 === |
* **Fréquence d'horloge** : 48MHz, 32.768 kHz (RTC) | * **Fréquence d'horloge** : 48MHz, 32.768 kHz (RTC) |
| |
<callout icon="fa fa-hand-stop-o" color="red" title="ATTENTION">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> |
| |
| |
== 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. |
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 ==== | ==== 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/S numérique** dont **12 broches PWM**. Elles comprennent également **7 broches d'entrée analogique** et **1 broche de sortie analogique**. | 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/S 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. |
| |
==== 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> |
{{ :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 === |
* **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 |}} | * **Tests**{{ :arduino:uc:pageaccueil.png?nolink |}} |
* **Code** | * **Code** |
{{ :materiels:capteurs:distance:arduinoico.png?nolink&50|}} | {{ :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> | <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_V5.zip" target="_blank" title="Version 4"><b>projet</b></a></html> Arduino.</callout> |
| |
* **Tests** {{ :arduino:uc:pageaccueilv4.jpg?nolink |}} | * **Tests** {{ :microc:uc:pageaccueilserveur.png?nolink |}} |
| |
=== 4.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]]. |