掌控板制作可访问网页控制板载RGB灯
本帖最后由 yywudao 于 2019-6-27 17:14 编辑上篇文章有简单的介绍掌控板制作可访问网页,可以通过在网页内添加带超链接按钮的方式,来实现通过网页控制掌控的各引脚状态或者板载RGB灯。
总体思路为:
在网页内制作两个按钮,分别为“ON”和“OFF”,赋予"/?led=on"和“/?led=off”的属性。
在socket通讯程序内指定"/?led=on"和“/?led=off”对应的“点亮RGB灯”、“关闭RGB灯”的实际程序代码。
浏览器输入掌控板分配到的ip地址,在网页内点击“ON”、“OFF”按钮,控制板载RGB灯的状态。
代码示例如下:
import socket
import network
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>掌控 Web Server</h1>
<p><a href="/?led=on"><button class="button">ON</button></a></p>
<p><a href="/?led=off"><button class="button button2">OFF</button></a></p>
</body>
</html>
"""
addr_info = socket.getaddrinfo(mywifi.sta.ifconfig(), 80)
print("Bind address info: ", addr_info)
addr = addr_info[-1]
# 上面的代码可组合为:
# addr = socket.getaddrinfo(mywifi.sta.ifconfig(), 80)[-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)
oled.fill(0)
oled.DispChar('Connect on', 0, 0)
oled.DispChar('http://%s'%addr, 0, 16)
oled.show()
while True:
conn, addr = s.accept()
print('Got a connection from %s' % str(addr))
request = conn.recv(1024)
request = str(request)
print('Content = %s' %request)
led_on = request.find('/?led=on')
led_off = request.find('/?led=off')
if led_on == 6:
print('LED ON')
rgb = (255, 0, 0)
rgb.write()
if led_off == 6:
print('LED OFF')
rgb = (0, 0, 0)
rgb.write()
conn.send(CONTENT)
conn.close()
效果如下:
大神,跟定你了! laai 发表于 2019-6-27 17:24
大神,跟定你了!
萌新。我也是看国外教程改改在掌控板上验证验证 大神无疑.鉴定完毕 yywudao 发表于 2019-6-27 17:14
上篇文章有简单的介绍掌控板制作可访问网页,可以通过在网页内添加带超链接按钮的方式,来实现通过网页控制 ...
实在太厉害了,我要做你坚定的粉丝。 厉害了 我想到谢老师分享的视频,ppt点亮RGB灯
rzegkly 发表于 2019-7-1 17:16
我想到谢老师分享的视频,ppt点亮RGB灯
跟谢老师那个应该是异曲同工 不错的分享
页:
[1]