12 if sys.version_info<(3,0,0):
16 from gi.repository import Gtk
17 from gi.repository import GLib
19 from serial import Serial
21 from xively import XivelyAPIClient
22 from xively import Datastream
23 from xively import Datapoint
29 label = Gtk.Label('Hello, world!')
31 window.connect('destroy', self.quit)
47 self.serial = Serial(self.port, baudrate = self.baud)
49 def write(self, line):
50 data = bytes(line+'\n', 'UTF-8')
51 self.serial.write(data)
55 self.write('stop light')
56 self.write('stop touch')
59 self.serial.flushInput()
61 line = self.serial.readline()
62 print('>> [' + line.decode().strip() + ']')
65 # https://xively.com/dev/docs/api/quick_reference/api_resources/
66 # https://xively.com/dev/docs/api/data/write/multiple_datapoints_to_multiple_data_streams/
67 # https://github.com/xively/xively-python/blob/master/docs/index.rst
71 api_key = 'Py7atAQt2vAI5AFeWsUJMDqpIE1Dra5b0rPzlnr2ZDvDDoI5'
74 time0 = datetime.datetime(2014,2,3, 3,0,0)
75 time1 = datetime.datetime(2014,2,3, 3,1,0)
76 time2 = datetime.datetime(2014,2,3, 3,2,0)
77 time3 = datetime.datetime(2014,2,3, 3,3,0)
78 time4 = datetime.datetime(2014,2,3, 3,4,0)
82 self.api = XivelyAPIClient(self.api_key)
83 self.feed = self.api.feeds.get(self.feed_id)
87 acc = Datastream(id='acc')
89 Datapoint(self.time0, [1, 1, 1]),
90 Datapoint(self.time1, [2, 2, 2]),
91 Datapoint(self.time2, [3, 3, 3]),
92 Datapoint(self.time3, [4, 4, 4]),
93 Datapoint(self.time4, [5, 5, 5]),
96 mag = Datastream(id='mag')
98 Datapoint(self.time0, [1, 1, 1]),
99 Datapoint(self.time1, [2, 2, 2]),
100 Datapoint(self.time2, [3, 3, 3]),
101 Datapoint(self.time3, [4, 4, 4]),
102 Datapoint(self.time4, [5, 5, 5]),
105 self.feed.datastreams = [ acc, mag ]
110 stream = self.feed.datastreams.get('acc')
111 points = stream.datapoints.history( \
112 start=self.time0, end=self.time4, interval=0)
116 value = p._data['value']
117 print('item: ' + str(time) + ' - ' + value)
120 for test in sys.argv[1:]: