目标:实现网页端速度实时显示以及可以通过点击页面按键达到对小车的位移方位控制。
一、ESP32代码
首先,需要让ESP32连接到WiFi,这样才能为后续的操作做准备。
ssid="xxxxxx"
password="xxxxxx"
#WIFI连接
def wifi_connect():
wlan=network.WLAN(network.STA_IF) #STA模式
if not wlan.isconnected():
print("conneting to network...")
wlan.active(True) #激活
wlan.connect(ssid,password) #输入 WIFI 账号密码
while not wlan.isconnected():
time.sleep(10)
return False
else:
print("network information:", wlan.ifconfig())
return True
上面代码中ssid:WiFi账号;password:WiFi密码。
可以在if __name__=="__main__":下进行对应的判断,当连接成功后进行接下来的操作。
当WiFi连接好后,可以启动自己的WEB服务端,设置好对应的参数。
# 启动Web服务器
def start_server():
s=socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind(("",3389))
s.listen(3)
while True:
cl, addr = s.accept()
#print('Client connected from', addr)
request = cl.recv(1024)
request = str(request)
go = request.find("go")
back = request.find("back")
left = request.find("left")
right = request.find("right")
stop = request.find("stop")
Inst_jud([go,back,left,right,stop])
if '/data' in request:
response = get_data()
cl.send('HTTP/1.0 200 OK\r\nContent-type: application/json\r\n\r\n')
cl.send(response)
elif 'GET /' in request:
cl.send('HTTP/1.0 200 OK\r\nContent-type: text/html\r\n\r\n')
cl.send(web_page())
cl.close()
在这部分,需要设置是tcp还是udp,确定好端口号以及可以监听到的数量。然后可以打印出自己的addr,在同一局域网下输入http://IP:3389,就可以访问自己的页面,那么这个页面如何写呢,可以简单学一下前端相关的知识,在本人的博客中也有对应的教程,可以了解一下。
#网页数据
def web_page():
global mytime
html = """<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>TOMAS语音控制系统</title>
<script