MicroPython : Point d’accès ESP32/ESP8266 (AP)

MicroPython : Point d'accès ESP32/ESP8266 (AP)

Apprenez à configurer vos cartes ESP32 ou ESP8266 en tant que point d’accès (AP) à l’aide du micrologiciel MicroPython. Cela vous permet de vous connecter directement à vos cartes ESP via Wi-Fi sans routeur sans fil.

MicroPython : Point d'accès ESP32/ESP8266 (AP)

Utilisez l’extrait de code suivant pour définir votre ESP32 ou ESP8266 comme point d’accès à l’aide de MicroPython :

ap = network.WLAN(network.AP_IF)
ap.active(True)
ap.config(essid=ssid, password=password)

Conditions préalables

Pour suivre ce tutoriel, vous avez besoin du firmware MicroPython installé dans vos cartes ESP32 ou ESP8266. Vous avez également besoin d’un IDE pour écrire et télécharger le code sur votre carte. Nous vous suggérons d’utiliser Thonny IDE ou uPyCraft IDE :

En savoir plus sur MicroPython : eBook sur la programmation MicroPython avec ESP32 et ESP8266

Station et point d’accès ESP32/ESP8266

Dans la plupart de nos projets de serveur Web avec MicroPython, nous connectons l’ESP32 ou l’ESP8266 à un routeur sans fil. Dans cette configuration, nous pouvons accéder à la carte ESP via le réseau local.

Dans ce scénario, le routeur agit comme un point d’accès et les cartes ESP sont définies comme une station. Ainsi, vous devez être connecté à votre routeur (réseau local) pour contrôler l’ESP32 ou l’ESP8266.

Micrologiciel MicroPython de la Station ESP32/ESP8266

Dans certains cas, ce n’est peut-être pas la meilleure configuration (lorsque vous n’avez pas de routeur à proximité). Mais si vous définissez les cartes ESP comme point d’accès (hotspot), vous pouvez vous y connecter à l’aide de n’importe quel appareil doté de capacités Wi-Fi sans avoir besoin de vous connecter à votre routeur.

Fondamentalement, lorsque vous définissez l’ESP32 ou l’ESP8266 comme point d’accès, vous créez son propre réseau Wi-Fi et les appareils Wi-Fi à proximité (stations) peuvent s’y connecter (comme votre smartphone ou votre ordinateur).

MicroPython du point d'accès (AP) ESP32/ESP8266

Dans ce didacticiel, nous allons vous montrer comment configurer l’ESP32 et l’ESP8266 comme point d’accès dans vos projets de serveur Web. De cette façon, vous n’avez pas besoin d’être connecté à un routeur pour les contrôler.

Parce que l’ESP ne se connecte plus à un réseau filaire (comme votre routeur), il s’appelle soft-AP (point d’accès logiciel).

Cela signifie que si vous essayez de charger des bibliothèques ou d’utiliser un micrologiciel à partir d’Internet, cela ne fonctionnera pas. Cela ne fonctionne pas non plus si vous essayez d’envoyer des requêtes HTTP à des services sur Internet, par exemple en publiant des lectures de capteurs dans le cloud.

Point d’accès (AP) MicroPython ESP32/ESP8266 pour serveur Web

À des fins de démonstration, nous allons créer un simple « Hello, World ! serveur Web. Pour en savoir plus sur la création d’un serveur web avec l’ESP32 ou l’ESP8266, vous pouvez lire le tutoriel suivant :

Copiez le code suivant dans votre boot.py fichier et téléchargez-le sur votre tableau.

# Complete project details at https://Raspberryme.com

try:
  import usocket as socket
except:
  import socket

import network

import esp
esp.osdebug(None)

import gc
gc.collect()

ssid = 'MicroPython-AP'
password = '123456789'

ap = network.WLAN(network.AP_IF)
ap.active(True)
ap.config(essid=ssid, password=password)

while ap.active() == False:
  pass

print('Connection successful')
print(ap.ifconfig())

def web_page():
  html = """<html><head><meta name="viewport" content="width=device-width, initial-scale=1"></head>
  <body><h1>Hello, World!</h1></body></html>"""
  return html

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind(('', 80))
s.listen(5)

while True:
  conn, addr = s.accept()
  print('Got a connection from %s' % str(addr))
  request = conn.recv(1024)
  print('Content = %s' % str(request))
  response = web_page()
  conn.send(response)
  conn.close()

Afficher le code brut

Personnaliser le SSID et le mot de passe

Vous devez définir un nom SSID et un mot de passe pour votre point d’accès. Dans cet exemple, nous définissons le nom SSID sur MicroPython-AP, mais vous pouvez modifier le nom comme vous le souhaitez. Le mot de passe est 123456789, mais vous pouvez également le modifier.

ssid = 'MicroPython-AP'
password = '123456789'

Définir un point d’accès avec MicroPython

Ensuite, créez un point d’accès à l’aide de la ligne de code suivante :

ap = network.WLAN(network.AP_IF)

Activez le point d’accès :

ap.active(True)

Configurez le point d’accès avec le ssid et le mot de passe que vous avez définis précédemment :

ap.config(essid=ssid, password=password)

Les lignes suivantes impriment l’adresse IP du point d’accès

print('Connection successful')
print(ap.ifconfig())

Par défaut, l’adresse IP est 192.168.4.1

Maintenant, le point d’accès est créé.

Serveur de socket

À des fins de démonstration, nous créons un serveur de socket qui affiche un message « Hello, Wolrd ! » message.

def web_page():
  html = """<html><head><meta name="viewport" content="width=device-width, initial-scale=1"</head><body><h1>Hello, World!</h1></body></html>"""
  return html

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind(('', 80))
s.listen(5)

while True:
  conn, addr = s.accept()
  print('Got a connection from %s' % str(addr))
  request = conn.recv(1024)
  print('Content = %s' % str(request))
  response = web_page()
  conn.send(response)
  conn.close()

Connexion au point d’accès (AP)

Après avoir téléchargé le code en tant que boot.py à votre carte ESP32 ou ESP8266, dans votre smartphone ouvrez vos paramètres Wi-Fi et appuyez sur le MicroPython-AP réseau:

Connexion au point d'accès ESP32 ou ESP8266 (AP) à l'aide de MicroPython

Saisissez le mot de passe que vous avez défini précédemment.

Se connecter au point d'accès MicroPython Insérer le mot de passe

Ouvrez votre navigateur Web et tapez l’adresse IP http://192.168.4.1. La page du serveur Web doit se charger :

Test du navigateur Web MicroPython Access Point (AP)

Vous devriez avoir un message similaire sur le Shell :

Informations de débogage du navigateur Web MicroPython Access Point (AP)

Emballer

Dans ce didacticiel, vous avez appris à configurer vos cartes EPS32 ou ESP8266 en tant que point d’accès logiciel (soft-AP) à l’aide de MicroPython. Si vous souhaitez apprendre à faire de même avec Arduino IDE, lisez les guides suivants :

En savoir plus sur MicroPython avec nos ressources :

Merci d’avoir lu.