WI-FI 链接

作者: gavin 分类: esp32 发布时间: 2022-12-02 13:32

一、WI-FI 工作模式

Wi-Fi是基于IEEE 802.11标准的无线网络技术 让联网设备以无线电波的形式,加入采用TCP/IP通信协议的网络

Wi-Fi网络环境通常有两种设备

  • Access Point(AP) 无线接入点,提供无线接入的设备,家里的光猫就是结合WiFi和internet路由功能的AP。AP和AP可以相互连接。
  • Station(STA) 无线终端,连接到AP的装置,手机,电脑等需要联网的设备都是出于STA模式,这个模式不允许其他设备接入

官方文档地址:http://docs.micropython.org/en/latest/esp32/quickref.html

二、SSID

BSSID就是无线路由器的MAC地址(本质是一个MAC地址

SSID就是手机上搜索到的wifi名字(本质是一串字符

ESSID是一个比较抽象的概念,它实际上就和ssid相同(本质也是一串字符)。如果有好几个无线路由器都叫这个名字,那么我们就相当于把这个ssid扩大了,所以这几个无线路由器共同的这个名字就叫ESSID

打个比方:

  • SSID就好比是每个连锁店的门口招牌上写的字(例如:阿迪达斯)
  • ESSID就是连锁店的牌子(例如:阿迪达斯)
  • BSSID就是每个连锁店的地址(比如万达广场店,襄阳路店)

连锁店的品牌名与写到招牌上的名就相当于ESSID和SSID

三、链接WI-FI路由器

import network

wlan = network.WLAN(network.STA_IF) # create station interface
wlan.active(True)       # activate the interface
wlan.scan()             # scan for access points
wlan.isconnected()      # check if the station is connected to an AP
wlan.connect('essid', 'password') # connect to an AP
wlan.config('mac')      # get the interface's MAC address
wlan.ifconfig()         # get the interface's IP/netmask/gw/DNS addresses

注意:

  • 当前的ESP32不支持5G路由器,所以链接的时候要注意这一点,否则连不上
  • 可以将自己的手机开热点让ESP32链接

四、测试

网络调试助手下载地址:http://www.cmsoft.cn/resource/102.html

Python网络开发课件地址:https://doc.itprojects.cn/0001.zhishi/python.0006.networkprogram/index.html

from socket import *

# 1. 创建udp套接字
udp_socket = socket(AF_INET, SOCK_DGRAM)

# 2. 准备接收方的地址
dest_addr = ('192.168.31.56', 8080)

# 3. 从键盘获取数据
send_data = "hello world"

# 4. 发送数据到指定的电脑上
udp_socket.sendto(send_data.encode('utf-8'), dest_addr)

# 5. 关闭套接字
udp_socket.close()

以上代码需要在命令行里运行,直接写入编辑器运行会报错

原文地址:https://doc.itprojects.cn/0006.zhishi.esp32/02.doc/index.html#/04.wifi.sta