在RaspberryPi Pico SIMPLE 网络服务器RGB LED 控制项目中,我们将使用WIZnet W5100S、WIZ810Sio并且我们将在我们的以太网 LAN 上创建一个小型 http 网络服务器,它将通过交互式网络界面控制 RGB LED。
参考下面的连接。
此代码基于 Adafruit wsgi 测试代码。https://github.com/adafruit/Adafruit_CircuitPython_Wiznet5k/blob/main/examples/wiznet5k_wsgiserver_test.py
1.将所有 /lib 目录复制并粘贴到您的 RaspberryPi 驱动器中
2.从https://github.com/bjnhur/pico-W5500/blob/main/Pico_W5100S_wsgiserver_test.py或以下代码部分复制代码
3.将代码粘贴到您的 RaspberryPi 上的code.py中。
4.保存!完毕
在代码中,如果您想更改端点 url 地址或添加您的端点,您可以在简单的网络服务器上修改以下代码。只需更改“YOUR_ENDPOINT”和“YOUR_ENDPOINT_FUNC”字符串。
@web_app.route("YOURURL_ENDPOINT")
def YOURURL_ENDPOINT_FUNC(request): # pylint: disable=unused-argument
print("LED handler")
return ("200 OK", [], ["hello endpoint"])
示例是:从 url 获取
@web_app.route("/led/" )
def led_on(request, color): # pylint: disable=unused-argument
print("LED handler")
color_value = int(color, 16)
pixels.fill(color_value)
pixels.show()
html_string_led = html_string.replace("#000000", "#"+color)
return ("200 OK", [], [html_string_led])
如果您更改页面视图,您只需更改代码上的“html_string”变量。
html_string = '''
html>
<html lang="en">
<head>
...
<p>
<a href="/code">View code.pya>
p>
...
body>
html>
'''
如果代码没问题,您可以从 Pico board 的 REPL 中看到以下日志。(REPL打开请参考本页“如何将W5500以太网添加到Raspberry Pi Pico (Python) - 1” - 6. REPL, Open serial terminal for printf() )
在您的 PC 上,打开浏览器(推荐 Chrome)。
在浏览器上输入您的开发板 IP。我从我的 DHCP 服务器获得了“192.168.0.18”。
让我们改变 LED 颜色。单击“颜色选择器”颜色框,然后您可以看到如下颜色选择器。根据需要选择颜色。
然后,单击“更改颜色”链接。
看你的LED~~~
简单的网络服务器还有 2 个功能。
1. RaspberryPi Pico USB 驱动器中的文件读取。
点击 "View code.py" ,然后你可以在你的 RaspberryPi Pico 板上看到 "code.py"。
2. 从其他 Web 服务获取 JSON 数据。
点击“currentprice/USD.json”链接,可以看到来自http://api.coindesk.com/v1/bpi/currentprice/USD.json的JSON数据
完毕。享受演示代码~~~ :)
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
全部0条评论
快来发表一下你的评论吧 !