Sign Up - Xively
https://personal.xively.com/signup
Install software:
opkg update opkg install python-openssl opkg install distribute easy_install xively-python easy_install requests
nano /mnt/sda1/temp.py
#!/usr/bin/python import os import xively import subprocess import time import datetime import requests import sys #FEED_ID = "YOURFEEDID" #API_KEY = "YOURAPIKEY" # initialize api client api = xively.XivelyAPIClient(API_KEY) def read_temperature(): temperature = sys.argv[1] return temperature # function to return a datastream object. This either creates a new datastream, # or returns an existing one def get_datastream(feed): try: datastream = feed.datastreams.get("TemperatureSensor") return datastream except: datastream = feed.datastreams.create("TemperatureSensor", tags="temperature") return datastream # main program entry point - runs continuously updating our datastream with the # latest temperature reading def run(): feed = api.feeds.get(FEED_ID) datastream = get_datastream(feed) datastream.max_value = None datastream.min_value = None degreesCelcius = read_temperature() datastream.current_value = degreesCelcius datastream.at = datetime.datetime.utcnow() try: datastream.update() except requests.HTTPError as e: print "HTTPError({0}): {1}".format(e.errno, e.strerror) run()
chmod 755 /mnt/sda1/temp.py
Testing:
/mnt/sda1/temp.py 80
ATmega32u4 code:
#include <Process.h> void setup() { Bridge.begin(); // Initialize Bridge } void loop() { Process p; // Create a process and call it "p" p.begin("/mnt/sda1/temp.py"); // Process that launch the "pythonsqlite3.py" command p.addParameter("90"); // Add the parameter to "Temp" p.run(); // Run the process and wait for its termination delay(10000); }
Comments powered by CComment