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 now = datetime.datetime.utcnow();
75 time0 = now-datetime.timedelta(0,0*60); # datetime.datetime(2014,2,3, 3,0,0)
76 time1 = now-datetime.timedelta(0,1*60); # datetime.datetime(2014,2,3, 3,1,0)
77 time2 = now-datetime.timedelta(0,2*60); # datetime.datetime(2014,2,3, 3,2,0)
78 time3 = now-datetime.timedelta(0,3*60); # datetime.datetime(2014,2,3, 3,3,0)
79 time4 = now-datetime.timedelta(0,4*60); # datetime.datetime(2014,2,3, 3,4,0)
80 time5 = now-datetime.timedelta(0,5*60); # datetime.datetime(2014,2,3, 3,4,0)
81 time6 = now-datetime.timedelta(0,6*60); # datetime.datetime(2014,2,3, 3,4,0)
82 time7 = now-datetime.timedelta(0,7*60); # datetime.datetime(2014,2,3, 3,4,0)
83 time8 = now-datetime.timedelta(0,8*60); # datetime.datetime(2014,2,3, 3,4,0)
84 time9 = now-datetime.timedelta(0,9*60); # datetime.datetime(2014,2,3, 3,4,0)
88 self.api = XivelyAPIClient(self.api_key)
89 self.feed = self.api.feeds.get(self.feed_id)
93 acc = Datastream(id='test_acc')
95 Datapoint(self.time0, [00, 1, 1]),
96 Datapoint(self.time1, [10, 2, 2]),
97 Datapoint(self.time2, [20, 3, 3]),
98 Datapoint(self.time3, [30, 4, 4]),
99 Datapoint(self.time4, [40, 5, 5]),
100 Datapoint(self.time5, [50, 5, 5]),
101 Datapoint(self.time6, [60, 5, 5]),
102 Datapoint(self.time7, [70, 5, 5]),
103 Datapoint(self.time8, [80, 5, 5]),
104 Datapoint(self.time9, [90, 5, 5]),
107 mag = Datastream(id='test_mag')
109 Datapoint(self.time0, 00),
110 Datapoint(self.time1, 10),
111 Datapoint(self.time2, 20),
112 Datapoint(self.time3, 30),
113 Datapoint(self.time4, 40),
114 Datapoint(self.time5, 50),
115 Datapoint(self.time6, 60),
116 Datapoint(self.time7, 70),
117 Datapoint(self.time8, 80),
118 Datapoint(self.time9, 90),
121 self.feed.datastreams = [ acc, mag ]
126 stream = self.feed.datastreams.get('test_acc')
127 points = stream.datapoints.history( \
128 start=self.time0, end=self.time4, interval=0)
132 value = p._data['value']
133 print('item: ' + str(time) + ' - ' + value)
136 for test in sys.argv[1:]: