W5100S + PoE

转发: My own analog web favorites
项目介绍

这次,我参与了一个项目,可以让我一键打开我想要的网站。
我选择了四个我经常去的网站。
硬件
我连接了按钮和可变电阻,如下所示。 这是一个任何人都可以轻松完成的模块。

我做了一个简单的按钮。 上拉3.3V。
用作 MCU 的板是 Raspberry Pi Pico 板。 这是一块可以轻松产生令人难以置信的性能的主板。


它连接到 Pico 板。 我用硅完成了它以固定它。Pico板连接到W5100S板。 这是使用以太网的最佳方式。
以太网
W5100S用于以太网通信。 您只需使用下面的链接即可使用以太网。

W5100S-EVB-Pico | WIZnet Document System
固件

Raspberry Pi Documentation - MicroPython
我是在microPython环境中完成的。 为此需要执行一些简单的任务。 幸运的是,上面的链接很容易解释它。
现在,让我们开始固件配置。
from usocket import socket
from machine import Pin,SPI,ADC
import network
import time
button_pin1 = machine.Pin(27, machine.Pin.IN, machine.Pin.PULL_UP)
adc = machine.ADC(28)
导入所需的库并设置 GPIO 和 ADC 引脚。
def client_loop(query):
s = socket()
s.connect(('192.168.0.4', 5000)) # Destination IP Address
#data = query.encode('utf-8')
query_str = str(query)
query_bytes = query_str.encode('utf-8')
s.send(query_bytes)
s.close()
然后它创建一个函数来将设备写入为客户端。 当然,这些示例也在 WIZnet Git 上共享。
if button_pin1.value() == 0:
analog_value = adc.read_u16()
print("Button 1 pressed. Sending data: %d" % analog_value)
client_loop(analog_value)
time.sleep(3)
现在,在主语句中,当按下按钮时,进入运行状态。 只需按下按钮即可读取并发送当前 ADC 值。
Raspberry Pi Pico 的 ADC 是 12 位。 你可以选择Vref,所以我认为按照你想要的设计它会很好。

我将其设置为3.3V,通过电压分配读取1.5至3.3V,并使用ADC。
现在这是服务器端固件。
from socket import *
import webbrowser
import time
chrome_path = "C:/Program Files/Google/Chrome/Application/chrome.exe"
url1 = "https://maker.wiznet.io/"
url2 = "https://github.com/"
url3 = "https://www.google.com"
url4 = "https://www.raspberrypi.com/news/page/3/"
确定要打开的浏览器路径,并将网站保存到变量中。
try:
data = connectionSock.recv(1024)
if not data:
break
print(f"recv data: {data.decode('utf-8')}")
data_int = int(data.decode('utf-8'))
url = url1
if data_int < 57402:
url = url2
if data_int < 49269:
url = url3
if data_int < 41136:
url = url4
webbrowser.register('chrome', None, webbrowser.GenericBrowser(chrome_path))
webbrowser.get('chrome').open(url)
time.sleep(3)
print("server closed1.")
except ConnectionResetError:
print("Client disconnected: {addr}")
break
然后根据你收到的ADC值编写代码打开网站。
完成!
文件
本文介绍了一个项目,使用RaspberryPiPico和W5100S以太网模块,通过ADC读取按钮输入,实现在按下时自动切换浏览四个预设网站。作者提供了硬件连接、MicroPython固件配置和服务器端代码实现。
1946

被折叠的 条评论
为什么被折叠?



