12 from gi.repository import Gtk
13 from gi.repository import GLib
15 from serial import Serial
17 from xively import XivelyAPIClient
18 from xively import Datastream
19 from xively import Datapoint
25 label = Gtk.Label('Hello, world!')
27 window.connect('destroy', self.quit)
43 self.serial = Serial(self.port, baudrate = self.baud)
45 def write(self, line):
46 data = bytes(line+'\n', 'UTF-8')
47 self.serial.write(data)
51 self.write('stop light')
52 self.write('stop touch')
55 self.serial.flushInput()
57 line = self.serial.readline()
58 print('>> [' + line.decode().strip() + ']')
61 # https://xively.com/dev/docs/api/quick_reference/api_resources/
62 # https://xively.com/dev/docs/api/data/write/multiple_datapoints_to_multiple_data_streams/
63 # https://github.com/xively/xively-python/blob/master/docs/index.rst
67 api_key = 'Py7atAQt2vAI5AFeWsUJMDqpIE1Dra5b0rPzlnr2ZDvDDoI5'
70 time0 = datetime.datetime(2014,2,3, 3,0,0)
71 time1 = datetime.datetime(2014,2,3, 3,1,0)
72 time2 = datetime.datetime(2014,2,3, 3,2,0)
73 time3 = datetime.datetime(2014,2,3, 3,3,0)
74 time4 = datetime.datetime(2014,2,3, 3,4,0)
78 self.api = XivelyAPIClient(self.api_key)
79 self.feed = self.api.feeds.get(self.feed_id)
83 acc = Datastream(id='acc')
85 Datapoint(self.time0, [1, 1, 1]),
86 Datapoint(self.time1, [2, 2, 2]),
87 Datapoint(self.time2, [3, 3, 3]),
88 Datapoint(self.time3, [4, 4, 4]),
89 Datapoint(self.time4, [5, 5, 5]),
92 mag = Datastream(id='mag')
94 Datapoint(self.time0, [1, 1, 1]),
95 Datapoint(self.time1, [2, 2, 2]),
96 Datapoint(self.time2, [3, 3, 3]),
97 Datapoint(self.time3, [4, 4, 4]),
98 Datapoint(self.time4, [5, 5, 5]),
101 self.feed.datastreams = [ acc, mag ]
106 stream = self.feed.datastreams.get('acc')
107 points = stream.datapoints.history( \
108 start=self.time0, end=self.time4, interval=0)
112 value = p._data['value']
113 print('item: ' + str(time) + ' - ' + value)
116 for test in sys.argv[1:]: