Étiquettes : ,

Le microcontrôleur esp8266 est capable d’être configuré en point d’accès (ou access point AP) et de générer son propre réseau wifi avec ssid et mot de passe. Cette méthode est utile lorsque vous n’avez pas accès à un réseau Wifi ou si vous souhaitez travailler sur un réseau propre au microcontrôleur.

Matériel

  • Ordinateur
  • NodeMCU ESP8266
  • Câble USB A Mâle/Micro B Mâle

Principe

Le NodeMCU ESP8266 possède une puce Wifi qui peut générer son propre réseau dans le cas où un réseau Wifi n’est pas disponible. Cette configuration s’appelle le mode AP (Access Point)

Code

Pour configurer le NodeMCU ESP8266 en point d’accès, nous allons utiliser la classe SoftAp inclue dans la librairie ESP8266WiFi.h. Pour configurer un point d’accès Wifi il suffit de lui donner un nom

WiFi.softAP(ssid)

D’autres paramètres, comme le mot de passe ou le nombre limite de connexion peuvent être définis.

  • ssid identifiant du réseau (max. 31 characters)
  • password mot de passe du réseau (max. 63 characters) (Optional).
  • channel canal du réseau entre 1 et 13. Valeur par défaut 1 (Optional).
  • hidden cache le SSID si true (Optional).
  • max_connection nombre de connections simultanées autorisées from 0 to 8. Valeur par défaut 4. (Optional).
#include <ESP8266WiFi.h>

const char *ssid = "AC-ESP8266";
const char *password = "987654321";

IPAddress local_IP(192,168,4,22);
IPAddress gateway(192,168,4,9);
IPAddress subnet(255,255,255,0);

void setup()
{
  Serial.begin(115200);
  Serial.println();

  Serial.print("Setting soft-AP configuration ... ");
  Serial.println(WiFi.softAPConfig(local_IP, gateway, subnet) ? "Ready" : "Failed!");

  Serial.print("Setting soft-AP ... ");
  Serial.println(WiFi.softAP(ssid,password) ? "Ready" : "Failed!");
  //WiFi.softAP(ssid);
  //WiFi.softAP(ssid, password, channel, hidden, max_connection)
  
  Serial.print("Soft-AP IP address = ");
  Serial.println(WiFi.softAPIP());
}

void loop() {
  Serial.print("[Server Connected] ");
  Serial.println(WiFi.softAPIP());

  delay(500);
}

N.B.: Si le mot de passe attribué est plus court que 8 caractères, le SSID ne sera pas pris en compte. Si vous souhaitez modifier le SSID, assurez-vous que le mot de passe est plus long que 8 caractères ou qu’il n’y a pas de mot de passe.

Si vous n’appelez pas la fonction softApConfig pour définir les adresses IP, le réseau utilisera des adresses par défaut.

Résultat

Une fois le point d’accès configuré et le code téléversé sur la carte, on peut voir dans les réseaux disponibles un nouveau réseau apparaitre. On vérifie qu’il a bien le SSID défini dans le code.

esp8266-apmode-result Configurer un ESP8266 en Point d'Accès Wifi
esp8266-apmode-monitor-result Configurer un ESP8266 en Point d'Accès Wifi

Une fois le NodeMCU ESP8266 configuré en point d’accès, le réseau, ainsi généré, s’utilise comme n’importe quel réseau Wifi. D’autres appareils peuvent venir se connecter et communiquer via ce réseau.

Sources