Comment attribuer une IP fixe à un projet ESP32 ESP8266 ou ESP01

Partager sur facebook
Partager sur twitter
Partager sur linkedin
Partager sur pinterest
Partager sur email
Partager sur telegram

Table des matières

Lorsqu’on développe un objet connecté au WiFi avec un ESP32, ESP8266 ou ESP-01 (ou n’importe quel autre micro-contrôleur d’ailleurs), il est beaucoup plus pratique d’attribuer une adresse IP fixe. On pourra ainsi toujours se connecter à l’objet sur le réseau local même en cas de changement de routeur ou de box internet.

 

En faisant une routage de port, on pourra également se connecter depuis internet à ses objets connectés. Attention toutefois aux failles de sécurité. Il est préférable de connecter vos objets à un serveur domotique dont c’est le métier après tout !

Comment attribuer une adresse IP fixe à un projet ESP8266 ou ESP-01 ?

La librairie ESP8266WiFi permet d’attribuer précisément les paramètres de connexion :

  • IP adresse IP que l’on souhaite attribuer
  • DNS serveur DNS, c’est lui qui attribue l’adresse IP. Ici, on l’informe qu’on souhaite réserver une adresse IP fixe. Par défaut, on utilise le serveur DNS de la box internet ou le routeur, donc on indique la même adresse.
  • GATEWAY C’est l’adresse IP de la box internet ou du routeur
  • SUBNET sous réseau. Généralement, c’est 255, 255, 255, 0. Il faudra vérifier directement au niveau de la box internet ou du routeur

Ici, on va attribuer l’adresse IP 192.168.1.40 au module ESP01 ou ESP8266.

IPAddress ip(192, 168, 1, 40);
IPAddress dns(192, 168, 1, 1);
IPAddress gateway(192, 168, 1, 1);
IPAddress subnet(255, 255, 255, 0);

La méthode WiFi.config() permet de configurer l’adresse IP et les paramètres de connexion au réseau WiFi local.

WiFi.config(ip, dns, gateway, subnet);

Ensuite, on peut se connecter comme d’habitude

WiFi.begin(ssid, password);

Lisez cet article pour en savoir plus sur la librairie ESP8266WiFi

A LIRE AUSSI :
ESP8266. Comment se connecter au réseau WiFi (ESP8266WiFi et ESP8266WiFiMulti)

Comment attribuer une adresse IP fixe à un projet ESP

La librairie WiFi.h pour ESP32 est l’équivalent de la librairie ESP8266WiFi.

La configuration et l’appel des méthodes est parfaitement identique !

Il faudra juste inclure du code conditionnel au début du projet pour charger la librairie qui correspond à la plateforme. La détection est automatique.

#ifdef ESP32 
  #include <WiFi.h>
#else 
  #include <ESP8266WiFi.h> 
#endif

Téléverser le code Arduino pour tester l’adresse IP fixe

Voici un exemple de code complet que vous pouvez téléverser depuis l’IDE Arduino ou PlatformIO.

Le code est compatible ESP32 et ESP8266 (y compris ESP01). Sur l’IDE Arduino, vous pouvez supprimer la première ligne #include <Arduino.h>.

#include <Arduino.h>
#ifdef ESP32
  #include <WiFi.h>
#else
  #include <ESP8266WiFi.h>
#endif

const char* ssid = "enter_your_ssid";
const char* password = "enter_your_password";

WiFiServer server(80);

void setup() {

  Serial.begin(115200);
  delay(10);

  IPAddress ip(192, 168, 1, 40);
  IPAddress dns(192, 168, 1, 1);
  IPAddress gateway(192, 168, 1, 1);
  IPAddress subnet(255, 255, 255, 0);
  WiFi.config(ip, dns, gateway, subnet);

  WiFi.begin(ssid, password);
 
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print("...");
  }
  Serial.println("WiFi connected");

  server.begin();
  Serial.println("Web server running.");
  delay(500);

  Serial.println(WiFi.localIP());
}

void loop() {
  // put your main code here, to run repeatedly:
}

Configurations PlatformIO pour ESP32, ESP8266 ou ESP-01

Voici quelques configurations PlatformIO pour une LoLin d1 Mini (ESP8266), un module WiFi ESP-01 (512 Ko) / ESP-01S (1Mo) ou une LoLin D32 Pro (ESP32).

LoLin d1 mini (ESP8266) ESP-01 (512Ko) ou ESP-01S (1Mo) LoLin D32 Pro (ESP32)
[env:d1_mini_lite]
platform = espressif8266
board = d1_mini_lite
framework = arduino
monitor_speed = 115200
[env:esp01_1m]
platform = espressif8266
board = esp01_1m
framework = arduino
;upload_protocol = esptool
;board_build.flash_mode = dout
;upload_speed = 115200
monitor_speed = 115200

[env:esp01]
platform = espressif8266
board = esp01
framework = arduino
;upload_protocol = esptool
;board_build.flash_mode = dout
;upload_speed = 115200
monitor_speed = 115200
[env:lolin_d32_pro]
platform = espressif32
board = lolin_d32_pro
framework = arduino
monitor_speed = 115200

Vérifier l’adresse IP attribuée

Téléverser le projet et ouvrez le moniteur série pour vérifier que l’adresse IP a correctement été attribuée

Depuis l’IDE Arduino

ide arduino ip fixe esp01 esp32 esp8266

Depuis PlatformIO

--- More details at http://bit.ly/pio-monitor-filters
--- Miniterm on /dev/cu.usbserial-1410  115200,8,N,1 ---
--- Quit: Ctrl+C | Menu: Ctrl+T | Help: Ctrl+T followed by Ctrl+H ---
.....................WiFi connected
Web server running.
192.168.1.40

