MicroPython 玩转硬件系列5:WIFI实验

简介: MicroPython 玩转硬件系列5:WIFI实验

1.引言

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

2.环境介绍

ESP32 小板:

Micro USB线:

3.WIFI连接

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

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

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

wlan.connect('Honor 8', '12345678')

之后可以查看连接情况:

再看一下分配的IP地址:

这样就表示连接成功了。

4.Socket通信

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

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

代码如下:

import socket
port = 10086
s=socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
s.bind(('192.168.43.25',port))  #绑定端口
print('waiting...')
while True:         #接收数据
        data,addr=s.recvfrom(1024)
        print('received:',data,'from',addr)
        s.sendto(data,addr)

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

可以实现的功能为:ESP32接收PC发送的数据,同时回传到PC端。再把上述代码合成一个整体,以后就可以直接运行了:

import network
import socket
port=10086
wlan = network.WLAN(network.STA_IF)
wlan.active(True)
wlan.connect('Honor 8', '12345678')
while not wlan.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....')
while True:
    data,addr=s.recvfrom(1024)
    print('received:',data,'from',addr)
    s.sendto(data,addr)

5.总结

本篇介绍了ESP32 WIFI使用,实现了UDP通信功能 ,下一篇介绍如何获取天气信息。

6.参考资料

http://docs.micropython.org/en/latest/esp32/quickref.html#https://www.jianshu.com/p/0613f3f3f4ba  

相关文章
|
2月前
|
调度
【技术探讨】无线通信模块拉距测试,是否一定要带笔记本电脑?
对于Sub-G的无线模块通常通信距离较远可以达到公里级甚至数公里之远,而笔记本的续航时间通常是2-3个小时,很多用户测试到一半,不得不提前终止测试,回去给笔记本电脑充电
|
7月前
|
Python
MicroPython 玩转硬件系列4:串口小实验
MicroPython 玩转硬件系列4:串口小实验
|
7月前
|
C语言 Python Windows
MicroPython 玩转硬件系列2:点灯实验
MicroPython 玩转硬件系列2:点灯实验
|
7月前
|
网络协议 物联网 Linux
嵌入式Linux系列第9篇:使用WIFI
嵌入式Linux系列第9篇:使用WIFI
|
11月前
|
监控 网络协议 安全
【毕设参考】使用ESP32 + HaaS Python 通过 Modbus 控制强电工业设备 实现低碳节能系统
【毕设参考】使用ESP32 + HaaS Python 通过 Modbus 控制强电工业设备 实现低碳节能系统
161 0
基于wemos的Arduino环境WIFI控制小车前后左右源码
基于wemos的Arduino环境WIFI控制小车前后左右源码
96 0
基于wemos的Arduino环境WIFI控制小车前后左右源码
|
网络协议 物联网 5G
教你如何进行嵌入式网络模块的联网操作
教你如何进行嵌入式网络模块的联网操作
169 0
教你如何进行嵌入式网络模块的联网操作
西门子S7-1200硬件的组态,设备配置、网络组态
今天我们来学习西门子S7-1200硬件的组态。在S7-1200中当用户新建一个项目时,应当先进行硬件组态,硬件组态是编写项目程序的基础。在STEP7 Basic中,硬件组态遵循所见即所得的原则,PLC和HMI设备都能在相同的环境以相同的方式插入列项目中。
西门子S7-1200硬件的组态,设备配置、网络组态
单片机:红外遥控实验(内含红外遥控介绍+硬件原理+软件编程+配置环境)
单片机:红外遥控实验(内含红外遥控介绍+硬件原理+软件编程+配置环境)
178 0
单片机:红外遥控实验(内含红外遥控介绍+硬件原理+软件编程+配置环境)
|
存储 物联网 人机交互
BT+WIFI双模芯片——W800开发板上手体验
开发资料获取方式:https://occ.t-head.cn/——搜索w800——点击搜搜出来的结果——资源下载——其中包含了所需要的主要资料。其中《W800快速上手手册》最为详细
BT+WIFI双模芯片——W800开发板上手体验