aws_iot_device 0.1.5 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.gitignore +2 -0
- data/README.md +155 -148
- data/aws_iot_device.gemspec +11 -11
- data/codeclimate.yml +6 -0
- data/lib/aws_iot_device.rb +2 -1
- data/lib/aws_iot_device/mqtt_adapter.rb +1 -2
- data/lib/aws_iot_device/mqtt_adapter/client.rb +74 -6
- data/lib/aws_iot_device/mqtt_adapter/paho_mqtt_adapter.rb +207 -0
- data/lib/aws_iot_device/mqtt_adapter/ruby_mqtt_adapter.rb +10 -4
- data/lib/aws_iot_device/mqtt_shadow_client.rb +1 -0
- data/lib/aws_iot_device/mqtt_shadow_client/mqtt_manager.rb +133 -67
- data/lib/aws_iot_device/mqtt_shadow_client/shadow_action_manager.rb +229 -146
- data/lib/aws_iot_device/mqtt_shadow_client/shadow_client.rb +78 -20
- data/lib/aws_iot_device/mqtt_shadow_client/shadow_topic_manager.rb +51 -26
- data/lib/aws_iot_device/mqtt_shadow_client/topic_builder.rb +15 -30
- data/lib/aws_iot_device/version.rb +1 -1
- data/samples/config_shadow.rb +72 -0
- data/samples/mqtt_client_samples/mqtt_client_samples.rb +7 -59
- data/samples/shadow_action_samples/sample_shadow_action_update.rb +7 -61
- data/samples/shadow_client_samples/samples_shadow_client_block.rb +25 -0
- data/samples/shadow_client_samples/samples_shadow_client_delete.rb +9 -58
- data/samples/shadow_client_samples/samples_shadow_client_description.rb +64 -0
- data/samples/shadow_client_samples/samples_shadow_client_get.rb +11 -62
- data/samples/shadow_client_samples/samples_shadow_client_getting_started.rb +22 -0
- data/samples/shadow_client_samples/samples_shadow_client_update.rb +7 -58
- data/samples/shadow_topic_samples/sample_topic_manager.rb +10 -61
- metadata +71 -16
- data/lib/aws_iot_device/mqtt_adapter/mqtt_adapter.rb +0 -139
@@ -0,0 +1,64 @@
|
|
1
|
+
require "aws_iot_device"
|
2
|
+
|
3
|
+
host = "AWS IoT endpoint"
|
4
|
+
port = 8883
|
5
|
+
thing = "Thing Name"
|
6
|
+
root_ca_path = "Path to your CA certificate"
|
7
|
+
private_key_path = "Path to your private key"
|
8
|
+
certificate_path = "Path to your certificate"
|
9
|
+
|
10
|
+
# Create a new client with empty arguments
|
11
|
+
shadow_client = AwsIotDevice::MqttShadowClient::ShadowClient.new
|
12
|
+
|
13
|
+
# Configure the endpoint and the port the client would connect
|
14
|
+
shadow_client.configure_endpoint(host, port)
|
15
|
+
|
16
|
+
# Configure the credentials to enable a connection over TLS/SSL encryption
|
17
|
+
shadow_client.configure_credentials(root_ca_path, private_key_path, certificate_path)
|
18
|
+
|
19
|
+
# Create an event handler to bind the client with the remote thing in a persistent mode
|
20
|
+
shadow_client.create_shadow_handler_with_name(thing, true)
|
21
|
+
|
22
|
+
# Local timeout used for operation
|
23
|
+
timeout = 4
|
24
|
+
|
25
|
+
# Send a connect request to the AWS IoT platform
|
26
|
+
shadow_client.connect
|
27
|
+
|
28
|
+
# Register a callback for the get action as a block
|
29
|
+
shadow_client.register_get_callback do
|
30
|
+
puts "generic callback for get action"
|
31
|
+
end
|
32
|
+
|
33
|
+
# Register a callback for the delete action as a proc
|
34
|
+
shadow_client.register_delete_callback(proc { puts "generic callback for delete action"})
|
35
|
+
|
36
|
+
# Register a callback for the update action as a lambda
|
37
|
+
shadow_client.register_update_callback(lambda {|_message| puts "generic callback for update action"})
|
38
|
+
|
39
|
+
# Register a callback for the delta events
|
40
|
+
shadow_client.register_delta_callback do
|
41
|
+
puts "delta have been catch in a callback"
|
42
|
+
end
|
43
|
+
|
44
|
+
# Send a get request with an associated callback in a block
|
45
|
+
shadow_client.get_shadow do
|
46
|
+
puts "get thing"
|
47
|
+
end
|
48
|
+
|
49
|
+
# Send a delete request with an associated callback in a proc
|
50
|
+
shadow_client.delete_shadow(timeout, proc {puts "delete thing"})
|
51
|
+
|
52
|
+
# Send a udpate request with an associated callback in a lambda
|
53
|
+
shadow_client.update_shadow("{\"state\":{\"desired\":{\"message\":\"Hello\"}}}", timeout, lambda {|_message| puts "update thing"})
|
54
|
+
|
55
|
+
# Sleep to assert all opereation have been processed
|
56
|
+
sleep timeout
|
57
|
+
|
58
|
+
# Clear out the previously registered callback for each action
|
59
|
+
shadow_client.remove_get_callback
|
60
|
+
shadow_client.remove_update_callback
|
61
|
+
shadow_client.remove_delete_callback
|
62
|
+
|
63
|
+
# Explicit disconnect from the AWS IoT platform
|
64
|
+
shadow_client.disconnect
|
@@ -1,74 +1,23 @@
|
|
1
|
-
|
2
|
-
require 'optparse'
|
3
|
-
|
4
|
-
options = {}
|
5
|
-
|
6
|
-
OptionParser.new do |opts|
|
7
|
-
opts.banner = "Basic usage basic_greeting.rb -c \"YOUR_CERTIFICATE_PATH\" -k \"YOUR_KEY_FILE_PATH\" -ca \"YOUR_ROOT_CA_PATH -H \"YOUR_ENDPOINT\" -p 8883\n"
|
8
|
-
|
9
|
-
opts.separator ""
|
10
|
-
opts.separator "Common options"
|
11
|
-
opts.on_tail("-h", "--help", "--usage", "Show this message") do
|
12
|
-
puts opts
|
13
|
-
exit
|
14
|
-
end
|
15
|
-
|
16
|
-
opts.on("-H", "--host [END_POINT]", "The endpoint where you want to connect") do |host|
|
17
|
-
options[:host] = host
|
18
|
-
end
|
19
|
-
|
20
|
-
opts.on("-p", "--port [MQTT_PORT]", "The port used for the connection Default is 8883") do |port|
|
21
|
-
options[:port] = port
|
22
|
-
end
|
23
|
-
|
24
|
-
opts.on("-c", "--cert [CERT_FILE_PATH]", "The path to the certificate file of the private key.") do |cert|
|
25
|
-
options[:cert] = cert
|
26
|
-
end
|
27
|
-
|
28
|
-
opts.on("-k", "--key [KEY_FILE_PATH]", "The path to private key file that would be used for encryption") do |key|
|
29
|
-
options[:key] = key
|
30
|
-
end
|
31
|
-
|
32
|
-
opts.on("-a", "--root_ca [ROOT_CA_PATH]", "The path to the authority certification file") do |root_ca|
|
33
|
-
options[:root_ca] = root_ca
|
34
|
-
end
|
35
|
-
|
36
|
-
opts.on("-t", "--thing [THING_NAME]", "The Thing name on which the action would be done") do |thing|
|
37
|
-
options[:things] = thing
|
38
|
-
end
|
39
|
-
end.parse!(ARGV)
|
40
|
-
|
41
|
-
|
42
|
-
host = options[:host]
|
43
|
-
port = options[:port] || 8883
|
44
|
-
certificate_path = options[:cert]
|
45
|
-
private_key_path = options[:key]
|
46
|
-
root_ca_path = options[:root_ca]
|
47
|
-
thing = options[:things]
|
48
|
-
|
49
|
-
my_shadow_client = AwsIotDevice::MqttShadowClient::ShadowClient.new
|
50
|
-
my_shadow_client.configure_endpoint(host, port)
|
51
|
-
my_shadow_client.configure_credentials(root_ca_path, private_key_path, certificate_path)
|
52
|
-
|
53
|
-
my_shadow_client.connect
|
54
|
-
|
55
|
-
my_shadow_client.create_shadow_handler_with_name(thing ,false)
|
1
|
+
$:.unshift(File.expand_path("../../../samples", __FILE__))
|
56
2
|
|
3
|
+
require 'aws_iot_device'
|
4
|
+
require 'config_shadow'
|
57
5
|
|
58
6
|
filter_callback = Proc.new do |message|
|
59
7
|
puts "Executing the specific callback for topic: #{message.topic}\n##########################################\n"
|
60
8
|
end
|
61
9
|
|
10
|
+
my_shadow_client = setting_shadow
|
11
|
+
|
62
12
|
puts "##### Starting test_shadow_client_get ######"
|
63
|
-
my_shadow_client.get_shadow(
|
64
|
-
sleep 5
|
13
|
+
my_shadow_client.get_shadow(2, filter_callback)
|
65
14
|
|
66
15
|
puts "##### Starting test_shadow_client_get ######"
|
67
|
-
my_shadow_client.get_shadow
|
68
|
-
|
16
|
+
my_shadow_client.get_shadow do
|
17
|
+
puts "Block callback for a token"
|
18
|
+
end
|
69
19
|
|
70
20
|
puts "##### Starting test_shadow_client_get ######"
|
71
|
-
my_shadow_client.get_shadow(
|
72
|
-
sleep 5
|
21
|
+
my_shadow_client.get_shadow(2, filter_callback)
|
73
22
|
|
74
|
-
|
23
|
+
sleep 3
|
@@ -0,0 +1,22 @@
|
|
1
|
+
require "aws_iot_device"
|
2
|
+
|
3
|
+
host = "AWS IoT endpoint"
|
4
|
+
port = 8883
|
5
|
+
thing = "Thing Name"
|
6
|
+
root_ca_path = "Path to your CA certificate"
|
7
|
+
private_key_path = "Path to your private key"
|
8
|
+
certificate_path = "Path to your certificate"
|
9
|
+
|
10
|
+
shadow_client = AwsIotDevice::MqttShadowClient::ShadowClient.new
|
11
|
+
shadow_client.configure_endpoint(host, port)
|
12
|
+
shadow_client.configure_credentials(root_ca_path, private_key_path, certificate_path)
|
13
|
+
shadow_client.create_shadow_handler_with_name(thing, true)
|
14
|
+
|
15
|
+
shadow_client.connect
|
16
|
+
shadow_client.get_shadow do |_message|
|
17
|
+
# Do what you want with the get_shadow's answer
|
18
|
+
p ":)"
|
19
|
+
end
|
20
|
+
sleep 2 #Timer to ensure that the answer is received
|
21
|
+
|
22
|
+
shadow_client.disconnect
|
@@ -1,59 +1,7 @@
|
|
1
|
-
|
2
|
-
require 'optparse'
|
3
|
-
require 'json'
|
4
|
-
|
5
|
-
options = {}
|
6
|
-
|
7
|
-
OptionParser.new do |opts|
|
8
|
-
opts.banner = "Basic usage basic_greeting.rb -c \"YOUR_CERTIFICATE_PATH\" -k \"YOUR_KEY_FILE_PATH\" -ca \"YOUR_ROOT_CA_PATH -H \"YOUR_ENDPOINT\" -p 8883\n"
|
9
|
-
|
10
|
-
opts.separator ""
|
11
|
-
opts.separator "Common options"
|
12
|
-
opts.on_tail("-h", "--help", "--usage", "Show this message") do
|
13
|
-
puts opts
|
14
|
-
exit
|
15
|
-
end
|
16
|
-
|
17
|
-
opts.on("-H", "--host [END_POINT]", "The endpoint where you want to connect") do |host|
|
18
|
-
options[:host] = host
|
19
|
-
end
|
20
|
-
|
21
|
-
opts.on("-p", "--port [MQTT_PORT]", "The port used for the connection Default is 8883") do |port|
|
22
|
-
options[:port] = port
|
23
|
-
end
|
24
|
-
|
25
|
-
opts.on("-c", "--cert [CERT_FILE_PATH]", "The path to the certificate file of the private key.") do |cert|
|
26
|
-
options[:cert] = cert
|
27
|
-
end
|
28
|
-
|
29
|
-
opts.on("-k", "--key [KEY_FILE_PATH]", "The path to private key file that would be used for encryption") do |key|
|
30
|
-
options[:key] = key
|
31
|
-
end
|
32
|
-
|
33
|
-
opts.on("-a", "--root_ca [ROOT_CA_PATH]", "The path to the authority certification file") do |root_ca|
|
34
|
-
options[:root_ca] = root_ca
|
35
|
-
end
|
36
|
-
|
37
|
-
opts.on("-t", "--thing [THING_NAME]", "The Thing name on which the action would be done") do |thing|
|
38
|
-
options[:things] = thing
|
39
|
-
end
|
40
|
-
end.parse!(ARGV)
|
41
|
-
|
1
|
+
$:.unshift(File.expand_path("../../../samples", __FILE__))
|
42
2
|
|
43
|
-
|
44
|
-
|
45
|
-
certificate_path = options[:cert]
|
46
|
-
private_key_path = options[:key]
|
47
|
-
root_ca_path = options[:root_ca]
|
48
|
-
thing = options[:things]
|
49
|
-
|
50
|
-
my_shadow_client = AwsIotDevice::MqttShadowClient::ShadowClient.new
|
51
|
-
my_shadow_client.configure_endpoint(host, port)
|
52
|
-
my_shadow_client.configure_credentials(root_ca_path, private_key_path, certificate_path)
|
53
|
-
|
54
|
-
my_shadow_client.connect
|
55
|
-
|
56
|
-
my_shadow_client.create_shadow_handler_with_name(thing, true)
|
3
|
+
require 'aws_iot_device'
|
4
|
+
require 'config_shadow'
|
57
5
|
|
58
6
|
filter_callback = Proc.new do |message|
|
59
7
|
puts "Executing the specific callback for topic: #{message.topic}\n##########################################\n"
|
@@ -64,18 +12,19 @@ delta_callback = Proc.new do |delta|
|
|
64
12
|
puts "Catching a new message : #{message["state"]["message"]}\n##########################################\n"
|
65
13
|
end
|
66
14
|
|
15
|
+
my_shadow_client = setting_shadow
|
67
16
|
my_shadow_client.register_delta_callback(delta_callback)
|
68
17
|
|
69
18
|
n = 1
|
70
19
|
3.times do
|
71
|
-
puts "Type the message that you want to register in the thing
|
20
|
+
puts "Type the message that you want to register in the thing:"
|
72
21
|
entry = $stdin.readline()
|
73
22
|
json_payload = "{\"state\":{\"desired\":{\"message\":\"#{entry.delete!("\n")}\"}}}"
|
74
|
-
my_shadow_client.update_shadow(json_payload,
|
23
|
+
my_shadow_client.update_shadow(json_payload, 5, filter_callback)
|
75
24
|
puts "#{3 - n} Message(s) left"
|
76
|
-
sleep 2
|
77
25
|
n += 1
|
78
26
|
end
|
79
27
|
|
28
|
+
sleep 3
|
80
29
|
|
81
30
|
my_shadow_client.disconnect
|
@@ -1,61 +1,11 @@
|
|
1
|
-
|
2
|
-
require 'optparse'
|
1
|
+
$:.unshift(File.expand_path("../../../samples", __FILE__))
|
3
2
|
|
4
|
-
|
3
|
+
require 'aws_iot_device'
|
4
|
+
require 'config_shadow'
|
5
5
|
|
6
|
-
|
7
|
-
opts.banner = "Basic usage basic_greeting.rb -c \"YOUR_CERTIFICATE_PATH\" -k \"YOUR_KEY_FILE_PATH\" -ca \"YOUR_ROOT_CA_PATH -H \"YOUR_ENDPOINT\" -p 8883\n"
|
8
|
-
|
9
|
-
opts.separator ""
|
10
|
-
opts.separator "Common options"
|
11
|
-
opts.on_tail("-h", "--help", "--usage", "Show this message") do
|
12
|
-
puts opts
|
13
|
-
exit
|
14
|
-
end
|
15
|
-
|
16
|
-
opts.on("-H", "--host [END_POINT]", "The endpoint where you want to connect") do |host|
|
17
|
-
options[:host] = host
|
18
|
-
end
|
19
|
-
|
20
|
-
opts.on("-p", "--port [MQTT_PORT]", "The port used for the connection Default is 8883") do |port|
|
21
|
-
options[:port] = port
|
22
|
-
end
|
23
|
-
|
24
|
-
opts.on("-c", "--cert [CERT_FILE_PATH]", "The path to the certificate file of the private key.") do |cert|
|
25
|
-
options[:cert] = cert
|
26
|
-
end
|
27
|
-
|
28
|
-
opts.on("-k", "--key [KEY_FILE_PATH]", "The path to private key file that would be used for encryption") do |key|
|
29
|
-
options[:key] = key
|
30
|
-
end
|
31
|
-
|
32
|
-
opts.on("-a", "--root_ca [ROOT_CA_PATH]", "The path to the authority certification file") do |root_ca|
|
33
|
-
options[:root_ca] = root_ca
|
34
|
-
end
|
6
|
+
mqtt_client = setting_mqtt_client
|
35
7
|
|
36
|
-
|
37
|
-
options[:things] = thing
|
38
|
-
end
|
39
|
-
end.parse!(ARGV)
|
40
|
-
|
41
|
-
|
42
|
-
host = options[:host]
|
43
|
-
port = options[:port] || 8883
|
44
|
-
certificate_path = options[:cert]
|
45
|
-
private_key_path = options[:key]
|
46
|
-
root_ca_path = options[:root_ca]
|
47
|
-
thing = options[:things]
|
48
|
-
|
49
|
-
manager = AwsIotDevice::MqttShadowClient::MqttManager.new(host: host,
|
50
|
-
port: port,
|
51
|
-
ssl: true,
|
52
|
-
cert_file: certificate_path,
|
53
|
-
key_file: private_key_path,
|
54
|
-
ca_file: root_ca_path)
|
55
|
-
|
56
|
-
manager.connect
|
57
|
-
|
58
|
-
cli = AwsIotDevice::MqttShadowClient::ShadowTopicManager.new(manager)
|
8
|
+
topic_client = setting_topic_manager(mqtt_client)
|
59
9
|
|
60
10
|
filter_callback = Proc.new do |message|
|
61
11
|
puts "Received (through filtered callback) : "
|
@@ -64,14 +14,13 @@ filter_callback = Proc.new do |message|
|
|
64
14
|
puts "###################"
|
65
15
|
end
|
66
16
|
|
67
|
-
|
68
|
-
|
69
|
-
sleep 1
|
17
|
+
topic_client.shadow_topic_subscribe("get", filter_callback)
|
70
18
|
|
71
19
|
4.times do
|
72
|
-
|
73
|
-
sleep 1
|
20
|
+
topic_client.shadow_topic_publish("get", "")
|
74
21
|
end
|
75
22
|
|
76
|
-
|
23
|
+
sleep 2
|
24
|
+
|
25
|
+
mqtt_client.disconnect
|
77
26
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: aws_iot_device
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 1.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Pierre Goudet
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2017-01-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -17,6 +17,9 @@ dependencies:
|
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: '1.10'
|
20
|
+
- - ">="
|
21
|
+
- !ruby/object:Gem::Version
|
22
|
+
version: '1.10'
|
20
23
|
type: :development
|
21
24
|
prerelease: false
|
22
25
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -24,20 +27,29 @@ dependencies:
|
|
24
27
|
- - "~>"
|
25
28
|
- !ruby/object:Gem::Version
|
26
29
|
version: '1.10'
|
30
|
+
- - ">="
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: '1.10'
|
27
33
|
- !ruby/object:Gem::Dependency
|
28
34
|
name: pry
|
29
35
|
requirement: !ruby/object:Gem::Requirement
|
30
36
|
requirements:
|
37
|
+
- - "~>"
|
38
|
+
- !ruby/object:Gem::Version
|
39
|
+
version: 0.10.4
|
31
40
|
- - ">="
|
32
41
|
- !ruby/object:Gem::Version
|
33
|
-
version:
|
42
|
+
version: 0.10.4
|
34
43
|
type: :development
|
35
44
|
prerelease: false
|
36
45
|
version_requirements: !ruby/object:Gem::Requirement
|
37
46
|
requirements:
|
47
|
+
- - "~>"
|
48
|
+
- !ruby/object:Gem::Version
|
49
|
+
version: 0.10.4
|
38
50
|
- - ">="
|
39
51
|
- !ruby/object:Gem::Version
|
40
|
-
version:
|
52
|
+
version: 0.10.4
|
41
53
|
- !ruby/object:Gem::Dependency
|
42
54
|
name: rake
|
43
55
|
requirement: !ruby/object:Gem::Requirement
|
@@ -45,6 +57,9 @@ dependencies:
|
|
45
57
|
- - "~>"
|
46
58
|
- !ruby/object:Gem::Version
|
47
59
|
version: '10.0'
|
60
|
+
- - ">="
|
61
|
+
- !ruby/object:Gem::Version
|
62
|
+
version: '1.10'
|
48
63
|
type: :development
|
49
64
|
prerelease: false
|
50
65
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -52,20 +67,29 @@ dependencies:
|
|
52
67
|
- - "~>"
|
53
68
|
- !ruby/object:Gem::Version
|
54
69
|
version: '10.0'
|
70
|
+
- - ">="
|
71
|
+
- !ruby/object:Gem::Version
|
72
|
+
version: '1.10'
|
55
73
|
- !ruby/object:Gem::Dependency
|
56
74
|
name: rspec
|
57
75
|
requirement: !ruby/object:Gem::Requirement
|
58
76
|
requirements:
|
77
|
+
- - "~>"
|
78
|
+
- !ruby/object:Gem::Version
|
79
|
+
version: 3.5.0
|
59
80
|
- - ">="
|
60
81
|
- !ruby/object:Gem::Version
|
61
|
-
version:
|
82
|
+
version: 3.5.0
|
62
83
|
type: :development
|
63
84
|
prerelease: false
|
64
85
|
version_requirements: !ruby/object:Gem::Requirement
|
65
86
|
requirements:
|
87
|
+
- - "~>"
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: 3.5.0
|
66
90
|
- - ">="
|
67
91
|
- !ruby/object:Gem::Version
|
68
|
-
version:
|
92
|
+
version: 3.5.0
|
69
93
|
- !ruby/object:Gem::Dependency
|
70
94
|
name: facets
|
71
95
|
requirement: !ruby/object:Gem::Requirement
|
@@ -73,6 +97,9 @@ dependencies:
|
|
73
97
|
- - "~>"
|
74
98
|
- !ruby/object:Gem::Version
|
75
99
|
version: 3.1.0
|
100
|
+
- - ">="
|
101
|
+
- !ruby/object:Gem::Version
|
102
|
+
version: 3.1.0
|
76
103
|
type: :runtime
|
77
104
|
prerelease: false
|
78
105
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -80,34 +107,49 @@ dependencies:
|
|
80
107
|
- - "~>"
|
81
108
|
- !ruby/object:Gem::Version
|
82
109
|
version: 3.1.0
|
110
|
+
- - ">="
|
111
|
+
- !ruby/object:Gem::Version
|
112
|
+
version: 3.1.0
|
83
113
|
- !ruby/object:Gem::Dependency
|
84
114
|
name: json
|
85
115
|
requirement: !ruby/object:Gem::Requirement
|
86
116
|
requirements:
|
87
117
|
- - "~>"
|
88
118
|
- !ruby/object:Gem::Version
|
89
|
-
version:
|
119
|
+
version: 2.0.2
|
120
|
+
- - ">="
|
121
|
+
- !ruby/object:Gem::Version
|
122
|
+
version: 2.0.2
|
90
123
|
type: :runtime
|
91
124
|
prerelease: false
|
92
125
|
version_requirements: !ruby/object:Gem::Requirement
|
93
126
|
requirements:
|
94
127
|
- - "~>"
|
95
128
|
- !ruby/object:Gem::Version
|
96
|
-
version:
|
129
|
+
version: 2.0.2
|
130
|
+
- - ">="
|
131
|
+
- !ruby/object:Gem::Version
|
132
|
+
version: 2.0.2
|
97
133
|
- !ruby/object:Gem::Dependency
|
98
|
-
name: mqtt
|
134
|
+
name: paho-mqtt
|
99
135
|
requirement: !ruby/object:Gem::Requirement
|
100
136
|
requirements:
|
101
137
|
- - "~>"
|
102
138
|
- !ruby/object:Gem::Version
|
103
|
-
version: 0.
|
139
|
+
version: 1.0.0
|
140
|
+
- - ">="
|
141
|
+
- !ruby/object:Gem::Version
|
142
|
+
version: 1.0.0
|
104
143
|
type: :runtime
|
105
144
|
prerelease: false
|
106
145
|
version_requirements: !ruby/object:Gem::Requirement
|
107
146
|
requirements:
|
108
147
|
- - "~>"
|
109
148
|
- !ruby/object:Gem::Version
|
110
|
-
version: 0.
|
149
|
+
version: 1.0.0
|
150
|
+
- - ">="
|
151
|
+
- !ruby/object:Gem::Version
|
152
|
+
version: 1.0.0
|
111
153
|
- !ruby/object:Gem::Dependency
|
112
154
|
name: timers
|
113
155
|
requirement: !ruby/object:Gem::Requirement
|
@@ -115,6 +157,9 @@ dependencies:
|
|
115
157
|
- - "~>"
|
116
158
|
- !ruby/object:Gem::Version
|
117
159
|
version: 4.1.1
|
160
|
+
- - ">="
|
161
|
+
- !ruby/object:Gem::Version
|
162
|
+
version: 4.1.1
|
118
163
|
type: :runtime
|
119
164
|
prerelease: false
|
120
165
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -122,8 +167,12 @@ dependencies:
|
|
122
167
|
- - "~>"
|
123
168
|
- !ruby/object:Gem::Version
|
124
169
|
version: 4.1.1
|
125
|
-
|
126
|
-
|
170
|
+
- - ">="
|
171
|
+
- !ruby/object:Gem::Version
|
172
|
+
version: 4.1.1
|
173
|
+
description: The gem is using the MQTT protocol to execute the command defined by
|
174
|
+
the AWS IoT platform. A default MQTT client is included in the gem, however an adapter
|
175
|
+
system enables to plug another MQTT client.
|
127
176
|
email:
|
128
177
|
- p-goudet@ruby-dev.jp
|
129
178
|
executables: []
|
@@ -139,10 +188,11 @@ files:
|
|
139
188
|
- aws_iot_device.gemspec
|
140
189
|
- bin/console
|
141
190
|
- bin/setup
|
191
|
+
- codeclimate.yml
|
142
192
|
- lib/aws_iot_device.rb
|
143
193
|
- lib/aws_iot_device/mqtt_adapter.rb
|
144
194
|
- lib/aws_iot_device/mqtt_adapter/client.rb
|
145
|
-
- lib/aws_iot_device/mqtt_adapter/
|
195
|
+
- lib/aws_iot_device/mqtt_adapter/paho_mqtt_adapter.rb
|
146
196
|
- lib/aws_iot_device/mqtt_adapter/ruby_mqtt_adapter.rb
|
147
197
|
- lib/aws_iot_device/mqtt_shadow_client.rb
|
148
198
|
- lib/aws_iot_device/mqtt_shadow_client/json_payload_parser.rb
|
@@ -153,15 +203,19 @@ files:
|
|
153
203
|
- lib/aws_iot_device/mqtt_shadow_client/token_creator.rb
|
154
204
|
- lib/aws_iot_device/mqtt_shadow_client/topic_builder.rb
|
155
205
|
- lib/aws_iot_device/version.rb
|
206
|
+
- samples/config_shadow.rb
|
156
207
|
- samples/mqtt_client_samples/mqtt_client_samples.rb
|
157
208
|
- samples/shadow_action_samples/sample_shadow_action_update.rb
|
209
|
+
- samples/shadow_client_samples/samples_shadow_client_block.rb
|
158
210
|
- samples/shadow_client_samples/samples_shadow_client_delete.rb
|
211
|
+
- samples/shadow_client_samples/samples_shadow_client_description.rb
|
159
212
|
- samples/shadow_client_samples/samples_shadow_client_get.rb
|
213
|
+
- samples/shadow_client_samples/samples_shadow_client_getting_started.rb
|
160
214
|
- samples/shadow_client_samples/samples_shadow_client_update.rb
|
161
215
|
- samples/shadow_topic_samples/sample_topic_manager.rb
|
162
216
|
homepage: https://github.com/RubyDevInc/aws-iot-device-sdk-ruby
|
163
217
|
licenses:
|
164
|
-
- Apache
|
218
|
+
- Apache-2.0
|
165
219
|
metadata: {}
|
166
220
|
post_install_message:
|
167
221
|
rdoc_options: []
|
@@ -182,5 +236,6 @@ rubyforge_project:
|
|
182
236
|
rubygems_version: 2.4.5.1
|
183
237
|
signing_key:
|
184
238
|
specification_version: 4
|
185
|
-
summary:
|
239
|
+
summary: The ruby version of the AWS IoT Device SDK. It enables to connect to AWS
|
240
|
+
IoT platform and manage Things.
|
186
241
|
test_files: []
|