From 79a7f25fc81362d0802c946b9f660af055a86548 Mon Sep 17 00:00:00 2001 From: brentru Date: Thu, 4 Mar 2021 18:16:13 -0500 Subject: [PATCH 1/2] add simpletest for rp2040 --- examples/esp32spi_simpletest_rp2040.py | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 examples/esp32spi_simpletest_rp2040.py diff --git a/examples/esp32spi_simpletest_rp2040.py b/examples/esp32spi_simpletest_rp2040.py new file mode 100644 index 0000000..eb0df98 --- /dev/null +++ b/examples/esp32spi_simpletest_rp2040.py @@ -0,0 +1,25 @@ +import board +import busio +from digitalio import DigitalInOut + +from adafruit_esp32spi import adafruit_esp32spi +import adafruit_requests as requests + +print("Raspberry Pi 2040 - ESP32SPI hardware test") + +esp32_cs = DigitalInOut(board.GP13) +esp32_ready = DigitalInOut(board.GP14) +esp32_reset = DigitalInOut(board.GP15) + +spi = busio.SPI(clock=board.GP10, MOSI=board.GP11, MISO=board.GP12) +esp = adafruit_esp32spi.ESP_SPIcontrol(spi, esp32_cs, esp32_ready, esp32_reset) + +if esp.status == adafruit_esp32spi.WL_IDLE_STATUS: + print("ESP32 found and in idle mode") +print("Firmware vers.", esp.firmware_version) +print("MAC addr:", [hex(i) for i in esp.MAC_address]) + +for ap in esp.scan_networks(): + print("\t%s\t\tRSSI: %d" % (str(ap['ssid'], 'utf-8'), ap['rssi'])) + +print("Done!") \ No newline at end of file From dd2ae19d855adde745a3954f572e1825a20ad201 Mon Sep 17 00:00:00 2001 From: brentru Date: Fri, 5 Mar 2021 11:31:37 -0500 Subject: [PATCH 2/2] add rp2040 ex. for guide --- examples/esp32spi_simpletest_rp2040.py | 58 +++++++++++++++++++++++--- 1 file changed, 52 insertions(+), 6 deletions(-) diff --git a/examples/esp32spi_simpletest_rp2040.py b/examples/esp32spi_simpletest_rp2040.py index eb0df98..eb52592 100644 --- a/examples/esp32spi_simpletest_rp2040.py +++ b/examples/esp32spi_simpletest_rp2040.py @@ -1,25 +1,71 @@ +# SPDX-FileCopyrightText: 2019 ladyada for Adafruit Industries +# SPDX-License-Identifier: MIT + import board import busio from digitalio import DigitalInOut - -from adafruit_esp32spi import adafruit_esp32spi import adafruit_requests as requests +import adafruit_esp32spi.adafruit_esp32spi_socket as socket +from adafruit_esp32spi import adafruit_esp32spi + +# Get wifi details and more from a secrets.py file +try: + from secrets import secrets +except ImportError: + print("WiFi secrets are kept in secrets.py, please add them there!") + raise -print("Raspberry Pi 2040 - ESP32SPI hardware test") +print("Raspberry Pi RP2040 - ESP32 SPI webclient test") +TEXT_URL = "http://wifitest.adafruit.com/testwifi/index.html" +JSON_URL = "http://api.coindesk.com/v1/bpi/currentprice/USD.json" + +# Raspberry Pi RP2040 Pinout esp32_cs = DigitalInOut(board.GP13) esp32_ready = DigitalInOut(board.GP14) esp32_reset = DigitalInOut(board.GP15) -spi = busio.SPI(clock=board.GP10, MOSI=board.GP11, MISO=board.GP12) +spi = busio.SPI(board.GP10, board.GP11, board.GP12) esp = adafruit_esp32spi.ESP_SPIcontrol(spi, esp32_cs, esp32_ready, esp32_reset) +requests.set_socket(socket, esp) + if esp.status == adafruit_esp32spi.WL_IDLE_STATUS: print("ESP32 found and in idle mode") print("Firmware vers.", esp.firmware_version) print("MAC addr:", [hex(i) for i in esp.MAC_address]) for ap in esp.scan_networks(): - print("\t%s\t\tRSSI: %d" % (str(ap['ssid'], 'utf-8'), ap['rssi'])) + print("\t%s\t\tRSSI: %d" % (str(ap["ssid"], "utf-8"), ap["rssi"])) + +print("Connecting to AP...") +while not esp.is_connected: + try: + esp.connect_AP(secrets["ssid"], secrets["password"]) + except RuntimeError as e: + print("could not connect to AP, retrying: ", e) + continue +print("Connected to", str(esp.ssid, "utf-8"), "\tRSSI:", esp.rssi) +print("My IP address is", esp.pretty_ip(esp.ip_address)) +print( + "IP lookup adafruit.com: %s" % esp.pretty_ip(esp.get_host_by_name("adafruit.com")) +) +print("Ping google.com: %d ms" % esp.ping("google.com")) + +# esp._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!") \ No newline at end of file +print("Done!")