import network
import socket
import time
# 1. 这里是那个“假”图片数据(红点像素),Python里用 b'' 表示字节
fake_image = b'\xff\xd8\xff\xe0\x00\x10\x4a\x46\x49\x46\x00\x01\x01\x01\x00\x48\x00\x48\x00\x00\xff\xdb\x00\x43\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc0\x00\x11\x08\x00\x01\x00\x01\x03\x01\x22\x00\x02\x11\x01\x03\x11\x01\xff\xc4\x00\x15\x00\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07\xff\xc4\x00\x14\x10\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xda\x00\x0c\x03\x01\x00\x02\x11\x03\x11\x00\x3f\x00\x9f\xff\xd9'
# 2. 连接 WiFi
print("Connecting to WiFi", end="")
wlan = network.WLAN(network.STA_IF)
wlan.active(True)
wlan.connect("Wokwi-GUEST", "")
while not wlan.isconnected():
print(".", end="")
time.sleep(0.1)
print("\nWiFi Connected!")
print("IP Address:", wlan.ifconfig()[0])
# 3. 启动 Web 服务器
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind(('', 80)) # 监听 80 端口
s.listen(5)
print("Server started! Waiting for connections...")
while True:
conn, addr = s.accept() # 接收连接
# print('Got a connection from %s' % str(addr))
request = conn.recv(1024) # 读取请求内容
request = str(request)
# 4. 判断请求是不是 /capture
if 'GET /capture' in request:
print("Sending fake image...")
# 发送 HTTP 头
conn.send(b'HTTP/1.1 200 OK\r\n')
conn.send(b'Content-Type: image/jpeg\r\n')
conn.send(b'Connection: close\r\n\r\n')
# 发送图片数据
conn.send(fake_image)
else:
# 如果不是请求图片,就发个简单的文字
conn.send(b'HTTP/1.1 200 OK\r\nContent-Type: text/plain\r\n\r\nHello from MicroPython ESP32!')
conn.close()