Mises à jour

17/09/2020 Publication de l’article

Avez-vous aimé cet article ?
[Total: 0 Moyenne: 0]
Partager sur facebook
Partager sur twitter
Partager sur linkedin
Partager sur pinterest
Partager sur email
Partager sur telegram

Vous avez aimé ce projet ? Ne manquez plus aucun projet en vous abonnant à notre lettre d’information hebdomadaire!

quel modèle esp8266 choisir
Quel modèle d'ESP8266EX choisir en 2020 ?
guide choix esp32 development board
Quel ESP32 choisir en 2020 ?

Vous rencontrez un problème avec ce sujet ?

Peut-être que quelqu’un a déjà trouvé la solution, visitez le forum avant de poser votre question

Nous serions ravis de connaître votre avis

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.

Calculateurs
×
Calculateur loi d'Ohm
Tension (U) - en Volt
Courant (I) - en Ampère
Résistance (R) - en Ohms
Puissance (P) - en Watts

Ce calculateur permet de calculer les relations entre le courant, la tension, la résistance et la puissance dans les circuits résistifs.

Saisir au moins deux valeurs puis cliquer sur calculer pour calculer les valeurs restantes. Réinitialisez après chaque calcul.

Rappel sur la Loi d'Ohm
La loi d'Ohm explique la relation entre la tension, le courant et la résistance en déclarant que le courant traversant un conducteur entre deux points est directement proportionnel à la différence de potentiel entre les deux points.
La loi d'Ohm s'écrit U = IR, où U est la différence de tension, I est le courant en ampère et R est la résistance en Ohms (symbole Ω).
Loi d'Ohm (U=RI)
×
Déchiffrer le code couleur d'une résistance à 4 bandes
Bande 1 Bande 2 Multiplicateur Tolérance
   

Résistance:  

1 000 Ω ±5%

Comment déchiffrer le code couleur d'une résistance à 4 anneaux
Formule : ab*cΩ ±d%
Les deux premières bandes (a, b) permettent de déterminer le chiffre significatif. La première bande correspond au chiffre de la dizaine, le second anneau le chiffre de l'unité. Par exemple Brun(1), Noir (0) donne le nombre 10.
La troisième bande (c) est un coefficient multiplicateur. Par exemple, l'anneau rouge est un coefficient multiplicateur de 100, ce qui donne 10 X 100 = 1000Ω.
Le quatrième anneau (d) indique la tolérance de la valeur nominale de la résistance. Par exemple l'anneau Or correspond à ±5%. Donc le fabricant de la résistance s'engage à ce que sa valeur soit comprise entre 950 Ω et 1050 Ω.
Déchiffrer code couleur 4 bandes
×
Déchiffrer le code couleur d'une résistance à 5 bandes
Bande 1 Bande 2 Bande 3 Multiplicateur Tolérance

Résistance:  

1 000 Ω ±5%

Comment déchiffrer le code couleur d'une résistance à 5 anneaux
Formule : abc*dΩ ±e%
Les trois premières bandes permettent de déterminer le chiffre significatif. La première bande correspond au chiffre de la dizaine, le second anneau le chiffre de l'unité. Par exemple Brun(1), Noir (0), Noir (0) donne le nombre 100
La quatrième bande est un coefficient multiplicateur. Par exemple, l'anneau brun correspond au coefficient multiplicateur 10, ce qui donne 100 X 10 = 1000Ω.
Le cinquième anneau indique la tolérance de la valeur nominale de la résistance. Par exemple l'anneau Or correspond à ±5%. Donc le fabricant de la résistance s'engage à ce que la valeur de la résistance soit comprise entre 950 Ω et 1050 Ω.
Déchiffrer code couleur 5 bandes
×
Calculateur de résistance série pour une ou plusieurs LED
Tension d'alimentation en Volt
Tension directe en Volt
Courant en mA
Résistance calculée en Ω
Puissance estimée en W

Ce calculateur permet de déterminer la résistance requise pour piloter une ou plusieurs LED connectées en série à partir d'une source de tension à un niveau de courant spécifié.

Remarque. Il est préférable d'alimenter le circuit avec une puissance nominale comprise entre 2 et 10 fois la valeur calculée afin d'éviter la surchauffe
Couleur Longueur d'onde (nm) Tension (V) pour LED ⌀3mm Tension(V) pour LED ⌀5mm
Rouge 625-630  1,9-2,1 2,1-2,2
Bleu 460-470 3,0-3,2 3,2-3,4
Vert 520-525 2,0-2,2 2,0-2,2
Jaune 585-595 2,0-2,2 3,0-3,2
Blanc 460-470 3,0-3,2 1,9-2,1
Résistance en série pour une ou plusieurs LED
×
Calculateur durée de vie d'une batterie
Capacité de la batterie
Consommation de l'appareil ou objet connecté

Ce calculateur estime la durée de vie d'une batterie, en fonction de sa capacité nominale et du courant ou de la puissance qu'une charge en tire.

La durée de vie de la batterie est une estimation idéalisée. La durée de vie réelle peut varier en fonction de l'état de la batterie, de son âge, de la température, du taux de décharge et d'autres facteurs. C'est le mieux que vous pouvez espérer obtenir.

Autonomie de la batterie = capacité de la batterie en mAh / courant de charge en mA

Durée de vie batterie
Publicité
À lire aussi
Composants
Sur le Forum
Domotique et objets connectés à faire soi-même
Domotique et objets connectés à faire soi-même
Vous avez aimé ce tutoriel

Ne manquez plus les prochains projets

Recevez chaque semaine le récapitulatif des tutoriels et projets.

Vous pouvez vous désabonner à tout moment.