import socket
import time
import network
import machine
def start_ap():
启动AP模式
ap = network.WLAN(network.AP_IF)
ap.active(True)
ssid = 'ESP32_APTest'
password = '12345678'
ap.config(essid=ssid, password=password)
设置其他可选参数
ap.config(authmode=3) # wpa2-PSK
ap.config(max_clients=10) # 最大客户端连接数
print('AP模式已启动')
print('SSID:', ssid)
print('IP地址:', ap.ifconfig()[0])
def start_udp():
初始化UDP套接字
udp_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
udp_socket.bind(("0.0.0.0", 7788))
return udp_socket
def main():
主函数
start_ap() # 启动AP模式
udp_socket = start_udp() # 初始化UDP套接字
led = machine.Pin(2, machine.Pin.OUT) # 初始化LED引脚
while True:
recv_data, sender_info = udp_socket.recvfrom(1024) # 接收UDP数据
print("{}发送{}".format(sender_info, recv_data))
recv_data_str = recv_data.decode("utf-8") # 将接收到的数据解码为字符串
try:
print(recv_data_str) # 打印接收到的字符串
except Exception as ret:
print("解码错误:", ret)
根据接收到的指令控制LED
if recv_data_str == "light on":
print("LED灯亮起")
led.value(1)
elif recv_data_str == "light off":
print("LED灯熄灭")
led.value(0)
if name == "main":
main()