Simple python script to curl pin values

here it is,…simple but maybe a starter for someone

import os, time, subprocess
import simplejson as json
from subprocess import PIPE

CORE_ID = '<<your spark id>>'
CORE_TOKEN = '<< your token>>'
url = u'https://api.spark.io/v1/devices/' + CORE_ID + '/digitalwrite -d access_token=' + CORE_TOKEN + ' -d params=D1,HIGH'
f = subprocess.Popen('curl ' + url, stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=True)

time.sleep(1)

url = u'https://api.spark.io/v1/devices/' + CORE_ID + '/digitalwrite -d access_token=' + CORE_TOKEN + ' -d params=D1,LOW'

analogpins = ["A0", "A1", "A2", "A3", "A4", "A5", "A6", "A7"]

f = subprocess.Popen('curl ' + url, stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=True)

for x in analogpins:
    
    url = u'https://api.spark.io/v1/devices/' + CORE_ID + '/analogread -d access_token=' + CORE_TOKEN + ' -d params='+x
    f = subprocess.Popen('curl ' + url, stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=True)
    (stdout, stderr) = f.communicate()
    ex = json.loads(stdout)

    print x, ex['return_value']



digitalpins = ["D0", "D1", "D2", "D3", "D4", "D5", "D6", "D7"]
for x in digitalpins:
    
    url = u'https://api.spark.io/v1/devices/' + CORE_ID + '/digitalread -d access_token=' + CORE_TOKEN + ' -d params='+x
    f = subprocess.Popen('curl ' + url, stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=True)
    (stdout, stderr) = f.communicate()
    ex = json.loads(stdout)

    print x, ex['return_value']
3 Likes

Thanks @klofisch ! This is really handy.

this works for Linux. If u encounter problems with the verification of ssl-certificate on windows change

'curl ' + url ...

to

'curl  -k ' + url