掌控板制作可访问网页

2019-06-258737
AI 快速预览详细 收起
本文介绍了如何使用掌控板的ESP32芯片和MicroPython制作一个可访问的网页。首先,连接已知的WiFi并分配到一个IP地址。然后,使用socket模块进行TCP通讯,并在浏览器中打开预设的网页。通过这个项目,您可以快速入门网络编程,并在实践中学习相关技术。


掌控板主芯片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]

效果如下:
掌控板制作可访问网页图1

创作许可协议

本项目采用 None(不开放任何权利,保留所有权利) 进行许可。

评论(9)
Mr-k
Mr-k
厉害厉害
三春牛-创客
三春牛-创客
怎么用mind+做?
KkQ1VrB7W776
KkQ1VrB7W776
我哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇哇
KkQ1VrB7W776
KkQ1VrB7W776
哈啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊
pedpan
pedpan
怎么用Mind+玩http
gada888
gada888
新玩法哦
laai
laai
很棒,希望指导下开关控制方法!
yywudao
yywudao
作者
回复laai
sunkf
sunkf
掌控新玩法
rzyzzxw
rzyzzxw
哇哦,小豪老师很棒棒哦。

- 没有更多了 -