youngsoul / PyParticleIO

Python ParticleIO cloud API
Other
14 stars 5 forks source link

=================================================================== PyParticleIO: Python package to interface with the ParticleIO cloud

PyPI Package to search for is: PyParticleIO

Install

pip install PyParticleIO

PyParticleIO is an Open Source licensed Python package that provides a class to interface with the ParticleIO cloud

This ParticleCloud class is meant to be a minimal python implementation to access a Particle devices (Core, Photon, Electron) functions, variables and events.

::

Inspired heavily from:

https://github.com/Alidron/spyrk/blob/master/spyrk/spark_cloud.py

-- Thank you for sharing your implementation

Create Instance of ParticleCloud

particle_cloud = ParticleCloud(access_token) particle_cloud = ParticleCloud(username, password)

List Devices

particle_cloud.devices

Call a function

particle_cloud.internet_button1.ledOn('led1')

Get a variable value

particle_cloud.internet_button1.buttonCount

Subscribe for a device specific event.

def callback(event_data): print("event callback")

particle_cloud.internet_button1.subscribe("button1", callback)

Subscribe for a non-device specific event

particle_cloud.internet_button1.cloud_subscribe("button2", callback)

Publish an event to the cloud

particle_cloud.internet_button1.publish("do_rainbow")

Test Project

An example usage: ::

from pyparticleio.ParticleCloud import ParticleCloud
access_token = "Your Access Token Here"

particle_cloud = ParticleCloud(username_or_access_token=access_token)

all_devices = particle_cloud.devices
for device in all_devices:
    print("Device: {0}".format(device))

print("done")

Example usage behind a proxy server: ::

from pyparticleio.ParticleCloud import ParticleCloud
access_token = "Your Access Token Here"
proxy_dict = {
    "proxies": {
        "https": "Your HTTPS Proxy Address Here"  # like "https://192.168.1.1:8080"
    }
}

particle_cloud = ParticleCloud(username_or_access_token=access_token, **proxy_dict)

all_devices = particle_cloud.devices
for device in all_devices:
    print("Device: {0}".format(device))

print("done")