sps_mqtt_bridge 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: a1864f9c68e0d8ae7272b83b28b8f34061582bef
4
+ data.tar.gz: 3a4e97daf546828fcb2c13a6dde9f03f6e4f7e7e
5
+ SHA512:
6
+ metadata.gz: 5e6f4c8ec61e70764efb73915a2b3d39e042bec6339c92f7ab1bcee1e64d6b401f9079c8dc2e5c9b89fbe743c35274db8ba765efe501629343cc05410860b259
7
+ data.tar.gz: 0ca07569337d1cea9e65f5686a46d28cbc32b94fde6f18347e07d50f900151081dfe336ecb90fb022dd570a1049f066acbc112f64685bed4be008c6766d231d2
checksums.yaml.gz.sig ADDED
@@ -0,0 +1,2 @@
1
+ ��ĤW÷1� ���h���{�K��>XGy���ط���h#{R����r�I��Tq#��/���ܼ��Ä���K��� ���HE�@�[5��
2
+ ����@ђ�:c�LHT9��7 �il��z�>M��3!���a��}!�A��� x��/ �l��z[_�=�����-)��ġ��zv�Kv_�Gm}��*A*�l���I�c9�f���01mjjWu6ލ�JRα�������o0���
data.tar.gz.sig ADDED
Binary file
@@ -0,0 +1,46 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ # file: sps_mqtt_bridge.rb
4
+
5
+ require 'mqtt'
6
+ require 'simplepubsub'
7
+ require 'sps-pub'
8
+
9
+
10
+ class SpsMqttBridge
11
+
12
+ def initialize(mqtt: {address: 'mqtt', port: '1883'},
13
+ sps:{address: 'sps', port: '59000'})
14
+ @mqtt, @sps = mqtt, sps
15
+ end
16
+
17
+ def mqtt_to_sps(topic: '#')
18
+
19
+ MQTT::Client.connect(@mqtt[:address], @mqtt[:port]) do |client|
20
+
21
+ client.get(topic) do |t, message|
22
+ SPSPub.notice [t, message].join(': '),
23
+ address: @sps[:address], port: @sps[:port]
24
+ end
25
+ end
26
+ end
27
+
28
+ def sps_to_mqtt(topic: '#')
29
+
30
+ SimplePubSub::Client.connect(@sps[:address], @sps[:port]) do |client|
31
+
32
+ client.get(topic) do |t, message|
33
+
34
+ MQTT::Client.connect(@mqtt[:address], @mqtt[:port]) do |client|
35
+ client.publish(t, message)
36
+ end
37
+ end
38
+ end
39
+ end
40
+ end
41
+
42
+ if __FILE__ == $0 then
43
+
44
+ bridge = SpsMqttBridge.new
45
+ bridge.mqtt_to_sps
46
+ end
metadata ADDED
@@ -0,0 +1,129 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: sps_mqtt_bridge
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - James Robertson
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain:
11
+ - |
12
+ -----BEGIN CERTIFICATE-----
13
+ MIIDljCCAn6gAwIBAgIBATANBgkqhkiG9w0BAQUFADBIMRIwEAYDVQQDDAlnZW1t
14
+ YXN0ZXIxHjAcBgoJkiaJk/IsZAEZFg5qYW1lc3JvYmVydHNvbjESMBAGCgmSJomT
15
+ 8ixkARkWAmV1MB4XDTE0MDgxNDEzMzM0M1oXDTE1MDgxNDEzMzM0M1owSDESMBAG
16
+ A1UEAwwJZ2VtbWFzdGVyMR4wHAYKCZImiZPyLGQBGRYOamFtZXNyb2JlcnRzb24x
17
+ EjAQBgoJkiaJk/IsZAEZFgJldTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC
18
+ ggEBAMeT1hv8afATASIUEXkVD9TUPO3a8dvkIXKidTjaKP1E880MYXkktCbpwxnD
19
+ qiSIaNkxwepKBEWFUKpirfPDcI6snMblOtO7foRJh1djaiDo9bX3L7do1eI5CgCT
20
+ Vpf2Tto6N8PxQ5QLeKQgdywnZTRexTQliZOBSfIef3Nq2t0IXNoli0LagpcM8bQ9
21
+ OnWHHkpr1C3XrciGvXwN28oKKOOuUNykm9VzTuQW53YVIpqGmov7BAgIWBSyIC8D
22
+ +Z79N5Qr+6bGLb8h59qhZtwMcWR/3fAm35PM056auXUTBOl/Sp8bTYOk3AV5kBWL
23
+ opyTVw2+augwKL/GALUvaVlWNwECAwEAAaOBijCBhzAJBgNVHRMEAjAAMAsGA1Ud
24
+ DwQEAwIEsDAdBgNVHQ4EFgQU1HWJxoOeuAc4z6My+Ya+vRaQFhEwJgYDVR0RBB8w
25
+ HYEbZ2VtbWFzdGVyQGphbWVzcm9iZXJ0c29uLmV1MCYGA1UdEgQfMB2BG2dlbW1h
26
+ c3RlckBqYW1lc3JvYmVydHNvbi5ldTANBgkqhkiG9w0BAQUFAAOCAQEAQzR1nElp
27
+ pG4aIBDp5O0ID5Ss/eAH3Bvl5Ft+zEqNj/y6ZQLnKf8BakoYcUI6rZVrIUIVmoKo
28
+ qNRj0tidcPx/ykswMk04rMlJLWWgD85eq9Ae1nUNtCFMd4BXBezv1hn1B7gYnwUL
29
+ NibcPRJQFB9GBF0BNr+rXb9zoRs+s+u3BgOn+n8nJfmKoAYCIMWhKYxaA4HR/vD0
30
+ B2JyxCqq38KzRH/YMzOUzVmvXGU65NYBtna03N1W6b80r97Mq8MPj1ErM3b1gg/5
31
+ pv2FNqIkZcucsIf5AU2N5Hdq5eWrQL48EQdmK4RQzwxGXSsO6exu1X9KFmXvEdqF
32
+ 38OfUVxOcu8i6w==
33
+ -----END CERTIFICATE-----
34
+ date: 2014-08-14 00:00:00.000000000 Z
35
+ dependencies:
36
+ - !ruby/object:Gem::Dependency
37
+ name: simplepubsub
38
+ requirement: !ruby/object:Gem::Requirement
39
+ requirements:
40
+ - - "~>"
41
+ - !ruby/object:Gem::Version
42
+ version: '1.1'
43
+ - - ">="
44
+ - !ruby/object:Gem::Version
45
+ version: 1.1.6
46
+ type: :runtime
47
+ prerelease: false
48
+ version_requirements: !ruby/object:Gem::Requirement
49
+ requirements:
50
+ - - "~>"
51
+ - !ruby/object:Gem::Version
52
+ version: '1.1'
53
+ - - ">="
54
+ - !ruby/object:Gem::Version
55
+ version: 1.1.6
56
+ - !ruby/object:Gem::Dependency
57
+ name: sps-pub
58
+ requirement: !ruby/object:Gem::Requirement
59
+ requirements:
60
+ - - "~>"
61
+ - !ruby/object:Gem::Version
62
+ version: '0.3'
63
+ - - ">="
64
+ - !ruby/object:Gem::Version
65
+ version: 0.3.0
66
+ type: :runtime
67
+ prerelease: false
68
+ version_requirements: !ruby/object:Gem::Requirement
69
+ requirements:
70
+ - - "~>"
71
+ - !ruby/object:Gem::Version
72
+ version: '0.3'
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: 0.3.0
76
+ - !ruby/object:Gem::Dependency
77
+ name: mqtt
78
+ requirement: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: '0.2'
83
+ - - ">="
84
+ - !ruby/object:Gem::Version
85
+ version: 0.2.0
86
+ type: :runtime
87
+ prerelease: false
88
+ version_requirements: !ruby/object:Gem::Requirement
89
+ requirements:
90
+ - - "~>"
91
+ - !ruby/object:Gem::Version
92
+ version: '0.2'
93
+ - - ">="
94
+ - !ruby/object:Gem::Version
95
+ version: 0.2.0
96
+ description:
97
+ email: james@r0bertson.co.uk
98
+ executables: []
99
+ extensions: []
100
+ extra_rdoc_files: []
101
+ files:
102
+ - lib/sps_mqtt_bridge.rb
103
+ homepage: https://github.com/jrobertson/sps_mqtt_bridge
104
+ licenses:
105
+ - MIT
106
+ metadata: {}
107
+ post_install_message:
108
+ rdoc_options: []
109
+ require_paths:
110
+ - lib
111
+ required_ruby_version: !ruby/object:Gem::Requirement
112
+ requirements:
113
+ - - ">="
114
+ - !ruby/object:Gem::Version
115
+ version: '0'
116
+ required_rubygems_version: !ruby/object:Gem::Requirement
117
+ requirements:
118
+ - - ">="
119
+ - !ruby/object:Gem::Version
120
+ version: '0'
121
+ requirements: []
122
+ rubyforge_project:
123
+ rubygems_version: 2.2.2
124
+ signing_key:
125
+ specification_version: 4
126
+ summary: Subscribes and re-publishes messages automatically from MQTT to SPS or vice
127
+ versa
128
+ test_files: []
129
+ has_rdoc:
metadata.gz.sig ADDED
Binary file