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
 4import time
 5from os import getenv
 6
 7import adafruit_connection_manager
 8import adafruit_requests
 9import board
10import busio
11import digitalio
12
13import adafruit_fona.adafruit_fona_network as network
14import adafruit_fona.adafruit_fona_socket as pool
15from adafruit_fona.adafruit_fona import FONA
16from adafruit_fona.fona_3g import FONA3G
17
18print("FONA Webclient Test")
19
20TEXT_URL = "http://wifitest.adafruit.com/testwifi/index.html"
21JSON_URL = "http://api.coindesk.com/v1/bpi/currentprice/USD.json"
22
23# Get FONA details, ensure these are setup in settings.toml
24apn = getenv("apn")
25apn_username = getenv("apn_username")
26apn_password = getenv("apn_password")
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(fona, (apn, apn_username, apn_password))
40
41while not network.is_attached:
42    print("Attaching to network...")
43    time.sleep(0.5)
44print("Attached!")
45
46while not network.is_connected:
47    print("Connecting to network...")
48    network.connect()
49    time.sleep(0.5)
50print("Network Connected!")
51
52print("My IP address is:", fona.local_ip)
53print(f"IP lookup adafruit.com: {fona.get_host_by_name('adafruit.com')}")
54
55# create requests session
56ssl_context = adafruit_connection_manager.create_fake_ssl_context(pool, fona)
57requests = adafruit_requests.Session(pool, ssl_context)
58
59# fona._debug = True
60print("Fetching text from", TEXT_URL)
61r = requests.get(TEXT_URL)
62print("-" * 40)
63print(r.text)
64print("-" * 40)
65r.close()
66
67print()
68print("Fetching json from", JSON_URL)
69r = requests.get(JSON_URL)
70print("-" * 40)
71print(r.json())
72print("-" * 40)
73r.close()
74
75print("Done!")