m2x 2.0.1 → 2.0.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +4 -6
- data/lib/m2x/stream.rb +2 -2
- data/lib/m2x/version.rb +1 -1
- data/lib/megatest.rb +36 -39
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a9b3171048b83b4ed8005c46ea14d79d14e5c4ca
|
4
|
+
data.tar.gz: f60bfea82d2192e0cae29ec6d3108aba5c1d74e7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 092ef245aaec30611adc11997565d669797e303204dd1b28db883c55fcc9feb5a4c29b8c1627869beec68b819a0e69a76d5637a202cb5eca30eb7673762fee5e
|
7
|
+
data.tar.gz: b1bf2a416fea48dd56146385c75c012b9eee7eaef12668012a9328f2900313778eacafeb285a42ebf2715ec93368d7f04b46656d9cd96c6bd91cb6e79823c910
|
data/README.md
CHANGED
@@ -1,9 +1,8 @@
|
|
1
|
-
# AT&T
|
1
|
+
# AT&T M2X Ruby Client
|
2
2
|
|
3
|
-
[AT&T
|
4
|
-
|
5
|
-
This library aims to provide a simple wrapper to interact with the [AT&T M2X API](https://m2x.att.com/developer/documentation/overview) for [Ruby](https://www.ruby-lang.org/en/). Refer to the [Glossary of Terms](https://m2x.att.com/developer/documentation/glossary) to understand the nomenclature used throughout this documentation.
|
3
|
+
[AT&T M2X](http://m2x.att.com) is a cloud-based fully managed time-series data storage service for network connected machine-to-machine (M2M) devices and the Internet of Things (IoT).
|
6
4
|
|
5
|
+
The [AT&T M2X API](https://m2x.att.com/developer/documentation/overview) provides all the needed operations and methods to connect your devices to AT&T's M2X service. This library aims to provide a simple wrapper to interact with the AT&T M2X API for [Ruby](https://www.ruby-lang.org/en/). Refer to the [Glossary of Terms](https://m2x.att.com/developer/documentation/glossary) to understand the nomenclature used throughout this documentation.
|
7
6
|
|
8
7
|
Getting Started
|
9
8
|
==========================
|
@@ -65,8 +64,7 @@ API_KEY=<YOUR-API-KEY> DEVICE=<YOUR-DEVICE-ID> ./m2x-uptime.rb
|
|
65
64
|
#! /usr/bin/env ruby
|
66
65
|
|
67
66
|
#
|
68
|
-
# See https://github.com/attm2x/m2x-ruby
|
69
|
-
# for instructions
|
67
|
+
# See https://github.com/attm2x/m2x-ruby#example for instructions
|
70
68
|
#
|
71
69
|
|
72
70
|
require "time"
|
data/lib/m2x/stream.rb
CHANGED
@@ -71,13 +71,13 @@ class M2X::Client::Stream < M2X::Client::Resource
|
|
71
71
|
end
|
72
72
|
|
73
73
|
# Update the current value of the stream. The timestamp
|
74
|
-
# is optional. If
|
74
|
+
# is optional. If omitted, the current server time will be used
|
75
75
|
#
|
76
76
|
# https://m2x.att.com/developer/documentation/v2/device#Update-Data-Stream-Value
|
77
77
|
def update_value(value, timestamp=nil)
|
78
78
|
params = { value: value }
|
79
79
|
|
80
|
-
params[:
|
80
|
+
params[:timestamp] = timestamp if timestamp
|
81
81
|
|
82
82
|
@client.put("#{path}/value", nil, params, "Content-Type" => "application/json")
|
83
83
|
end
|
data/lib/m2x/version.rb
CHANGED
data/lib/megatest.rb
CHANGED
@@ -3,8 +3,8 @@
|
|
3
3
|
require "time"
|
4
4
|
require "pp"
|
5
5
|
|
6
|
-
require "m2x"
|
7
|
-
|
6
|
+
# require "m2x"
|
7
|
+
require_relative "./m2x"
|
8
8
|
|
9
9
|
$m2x = M2X::Client.new("cdc032a8d7bfbf1ce5948a8c474eaa25")
|
10
10
|
$running = true
|
@@ -14,11 +14,11 @@ stop = Proc.new { $running = false }
|
|
14
14
|
trap(:INT, &stop)
|
15
15
|
trap(:TERM, &stop)
|
16
16
|
|
17
|
-
|
17
|
+
5.times do |i|
|
18
18
|
break unless $running
|
19
19
|
puts "Creating device #{i}"
|
20
20
|
|
21
|
-
device = $m2x.create_device(name: "Test Device #{i}", description: "Some test device", visibility: "
|
21
|
+
device = $m2x.create_device(name: "Test Device #{i}", description: "Some test device", visibility: "private")
|
22
22
|
fail $m2x.last_response.inspect if $m2x.last_response.error?
|
23
23
|
|
24
24
|
device = $m2x.device(device["id"])
|
@@ -37,48 +37,45 @@ end
|
|
37
37
|
|
38
38
|
puts "All devices created"
|
39
39
|
|
40
|
+
arduino = $m2x.create_device(name: "My Arduinos", description: "Some test device", visibility: "private")
|
41
|
+
puts arduino.create_stream("temperature")
|
42
|
+
puts arduino.create_stream("humidity")
|
43
|
+
puts arduino.create_stream("loudness")
|
40
44
|
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
45
|
+
arduino.post_updates({
|
46
|
+
values: {
|
47
|
+
temperature: [
|
48
|
+
{ timestamp: (Time.now - 2).iso8601, value: rand(0..37) },
|
49
|
+
{ timestamp: (Time.now + 2).iso8601, value: rand(0..37) }
|
50
|
+
],
|
51
|
+
humidity: [
|
52
|
+
{ timestamp: (Time.now - 3).iso8601, value: rand(0..100) },
|
53
|
+
{ timestamp: (Time.now + 3).iso8601, value: rand(0..100) }
|
54
|
+
]
|
55
|
+
},
|
56
|
+
location: { latitude: 80.3712, longitude: 100, elevation: 300 }
|
57
|
+
})
|
47
58
|
|
48
|
-
|
49
|
-
# values: {
|
50
|
-
# temperature: [
|
51
|
-
# { timestamp: (Time.now - 2).iso8601, value: rand(0..37) },
|
52
|
-
# { timestamp: (Time.now + 2).iso8601, value: rand(0..37) }
|
53
|
-
# ],
|
54
|
-
# humidity: [
|
55
|
-
# { timestamp: (Time.now - 3).iso8601, value: rand(0..100) },
|
56
|
-
# { timestamp: (Time.now + 3).iso8601, value: rand(0..100) }
|
57
|
-
# ]
|
58
|
-
# },
|
59
|
-
# location: { latitude: 80.3712, longitude: 100, elevation: 300 }
|
60
|
-
# })
|
59
|
+
loudness = arduino.stream("loudness")
|
61
60
|
|
62
|
-
|
61
|
+
loudness.post_values(1000.times.map{ |i| { timestamp: (Time.now + i).iso8601, value: rand(0..120) } })
|
63
62
|
|
64
|
-
|
63
|
+
loudness.update_value(rand(90..9999))
|
65
64
|
|
66
|
-
|
65
|
+
raspberries = $m2x.create_distribution(name: "Raspberries", description: "Group of raspberries", visibility: "private")
|
67
66
|
|
68
|
-
|
67
|
+
all_raspberries = 10.times.map{ |i| raspberries.add_device(i.to_s) }
|
69
68
|
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
# device.update_location(latitude: rand(-90..90), longitude: rand(-180..180), elevation: rand(0..7000))
|
74
|
-
# end
|
69
|
+
all_raspberries.each do |device|
|
70
|
+
device.update_location(latitude: rand(-90..90), longitude: rand(-180..180), elevation: rand(0..7000))
|
71
|
+
end
|
75
72
|
|
76
|
-
|
77
|
-
|
78
|
-
|
73
|
+
pp loudness.stats.json
|
74
|
+
pp loudness.sampling(interval: 1).json
|
75
|
+
pp loudness.values.json
|
79
76
|
|
80
|
-
|
77
|
+
loudness.delete_values!((Time.now - 3600).iso8601, Time.now.iso8601)
|
81
78
|
|
82
|
-
|
83
|
-
|
84
|
-
|
79
|
+
loudness.delete!
|
80
|
+
arduino.delete!
|
81
|
+
raspberries.delete!
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: m2x
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.0.
|
4
|
+
version: 2.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Leandro López
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date:
|
13
|
+
date: 2015-03-17 00:00:00.000000000 Z
|
14
14
|
dependencies: []
|
15
15
|
description: AT&T’s M2X is a cloud-based fully managed data storage service for network
|
16
16
|
connected machine-to-machine (M2M) devices. From trucks and turbines to vending
|
@@ -58,7 +58,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
58
58
|
version: '0'
|
59
59
|
requirements: []
|
60
60
|
rubyforge_project:
|
61
|
-
rubygems_version: 2.4.
|
61
|
+
rubygems_version: 2.4.5
|
62
62
|
signing_key:
|
63
63
|
specification_version: 4
|
64
64
|
summary: Ruby client for AT&T M2X
|