Différences entre versions de « Esp8266 wifi »

De The Linux Craftsman
Aller à la navigation Aller à la recherche
Ligne 72 : Ligne 72 :
 
= Point d'accès =
 
= Point d'accès =
 
Pour mettre en place un point d'accès, rien de plus simple :
 
Pour mettre en place un point d'accès, rien de plus simple :
 +
<source lang="c">
 +
#include <ESP8266WiFi.h>
 +
 +
const char *ssid = "tala";
 +
const char *password = "informatique";
 +
 +
void setup() {
 +
// on démarre le port série
 +
Serial.begin(115200);
 +
// On attend "un peu" que le buffer soit prêt
 +
delay(10);
 +
Serial.println();
 +
Serial.println("Demarrage du point d'acces...");
 +
// Initialisation du point d'accès
 +
WiFi.softAP(ssid, password);
 +
// Affichage de l'adresse IP
 +
Serial.print("Adresse MAC du point d'acces: ");
 +
Serial.println(WiFi.softAPmacAddress());
 +
Serial.print("Adresse IP du point d'acces: ");
 +
Serial.println(WiFi.softAPIP());
 +
}
 +
 +
void loop() {
 +
}
 +
</source>
 +
Le code précédent vous donne le résultat suivant sur le port série :
 +
<pre>
 +
Demarrage du point d'acces...
 +
AP IP address: 192.168.4.1
 +
</pre>
 +
Il est possible de modifier certain paramètres de niveau 3 OSI.  Dans la partie des ''variables statiques'' ajoutez les lignes suivantes :
 +
<source lang="c">
 +
IPAddress ip(192, 168, 10, 1);
 +
IPAddress gw(192, 168, 10, 254);
 +
IPAddress mask(255, 255, 252, 0);
 +
</source>
 +
Avant la ligne :
 +
<source lang="c">
 +
WiFi.softAP(ssid, password);
 +
</source>
 +
Insérez les lignes :
 +
<source lang="c">
 +
// Application de la configuration de niveau 3 OSI
 +
WiFi.softAPConfig(ip, gw, mask);
 +
</source>
 +
La sorite console doit afficher :
 +
<pre>
 +
Demarrage du point d'acces...
 +
Adresse MAC du point d'acces: 2E:3A:E8:17:2C:A7
 +
Adresse IP du point d'acces: 192.168.10.1
 +
</pre>

Version du 16 janvier 2018 à 22:24

Introduction

Introduction

Warning manual.jpg

Soyez sûr de comprendre la section sur comment écrire un sketch avant de poursuivre. Le code ci-dessous fait référence à des parties bien spécifiques, détaillées et expliquées dans la section suscitée.

La puce ESP8266 peut se configurer en point d'accès, en client WiFi ou les deux en même temps.

Client WiFi

Commençons par nous connecter à un réseau en utilisant le DHCP :

#include <ESP8266WiFi.h>

const char* ssid = "CAMPUSCD-CROIXVERTE2";
const char* password = "";

void setup() {
	// on démarre le port série
	Serial.begin(115200);
	// On attend "un peu" que le buffer soit prêt
	delay(10);
	Serial.println();
	Serial.print("Connexion a ");
	Serial.println(ssid);
	// Initialisation de la connection
	WiFi.begin(ssid, password);
	// Test pour déterminer quand la connection est prete
	while (WiFi.status() != WL_CONNECTED) {
		delay(500);
		Serial.print(".");
	}
	// Affichage des informations
	Serial.println("");
	Serial.println("WiFi connected");
	Serial.print("Address IP: ");
	Serial.println(WiFi.localIP());
	Serial.print("Masque : ");
	Serial.println(WiFi.subnetMask());
	Serial.print("Passerelle : ");
	Serial.println(WiFi.gatewayIP());
}

Le code précédent vous donne le résultat suivant sur le port série :

Connexion a CAMPUSCD-CROIXVERTE2.. connecté
Address IP: 192.168.52.85
Masque : 255.255.252.0
Passerelle : 192.168.55.250

Maintenant que nous connaissons les paramètres données par le réseau, essayons de nous y connecter de manière statique. Dans la partie des variables statiques ajoutez les lignes suivantes :

IPAddress ip(192, 168, 52, 85);
IPAddress dns(192, 168, 55, 250);
IPAddress gw(192, 168, 55, 250);
IPAddress mask(255, 255, 252, 0);

Avant la ligne :

WiFi.begin(ssid, password);

Insérez les lignes :

// Application de la configuration de niveau 3 OSI
WiFi.config(ip, gw, mask, dns);

La connexion devrait être quasiment instantanée !

Point d'accès

Pour mettre en place un point d'accès, rien de plus simple :

#include <ESP8266WiFi.h>

const char *ssid = "tala";
const char *password = "informatique";

void setup() {
	// on démarre le port série
	Serial.begin(115200);
	// On attend "un peu" que le buffer soit prêt
	delay(10);
	Serial.println();
	Serial.println("Demarrage du point d'acces...");
	// Initialisation du point d'accès
	WiFi.softAP(ssid, password);
	// Affichage de l'adresse IP
	Serial.print("Adresse MAC du point d'acces: ");
	Serial.println(WiFi.softAPmacAddress());
	Serial.print("Adresse IP du point d'acces: ");
	Serial.println(WiFi.softAPIP());
}

void loop() {
}

Le code précédent vous donne le résultat suivant sur le port série :

Demarrage du point d'acces...
AP IP address: 192.168.4.1

Il est possible de modifier certain paramètres de niveau 3 OSI. Dans la partie des variables statiques ajoutez les lignes suivantes :

IPAddress ip(192, 168, 10, 1);
IPAddress gw(192, 168, 10, 254);
IPAddress mask(255, 255, 252, 0);

Avant la ligne :

WiFi.softAP(ssid, password);

Insérez les lignes :

// Application de la configuration de niveau 3 OSI
WiFi.softAPConfig(ip, gw, mask);

La sorite console doit afficher :

Demarrage du point d'acces... 
Adresse MAC du point d'acces: 2E:3A:E8:17:2C:A7
Adresse IP du point d'acces: 192.168.10.1