【发布时间】:2021-12-07 21:56:04
【问题描述】:
我正在使用 Raspberry Pi Pico 在 MicroPython 上处理 CircuitPython 库。我正在使用 Wiznett 5500(以太网模块)和 Esp01(wifi 模块)。当我尝试 jsonplaceholder 的 api 时,Wiznett 可以在 4.5 秒内获得请求,而 ESP01 可以在 1.6 秒内获得请求。当我尝试我真正的 api Wiznett 5500 可以在 1 分钟内获得请求,而 Esp01 可以在 1.6 秒内获得请求。我的api真的快到微秒了,我不明白wiznett为什么1分钟就能拿到数据。
import board
import busio
import digitalio
import adafruit_requests as requests
from adafruit_wiznet5k.adafruit_wiznet5k import WIZNET5K
import adafruit_wiznet5k.adafruit_wiznet5k_socket as socket
import gc
from machine import UART,Pin
import time
print("Wiznet5k WebClient Test")
uart = UART(0, rx=Pin(1), tx=Pin(0), baudrate=115200,rxbuf=512)
while True:
//wiznett's code:
JSON_URL = "http://jsonplaceholder.typicode.com/todos/1"
cs = digitalio.DigitalInOut(board.GP13)
spi_bus = busio.SPI(board.GP10, MOSI=board.GP11, MISO=board.GP12)
eth = WIZNET5K(spi_bus,cs)
requests.set_socket(socket, eth)
print("Fetching json from", JSON_URL)
r = requests.get(JSON_URL)
print(r.json())
r.close()
gc.collect()
print("Done!")
// Esp's code:
time.sleep(1)
gc.collect()
uart.write("https://jsonplaceholder.typicode.com/todos/1"+"\n")
gc.collect()
print(uart.read())
【问题讨论】:
-
Wiznet W5500 的界面很糟糕,而且连接速度很慢。对于任何非平凡大小的传输,它都会很糟糕。
-
它可以从 jsonplaceholder 4,5 秒获取数据,这对我来说很好,但它从我的 api 获得 1 分钟。我想通过请求得到的是 {"exampleexa":888.8}。 Tim Roberts 你对以太网模块有什么建议?
标签: python http-get micropython raspberry-pi-pico