玩转micropython系列_MicroPython 玩转硬件系列5:WIFI实验

1.引言

作为ESP32的主打功能,本篇我们来介绍WIFI的简单使用 。

2.环境介绍

ESP32 小板:

Micro USB线:

3.WIFI连接

我先用手机开了一个WIFI热点,名字是Honor 8,密码是12345678。通过以下语句去连接手机WIFI热点。

importnetwork

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 interfaces MAC address

wlan.ifconfig()# get the interfaces IP/netmask/gw/DNS addresses

其中第六条语句,这里对应为:

wlan.connect(Honor 8, 12345678)

之后可以查看连接情况:

再看一下分配的IP地址:

这样就表示连接成功了。

4.Socket通信

让我的电脑也连接到手机热点,查看下其IP地址:

之后就可以进行ESP32和PC机之间的UDP通信了。

代码如下:

importsocket

port =10086

s=socket.socket(socket.AF_INET, socket.SOCK_DGRAM)

s.bind((192.168.43.25,port))#绑定端口

print(waiting...)

whileTrue:#接收数据

data,addr=s.recvfrom(1024)

print(received:,data,from,addr)

s.sendto(data,addr)

PC端同时打开网络调试助手:

可以实现的功能为:ESP32接收PC发送的数据,同时回传到PC端。

再把上述代码合成一个整体,以后就可以直接运行了:

importnetwork

importsocket

port=10086

wlan = network.WLAN(network.STA_IF)

wlan.active(True)

wlan.connect(Honor 8,12345678)

whilenotwlan.isconnected():

pass

ip = wlan.ifconfig()[0]

print(ip)

s=socket.socket(socket.AF_INET, socket.SOCK_DGRAM)

s.setsockopt(socket.SOL_SOCKET,socket.SO_REUSEADDR,1)

s.bind((ip,port))

print(waiting....)

whileTrue:

data,addr=s.recvfrom(1024)

print(received:,data,from,addr)

s.sendto(data,addr)

5.总结

6.参考资料

http://docs.micropython.org/en/latest/esp32/quickref.html#

https://www.jianshu.com/p/0613f3f3f4ba

1.引言 作为ESP32的主打功能,本篇我们来介绍WIFI的简单使用 。 2.环境介绍 ESP32 小板: Micro USB线: 3.WIFI连接 我先用手机开了一个WIFI热点,名字是Honor 8,密码是12345678。通过以下语句去连接手机WIFI热点。 importnetwork 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 interfaces MAC address wlan.ifconfig()# get the interfaces IP/netmask/gw/DNS addresses 其中第六条语句,这里对应为: wlan.connect(Honor 8, 12345678) 之后可以查看连接情况: 再看一下分配的IP地址: 这样就表示连接成功了。 4.Socket通信 让我的电脑也连接到手机热点,查看下其IP地址: 之后就可以进行ESP32和PC机之间的UDP通信了。 代码如下: importsocket port =10086 s=socket.socket(socket.AF_INET, socket.SOCK_DGRAM) s.bind((192.168.43.25,port))#绑定端口 print(waiting...) whileTrue:#接收数据 data,addr=s.recvfrom(1024) print(received:,data,from,addr) s.sendto(data,addr) PC端同时打开网络调试助手: 可以实现的功能为:ESP32接收PC发送的数据,同时回传到PC端。 再把上述代码合成一个整体,以后就可以直接运行了: importnetwork importsocket port=10086 wlan = network.WLAN(network.STA_IF) wlan.active(True) wlan.connect(Honor 8,12345678) whilenotwlan.isconnected(): pass ip = wlan.ifconfig()[0] print(ip) s=socket.socket(socket.AF_INET, socket.SOCK_DGRAM) s.setsockopt(socket.SOL_SOCKET,socket.SO_REUSEADDR,1) s.bind((ip,port)) print(waiting....) whileTrue: data,addr=s.recvfrom(1024) print(received:,data,from,addr) s.sendto(data,addr) 5.总结 6.参考资料 http://docs.micropython.org/en/latest/esp32/quickref.html# https://www.jianshu.com/p/0613f3f3f4ba
经验分享 程序员 微信小程序 职场和发展