Arduino - Mot de passe du serveur Web
Dans ce tutoriel, nous apprendrons comment créer un serveur Web Arduino sécurisé qui nécessite un nom d'utilisateur et un mot de passe pour la connexion. Avant d'accéder à n'importe quelle page Web hébergée sur l'Arduino, les utilisateurs seront invités à saisir leur nom d'utilisateur et leur mot de passe.

Préparation du matériel
Ou vous pouvez acheter les kits suivants:
1 | × | Kit de Démarrage DIYables STEM V4 IoT (Arduino inclus) | |
1 | × | Kit de Capteurs DIYables (30 capteurs/écrans) | |
1 | × | Kit de Capteurs DIYables (18 capteurs/écrans) |
À propos d'Arduino et du serveur Web
Si vous n'êtes pas familier avec Arduino et un serveur Web (y compris le brochage, leur mode de fonctionnement et leur programmation), vous pouvez en apprendre davantage sur eux grâce aux tutoriels suivants :
Code Arduino - Serveur Web Nom d'utilisateur/Mot de passe
Étapes rapides
- Si c'est la première fois que vous utilisez Arduino Uno R4, consultez Comment démarrer avec Arduino Uno R4..
- Connectez la carte Arduino à votre PC via un câble micro USB
- Ouvrez l'IDE Arduino sur votre PC.
- Sélectionnez la carte Arduino et le port COM correct.
- Ouvrez le Gestionnaire de bibliothèques en cliquant sur l'icône Gestionnaire de bibliothèques sur le côté gauche de l'IDE Arduino.
- Recherchez Web Server for Arduino Uno R4 WiFi et localisez la bibliothèque Web Server créée par DIYables.
- Cliquez sur le bouton Install pour ajouter la bibliothèque Web Server.

- Copiez le code ci-dessus et ouvrez-le avec l'IDE Arduino
- Modifiez les informations Wi‑Fi (SSID et mot de passe) dans le code pour les remplacer par les vôtres.
- Cliquez sur le bouton Upload dans l'IDE Arduino pour téléverser le code sur Arduino.
- Ouvrez le Moniteur série.
- Vérifiez le résultat dans le Moniteur série.
- Vous verrez une adresse IP dans le Moniteur série, par exemple : 192.168.0.3
- Saisissez l'adresse IP dans la barre d'adresse d'un navigateur web sur votre smartphone ou votre PC.
- Veuillez noter que vous devez remplacer 192.168.0.3 par l'adresse IP que vous avez obtenue dans le Moniteur série.
- Vous verrez une page qui vous invite à saisir votre nom d'utilisateur et votre mot de passe.

- Tapez le nom d'utilisateur/mot de passe qui se trouvent dans le code Arduino, dans ce cas : admin comme nom d'utilisateur, arduino comme mot de passe
- Si vous entrez correctement le nom d'utilisateur et le mot de passe, le contenu Web d'Arduino sera affiché :

※ Note:
- Vous pouvez ajuster le nom d'utilisateur et le mot de passe de votre site Web directement dans le code en modifiant les valeurs attribuées à deux variables : www_username et www_password.
- Vous avez la flexibilité de personnaliser ce code en y ajoutant votre propre HTML, CSS et JavaScript pour concevoir votre page Web selon vos préférences.
- Il est important de noter que, dans le code lui-même, il n’y a pas de code HTML spécifiquement destiné au formulaire de connexion où les utilisateurs saisissent leur nom d’utilisateur et leur mot de passe. Ne soyez pas surpris par cela ! Au lieu de cela, le formulaire de connexion est généré dynamiquement par le navigateur Web lorsque cela est nécessaire.
Connaissance avancée
Cette section fournit des informations approfondies sur le fonctionnement du système de nom d'utilisateur et de mot de passe sans HTML pour le formulaire de connexion :
- Lorsque vous saisissez initialement l'adresse IP de l'Arduino dans un navigateur, le navigateur envoie une demande à l'Arduino via HTTP, mais sans aucun nom d'utilisateur/mot de passe.
- En recevant cette demande, le code de l'Arduino vérifie s'il y a des identifiants nom d'utilisateur/mot de passe inclus. S'il n'en trouve pas, l'Arduino ne répond pas avec le contenu de la page. À la place, il renvoie un message HTTP avec des en-têtes indiquant au navigateur de demander à l'utilisateur son nom d'utilisateur et son mot de passe. Important, cette réponse ne contient pas de code HTML pour le formulaire de connexion.
- Lorsque le navigateur reçoit cette réponse, il interprète les en-têtes HTTP et comprend que l'Arduino demande un nom d'utilisateur/mot de passe. Par conséquent, le navigateur crée dynamiquement un formulaire de connexion pour que l'utilisateur saisisse ses identifiants.
- L'utilisateur saisit ensuite son nom d'utilisateur/mot de passe dans ce formulaire.
- Le navigateur inclut le nom d'utilisateur et le mot de passe saisis dans une demande HTTP et la renvoie à l'Arduino.
- L'Arduino vérifie le nom d'utilisateur et le mot de passe inclus dans la demande HTTP. S'ils sont corrects, il fournit le contenu de la page demandée. S'ils sont incorrects, le processus est répété, invitant l'utilisateur à saisir à nouveau les identifiants corrects.
- Une fois que l'utilisateur saisit correctement son nom d'utilisateur et son mot de passe pour la première fois, les demandes suivantes ne nécessitent pas de les saisir à nouveau. C'est parce que le navigateur enregistre automatiquement les identifiants et les inclut dans les demandes suivantes.