Страница на этапе разработки
В данном уроке мы настроим наш микроконтроллер в качестве точки доступа.
Команда 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()