Advertisement
majorcornwallace

Untitled

Jan 18th, 2014
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.56 KB | None | 0 0
  1. #
  2. # some intro python for connecting to xively
  3. # uses my "read only" api key so I can share data
  4. #
  5. # code based on API details from Xively
  6. #
  7.  
  8. import os
  9. import xively
  10. import subprocess
  11. import time
  12. import datetime
  13. import requests
  14. import pylab
  15.  
  16. # extract feed_id and api_key from environment variables
  17. #FEED_ID = os.environ["FEED_ID"]
  18. #API_KEY = os.environ["API_KEY"]
  19. #
  20.  
  21. FEED_ID = 585978764
  22. API_KEY = "6zW6qoPCIsFJOcVackY9FUfDhjHWlCxIteHTSRi77RzpXShx"
  23. DEBUG = False
  24.  
  25. # initialize api client
  26. api = xively.XivelyAPIClient(API_KEY)
  27.  
  28. # function to return a datastream object. This either creates a new datastream,
  29. # or returns an existing one
  30. def get_datastream(feed,stream_name):
  31.   try:
  32.     datastream = feed.datastreams.get(stream_name)
  33.     if DEBUG:
  34.       print "Found existing datastream"
  35.     return datastream
  36.   except:
  37.     if DEBUG:
  38.       print "Creating new datastream"
  39.     datastream = feed.datastreams.create("load_avg", tags="load_01")
  40.     return datastream
  41.  
  42. # main program entry point - runs continuously updating our datastream with the
  43. # current 1 minute load average
  44. def xivelyRead(datastream_list):
  45.   print "Getting Xively Data"
  46.   feed = api.feeds.get(FEED_ID)
  47.   for stream_name in datastream_list:
  48.     datastream = get_datastream(feed,stream_name)
  49.     try:
  50.       print ("{0}: {1}".format(stream_name, datastream.current_value))
  51.     except requests.HTTPError as e:
  52.       print("HTTPError({0}): {1}".format(e.errno, e.strerror))
  53.     time.sleep(10)
  54.  
  55. sensor_feeds = ["CO","Dust","NO2","Humidity","Temperature"]
  56.  
  57. xivelyRead(sensor_feeds)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement