Настраиваем микроконтроллер ESP8266 в качестве точки доступа, выводим WEB страничку.

Страница на этапе разработки

В данном уроке мы настроим наш микроконтроллер в качестве  точки доступа.
Команда network.WLAN используется для настройки WiFi-соединения и имеет один параметр: network.STA_IF или network.AP_IF. Первый  используется для станции — когда ESP8266 подключается к маршрутизатору, а второй для точки доступа  — для подключения других устройств к ESP8266.
Команда active(True) активируйте интерфейс станции, а после командой config(essid=ssid, password=password) подключаемся к сети Wi-Fi или задаем параметры для точки доступа.
Команда active() — проверяет активность интерфейса.
Команда ifconfig() выдает нам сетевые настройки интерфейса.
После мы с Вами создаем сокет: socket.socket(socket.AF_INET, socket.SOCK_STREAM), далее указываем порт и количество соединений который может принят сокет.
Запускаем прием данных: conn, addr = s.accept()
Указываем, что мы п
ринимаем данные от клиента по 1024 байт: request = conn.recv(1024)
После отправки нашей WEB странички, закрываем соединение: conn.close()

Теперь напишем программный код и посмотрим, что у нас выйдет:

import socket
import machine
import time from machine
try:
import usocket as socket
except:
import socket

import network

import esp
esp.osdebug(None)

import gc
gc.collect()

ssid = ‘MicroPython’
password = ‘12345678’

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

while ap.active() == False:
time.sleep(0.1)

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(‘HTTP/1.1 200 Ok\n’)
conn.send(‘Content-Type: text/html\n’)
conn.send(‘Connection: close\n\n’)
conn.sendall(response)
conn.close()