无线功能很方便,但有时需要有线连接的强大可靠性。如果您的项目将成为永久安装的一部分,则需要向项目中添加以太网网络。
以太网非常易于使用 -没有网络配置或设备配对。只需将标准以太网电缆插入以太网FeatherWing或以太网屏蔽,然后使用CircuitPython Wiznet5k库即可快速可靠地进行联网。
CircuitPython已经构建了一个模块,该模块与WIZnet 5k系列TCP / IP以太网控制器兼容,可以使您的项目快速上线。连接几秒钟后,模块将为您执行DHCP设置。您也可以为该模块提供静态分配的网络配置。
注意:CircuitPython目前不支持SSL / TLS连接。
使用方法
代码: 全选
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
print("Wiznet5k WebClient Test")
TEXT_URL = "http://wifitest.adafruit.com/testwifi/index.html"
JSON_URL = "http://api.coindesk.com/v1/bpi/currentprice/USD.json"
cs = digitalio.DigitalInOut(board.D10)
spi_bus = busio.SPI(board.SCK, MOSI=board.MOSI, MISO=board.MISO)
# Initialize ethernet interface with DHCP
eth = WIZNET5K(spi_bus, cs)
# Initialize a requests object with a socket and ethernet interface
requests.set_socket(socket, eth)
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 adafruit.com: %s" %eth.pretty_ip(eth.get_host_by_name("adafruit.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("Fetching json from", JSON_URL)
r = requests.get(JSON_URL)
print('-'*40)
print(r.json())
print('-'*40)
r.close()
print("Done!")