MicroPython:Платы/ESP8266/Руководство по MicroPython для ESP8266/Основы работы с сетью
Основы работы с сетью[1]
Для настройки WiFi-соединения в порте MicroPython для ESP8266 используется модуль network. Вы можете создать WiFi-интерфейсы двух видов: для станции (когда ESP8266 подключается к роутеру) и для точки доступа (чтобы к ESP8266 могли подключиться другие устройства). Экземпляры этих объектов создаются следующим образом:
>>> import network
>>> sta_if = network.WLAN(network.STA_IF)
>>> ap_if = network.WLAN(network.AP_IF)
То, активны ли эти интерфейсы, можно проверить следующим образом:
>>> sta_if.active()
False
>>> ap_if.active()
True
Вы также можете узнать сетевые настройки интерфейса:
>>> ap_if.ifconfig()
('192.168.4.1', '255.255.255.0', '192.168.4.1', '8.8.8.8')
Этот метод вернет следующие значения: IP-адрес, маску подсети, сетевой шлюз и DNS-сервер.
Настройка WiFi
При каждой новой установке прошивки ESP8266 настраивается как точка доступа, т.е. интерфейс AP_IF (режим точки доступа) будет активным, а интерфейс STA_IF (режим станции) – неактивным. При помощи интерфейса STA_IF модуль можно настроить таким образом, чтобы он подключался к вашей сети.
Сначала активируйте режим станции:
>>> sta_if.active(True)
Затем подключитесь к своей WiFi-сети:
>>> sta_if.connect('<ESSID вашей сети>', '<пароль к вашей сети>')
Чтобы проверить, успешно ли выполнено подключение, используйте:
>>> sta_if.isconnected()
Когда связь будет установлена, можно узнать IP-адрес:
>>> sta_if.ifconfig()
('192.168.0.2', '255.255.255.0', '192.168.0.1', '8.8.8.8')
После этого можно отключить интерфейс точки доступа, если он вам больше не нужен:
>>> ap_if.active(False)
Вот этой функцией можно пользоваться (или просто вписать ее в файл «boot.py»), чтобы автоматически подключаться к своей WiFi-сети:
def do_connect():
import network
sta_if = network.WLAN(network.STA_IF)
if not sta_if.isconnected():
print('подключаемся к сети...')
sta_if.active(True)
sta_if.connect('<essid>', '<пароль>')
while not sta_if.isconnected():
pass
print('настройки сети:', sta_if.ifconfig())
Сокеты
Когда WiFi-связь будет установлена, доступ к сети будет осуществляться с помощью сокетов. Сокет – это конечная точка на сетевом устройстве, и чтобы начать коммуникацию, два сокета должны подключиться друг к другу. Сокеты служат фундаментом для интернет-протоколов вроде SMTP (электронная почта), HTTP (сеть), TELNET, SSH и многих других. В каждом из этих протоколов используется уникальный порт (обычное целое число). Таким образом, зная IP-адрес и номер порта, вы можете дистанционно подключиться к устройству и начать с ним «общаться».
В следующей части руководства мы поговорим о том, как использовать сокеты для выполнения полезных и часто встречающихся сетевых задач.
См.также
развернутьПартнерские ресурсы |
---|