3743| 8
|
[入门教程] 掌控板制作可访问网页控制板载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灯的状态。 代码示例如下: [mw_shl_code=python,true]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()[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) 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[0] = (255, 0, 0) rgb.write() if led_off == 6: print('LED OFF') rgb[0] = (0, 0, 0) rgb.write() conn.send(CONTENT) conn.close()[/mw_shl_code] 效果如下: |
© 2013-2025 Comsenz Inc. Powered by Discuz! X3.4 Licensed