TrashNotes

2025-04-12 07:34:18
#ok #ETH2040 simple connect
#Adafruit CircuitPython 10.0.0-alpha.2 on 2025-04-04; W5100S-EVB-Pico with rp2040
#Board ID:wiznet_w5100s_evb_pico

Данный код написан на CircuitPython и предназначен для подключения к Ethernet с помощью модуля Wiznet5k на плате W5100S-EVB-Pico с микроконтроллером RP2040. Он демонстрирует базовую функциональность отправки HTTP-запроса и получения текста с веб-сервера. Ниже приведен анализ кода:

Обзор функциональности
Ethernet инициализация: Код инициализирует Ethernet-интерфейс с помощью библиотеки adafruit_wiznet5k и настраивает его для работы с DHCP.

HTTP-запрос: Создает HTTP-сессию и отправляет GET-запрос на указанный URL ( http://ur4uqu.com/time/ ), выводя полученный текст.

DNS-lookup: Проверяет возможность выполнить DNS-lookup для домена ur4uqu.com.




import board
import busio
import digitalio
import adafruit_connection_manager
import adafruit_requests
from adafruit_wiznet5k.adafruit_wiznet5k import WIZNET5K

print("Wiznet5k WebClient Test")

TEXT_URL = "http://ur4uqu.com/time/ "

cs = digitalio.DigitalInOut(board.GP17)
spi_bus = busio.SPI(board.GP18, MOSI=board.GP19, MISO=board.GP16)

# Initialize ethernet interface with DHCP
eth = WIZNET5K(spi_bus, cs)

# Initialize a requests session
pool = adafruit_connection_manager.get_radio_socketpool(eth)
ssl_context = adafruit_connection_manager.get_radio_ssl_context(eth)
requests = adafruit_requests.Session(pool, ssl_context)

print("Chip Version:", eth.chip)
print("MAC Address:", [hex(i) for i in eth.mac_address])
print("My IP address is:", eth.pretty_ip(eth.ip_address))
print("IP lookup ur4uqu.com: %s" % eth.pretty_ip(eth.get_host_by_name("ur4uqu.com")))

#eth._debug = True
print("Fetching text from", TEXT_URL)
r = requests.get(TEXT_URL)
print("-" * 40)
print(r.text)
print("-" * 40)
r.close()

print()

print("Done!")
← Previous Next →
Back to list