我们的ESP32开发板是拥有WIFI和蓝牙功能的。这里我们先告诉大家如何将ESP32开发板连接到我们家里的无线路由器上,并和连接到家里无线路由器的一台电脑进行通讯。

一、环境

        ESP32开发板+Thonny IDE+Win10+网络调试助手工具

        后面设备联网的基本信息:开发板IP: 192.168.104, 电脑IP: 192.168.0.101, 无线路由器为TP-Link(其他任意品牌也可)

二、整体通讯架构

        

 三、ESP32开发板无线模式

        分位两种模式:

Access Point(AP) 无线接入点 模式,相当于手机开启了WIFI热点,其他的设备可以连接到这个WIFI上。或者说家里的无线路由器也是AP。

Station(STA) 无线终端 模式, 相当于我们的手机连接到我们家里的无线路由器。

四、连接WIFI

大家可以参考官方文档,进行学习。记住,官方文档一定要看。

 我们参考以上编写我们的代码,连接到家里的WIFI:

import network

# 为开发板创建网络,模式为STA模式
wlan = network.WLAN(network.STA_IF) # create station interface
# 激活STA
wlan.active(True)       # activate the interface
# ESP32开发板扫描网络
wlan.scan()             # scan for access points
# 判断是否连接。没连接上返回false
wlan.isconnected()      # check if the station is connected to an AP
# 连接网络,ssid指WIFI名字,key指密码
wlan.connect('ssid', 'key') # connect to an AP
# 连接后,获取ESP32开发板的MAC地址
wlan.config('mac')      # get the interface's MAC address
# 获取开发板的IP地址,子网掩码,网关,DNS
wlan.ifconfig()         # get the interface's IP/netmask/gw/DNS addresses

打开Thonny编辑器,输入以上代码,添加一些打印信息,方便知道是否连接成功,并获得一些信息。接着保存运行。

 

 五、测试

        我们应该怎么去测试开发板通过WIFI给我们的电脑,相互传数据呢?

下面我们使用一个工具: 网络调试助手,来实现。

下载链接:NetAssist网络调试助手 V5.0.3-软件工具-野人家园 (cmsoft.cn)icon-default.png?t=M85Bhttp://www.cmsoft.cn/resource/102.html        1, 开发板给电脑发送数据

打开后如下设置即可:

 点击open后,放在桌面上

下面准备进行测试,使用Thonny,从开发板给电脑发送数据

from socket import *

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

# 准备接收方的地址,即家里电脑的IP地址
dest_addr = ('192.168.31.56', 8080)

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

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

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

 这个时候我们看到返回了一个“12”(你也许是其他数字),即代表我们发送成功,然后在网络调试助手上就可以看到我们发送的数据:

         2,电脑给开发板发送数据

那么我们可以通过电脑给开发板发送数据不?答案当然是可以的。

我们现在Thonny上,把开发板设为接收数据状态, 然后打开网络调试助手,输入我们想要发送的信息:

在网络助手上输入数据,然后发送:

 发送后Thonny交互模式会发生变化

 然后我们打印出接收到的数据:

 到这里我们就可以实现开发板和电脑进行通讯,开发板拥有了网络功能就可以写很复杂的应用。是不是很有趣啊。

最后实验完成关闭我们的udp套接字:

 

更多推荐