Skip to content
master
Go to file
Code

Latest commit

* Regenerate client from commit ab1acf2 of spec repo

* Dummy commit

Co-authored-by: ArduinoBot <arduinobot@arduino.cc>
Co-authored-by: Fabrizio Mirabito <f.mirabito@arduino.cc>
f68f051

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
img
 
 
 
 
 
 
 
 
 
 

README.md

Arduino iot-api Python client

Requirements

  • Python 3.7+

Installation

You can install the package directly from Github (you may need to run pip with sudo):

pip install arduino-iot-client

Getting Started

Authentication

The client requires a valid access token, you can use requests-oauthlib to get one, to install the library do:

pip install requests-oauthlib

After installing the library you can use this Python code to get a token:

from oauthlib.oauth2 import BackendApplicationClient
from requests_oauthlib import OAuth2Session

oauth_client = BackendApplicationClient(client_id=YOUR_CLIENT_ID)
token_url = "https://api2.arduino.cc/iot/v1/clients/token"

oauth = OAuth2Session(client=oauth_client)
token = oauth.fetch_token(
    token_url=token_url,
    client_id=YOUR_CLIENT_ID,
    client_secret=YOUR_CLIENT_SECRET,
    include_client_id=True,
    audience="https://api2.arduino.cc/iot",
)

print(token.get("access_token"))

Once you get a token, you can create an instance of the iot-api client:

import iot_api_client as iot
from iot_api_client.rest import ApiException
from iot_api_client.configuration import Configuration

# configure and instance the API client
client_config = Configuration(host="https://api2.arduino.cc/iot")
client_config.access_token = YOUR_ACCESS_TOKEN
client = iot.ApiClient(client_config)

# as an example, interact with the devices API
devices_api = iot.DevicesV2Api(client)

try:
    resp = devices_api.devices_v2_list()
    print(resp)
except ApiException as e:
    print("Got an exception: {}".format(e))

For a working example, see the example folder in this repo.

How to get Arduino IoT Cloud Client Credentials

You can generate Arduino IoT Cloud Client Credentials in the ARDUINO API section in the IoT Cloud things section:

Step 1

IoT Cloud Site

Step 2

IoT Cloud Site

Step 3

IoT Cloud Site

You can’t perform that action at this time.