5619| 10
|
[入门教程] 掌控板制作可访问网页 |
本帖最后由 yywudao 于 2019-6-25 21:41 编辑 掌控板主芯片ESP32自带WiFi功能,利用micropython的socket模块,可以进行TCP通讯。 掌控板连接已知的WiFi,分配到一个ip地址,用浏览器进入这个ip地址,可以打开一个预制在主程序里的网页。 [mw_shl_code=python,true]import socket import network, time from mpython import * SSID = "输入WiFi名称" PASSWORD = "输入密码" mywifi = wifi() mywifi.connectWiFi(SSID, PASSWORD) # 制作网页内容 CONTENT = """<!DOCTYPE HTML> <html> <head><meta charset = "utf-8"> <title>掌控Demo</title> </head> <body> <h1>Hello World!</h1> </body> </html> """ addr_info = socket.getaddrinfo(mywifi.sta.ifconfig()[0], 80) print("Bind address info: ", addr_info) addr = addr_info[0][-1] # 上面的代码可组合为: # addr = socket.getaddrinfo(mywifi.sta.ifconfig()[0], 80)[0][-1] # 提取掌控板分配到的ip地址,端口号定义为80 s = socket.socket() s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) s.bind(addr) # 绑定ip和端口号 s.listen(5) # 开启监听并设置最大连接数 print("Listening, connect to http://%s:80/" %addr[0]) oled.fill(0) oled.DispChar('Connect on', 0, 0) oled.DispChar('http://%s'%addr[0], 0, 16) # 掌控板显示分配到的ip地址 oled.show() while True: res = s.accept() client_s = res[0] client_addr = res[1] print("Client address: ", client_addr) print("Client socket: ", client_s) req = client_s.recv(4096) print("Request: ") print(req) client_s.send(CONTENT) # 当访问掌控板分配到的ip地址时,显示预制作的网页 client_s.close()[/mw_shl_code] 效果如下: ![]() |
© 2013-2025 Comsenz Inc. Powered by Discuz! X3.4 Licensed