Intégration d'un Arduino Uno avec un ESP8266 : guide pas à pas
Composants et fournitures
| Composant | Quantité |
|---|---|
| ESP8266 (SparkFun) | 1 |
| Arduino UNO | 1 |
| Convertisseur de niveau logique bidirectionnel (SparkFun) | 1 |
| Plaque d'essai (breadboard) | 1 |
| Fils de connexion (jumper wires) | 1 |
Applications et services en ligne
- Arduino IDE
- circuito.io
- Firmware.ino (bibliothèque AT pour ESP8266)
- SoftwareSerial
À propos du projet
Notre objectif était de créer une bibliothèque de commandes AT pour ESP8266 (basée sur la bibliothèque ITEAD) fonctionnant bien sur SoftwareSerial sur la plupart des modules ESP8266, pourvu qu'ils répondent aux commandes AT (généralement le firmware constructeur par défaut).
Nous distribuons cette bibliothèque préliminaire pour tests et apprécions vos retours et améliorations via le dépôt GitHub.
1. Matériel nécessaire
- Arduino Uno (avec Arduino IDE installé)
- ESP8266
- Convertisseur de niveau logique
2. Câblage
Connectez l'ESP8266 via SoftwareSerial à l'Arduino Uno en utilisant le convertisseur de niveau, comme indiqué sur le schéma de câblage joint (image fournie).
3. Connexion à votre Wi-Fi domestique
Ouvrez le fichier Firmware.ino depuis GitHub et renseignez votre SSID et mot de passe Wi-Fi :
const char *SSID = "VOTRE_SSID";
const char *PASSWORD = "VOTRE_MOT_DE_PASSE";
4. Téléversement du sketch sur l'Arduino
Connectez l'Arduino à l'ordinateur et téléversez le sketch.
5. Ouvrir le moniteur série dans l'Arduino IDE
Cliquez sur le bouton Moniteur série (coin supérieur droit). Si tout fonctionne, vous devriez voir la sortie attendue (capture d'écran fournie dans le projet).
6. Dépannage
Si aucune réponse : essayez de mettre à jour le firmware de l'ESP avec la version fournie ci-dessous. Utilisez un adaptateur FTDI 3,3 V.
- Branchez l'ESP sur le FTDI.
- Récupérez l'outil
ESP8266Flasher. - Récupérez le firmware
1.1.1.1. - Flashez l'ESP.
Si vous obtenez une réponse partielle avec SoftwareSerial, modifiez le tampon de réception :
Fichier : C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\SoftwareSerial\src\SoftwareSerial.h
Ligne 42 : changez
#define _SS_MAX_RX_BUFF 64 // RX buffer size
en
#define _SS_MAX_RX_BUFF 256 // RX buffer size
Cela agrandit le tampon série logiciel. Parfois, le réglage du baudrate à l'initialisation échoue ; essayez de réinitialiser l'Arduino, cela devrait fonctionner. Si vous avez encore des soucis, commentez ici pour qu'on essaie de localiser le problème. Toute suggestion d'amélioration est bienvenue via pull request sur GitHub.
En général, ce code devrait fonctionner pour toutes les versions Arduino Uno ESP8266-01.
Vos retours sont les bienvenus !
Code source
Le dépôt GitHub nécessaire pour établir la connexion : github.com/Circuito-io/ESP8266_SoftwareSerial
Schémas
Trois images de schémas de câblage sont fournies dans le projet original.
Processus de fabrication
- Horloge à Mots DIY Arduino – Afficheur Temps Réel Élégant et Personnalisable
- Manette de jeu USB Arduino DIY – Construisez votre propre gamepad haute performance
- Station Météo Compacte : Arduino Nano & ESP8266 avec Capteur BMP280 et Affichage OLED/Nokia LCD
- Serveur Web Arduino Uno WiFi : Commander une LED via Navigateur
- Pixie : Montre-bracelet NeoPixel à base d'Arduino – Élégante, DIY, montre LED
- Calculatrice basique Arduino UNO - Projet facile pour débutants
- Construire un affichage à persistance rétinienne portable avec Arduino UNO et ATtiny85
- Chronomètre Arduino Simple : Construisez un Chronomètre Activé par Bouton
- Système de surveillance mobile – Robot caméra Raspberry Pi/Arduino piloté par Android (MQTT, uv4l, Docker)