Created
January 17, 2020 00:18
-
-
Save joeycastillo/a9c8143ca01d33e737d48b490dbf465b to your computer and use it in GitHub Desktop.
Fetch a weather forecast for the New York area with CircuitPython!
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import board | |
import busio | |
from digitalio import DigitalInOut | |
import adafruit_esp32spi.adafruit_esp32spi_socket as socket | |
from adafruit_esp32spi import adafruit_esp32spi | |
import adafruit_requests as requests | |
esp32_cs = DigitalInOut(board.D13) | |
esp32_reset = DigitalInOut(board.D12) | |
esp32_ready = DigitalInOut(board.D11) | |
spi = busio.SPI(board.SCK, board.MOSI, board.MISO) | |
esp = adafruit_esp32spi.ESP_SPIcontrol(spi, esp32_cs, esp32_ready, esp32_reset) | |
requests.set_socket(socket, esp) | |
while not esp.is_connected: | |
try: | |
esp.connect_AP(b'YOUR_SSID', b'YOUR_PASSWORD') | |
except RuntimeError as e: | |
continue | |
def print_weather(url): | |
r = requests.get(url) | |
print("Fetching:", url) | |
j = r.json() | |
periods = j['properties']['periods'] | |
for period in periods: | |
print('-'*10) | |
print(period['name'], ':', period['detailedForecast']) | |
print_weather("https://api.weather.gov/gridpoints/OKX/34,34/forecast") |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment