Simple test

Ensure your device works with this simple test.

examples/fona_simpletest.py
 1# SPDX-FileCopyrightText: 2021 ladyada for Adafruit Industries
 2# SPDX-License-Identifier: MIT
 3
 4# pylint: disable=unused-import
 5import time
 6import board
 7import busio
 8import digitalio
 9import adafruit_connection_manager
10import adafruit_requests
11from adafruit_fona.adafruit_fona import FONA
12from adafruit_fona.fona_3g import FONA3G
13import adafruit_fona.adafruit_fona_network as network
14import adafruit_fona.adafruit_fona_socket as pool
15
16print("FONA Webclient Test")
17
18TEXT_URL = "http://wifitest.adafruit.com/testwifi/index.html"
19JSON_URL = "http://api.coindesk.com/v1/bpi/currentprice/USD.json"
20
21# Get GPRS details and more from a secrets.py file
22try:
23    from secrets import secrets
24except ImportError:
25    print("GPRS secrets are kept in secrets.py, please add them there!")
26    raise
27
28# Create a serial connection for the FONA connection
29uart = busio.UART(board.TX, board.RX)
30rst = digitalio.DigitalInOut(board.D4)
31
32# Use this for FONA800 and FONA808
33fona = FONA(uart, rst)
34
35# Use this for FONA3G
36# fona = FONA3G(uart, rst)
37
38# Initialize cellular data network
39network = network.CELLULAR(
40    fona, (secrets["apn"], secrets["apn_username"], secrets["apn_password"])
41)
42
43while not network.is_attached:
44    print("Attaching to network...")
45    time.sleep(0.5)
46print("Attached!")
47
48while not network.is_connected:
49    print("Connecting to network...")
50    network.connect()
51    time.sleep(0.5)
52print("Network Connected!")
53
54print("My IP address is:", fona.local_ip)
55print("IP lookup adafruit.com: %s" % fona.get_host_by_name("adafruit.com"))
56
57# create requests session
58ssl_context = adafruit_connection_manager.create_fake_ssl_context(pool, fona)
59requests = adafruit_requests.Session(pool, ssl_context)
60
61# fona._debug = True
62print("Fetching text from", TEXT_URL)
63r = requests.get(TEXT_URL)
64print("-" * 40)
65print(r.text)
66print("-" * 40)
67r.close()
68
69print()
70print("Fetching json from", JSON_URL)
71r = requests.get(JSON_URL)
72print("-" * 40)
73print(r.json())
74print("-" * 40)
75r.close()
76
77print("Done!")