evepi 0.2.2 → 0.2.3

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.
@@ -2,211 +2,104 @@ require 'socket'
2
2
  require 'rubygems'
3
3
  require 'json'
4
4
 
5
- module Evepi_Init_Mixin
6
- attr_accessor :json_obj, :hostname, :port, :name
7
-
8
- def initialize(sensor, name='fuckname')
9
- json_path = open( '/etc/%s/fuckpath.md' % sensor ).read()
10
- json_file = File.read(json_path)
11
- @json_obj = JSON.parse(json_file)
12
- @name = name
13
- @hostname = @json_obj[@name][0]
14
- @port = @json_obj[name][1]
15
- end
16
- end
17
-
18
- class Sensor
19
- include Evepi_Init_Mixin
20
-
21
- def get_raw_response(name=@name, cmd="fuck")
22
- s = TCPSocket.open(@hostname, @port)
23
- s.send cmd, 0
24
- line = s.recv(1024)
25
- s.close
26
- return line
27
- end
28
-
29
- def get_response_by_key(key, name=@name, cmd="fuck")
30
- json_str = get_raw_response(name, cmd)
31
- json_obj = JSON.parse(json_str)
32
- return json_obj[key]
33
- end
34
-
35
- alias_method :get_response, :get_raw_response
36
-
37
- def test_get_response()
38
- result = get_response()
39
- puts result
40
- end
41
- end
42
-
43
- class ButtonSensor < Sensor
44
- def get_now_response(name=@name, cmd='fuck')
45
- return get_response_by_key('now_result', cmd)
46
- end
47
-
48
- def get_now_action(name=@name, cmd='fuck')
49
- return get_response_by_key('action', cmd)
50
- end
51
-
52
- def get_on_off_status(name=@name, cmd='fuck')
53
- return get_response_by_key('on_off_status', cmd)
54
- end
55
- end
56
-
57
- class SoundSensor < Sensor
58
- def get_5ms_res(name=@name)
59
- return get_response(name, 'whether').to_i
60
- end
61
-
62
- def get_1s_res(name=@name)
63
- return 100.0 - get_response(name, 'sum').to_f
64
- end
65
- end
66
-
67
- class LCD_Screen
68
- include Evepi_Init_Mixin
69
-
70
- def _write(input_json, name)
71
- socket = TCPSocket.open(@hostname, @port)
72
- socket.send input_json, 0
73
- line = socket.recv(1024)
74
- socket.close
75
- end
76
-
77
- def write(type, x, y, content, name=@name)
78
- input_dict = {
79
- :cursor_whether => type,
80
- :cursor_i => x,
81
- :cursor_j => y,
82
- :input_string => content
83
- }
84
- input_json = JSON.dump(input_dict)
85
- return _write(input_json, name)
5
+ module Evepi
6
+ module Evepi_Init_Mixin
7
+ attr_accessor :json_obj
8
+
9
+ def initialize(sensor)
10
+ json_path = open( '/etc/%s/fuckpath.md' % sensor ).read()
11
+ json_file = File.read(json_path)
12
+ @json_obj = JSON.parse(json_file)
13
+ end
14
+ end
15
+
16
+ class Sensor
17
+ include Evepi_Init_Mixin
18
+
19
+ def get_raw_res(name='fuckname', cmd='fuck')
20
+ hostname = @json_obj[name][0]
21
+ port = @json_obj[name][1]
22
+ s = TCPSocket.open(hostname, port)
23
+ s.send cmd, 0
24
+ line = s.recv(1024)
25
+ s.close
26
+ return line
27
+ end
28
+
29
+ def get_res_by_key(key, name=@name, cmd="fuck")
30
+ json_str = get_raw_res(name, cmd)
31
+ json_obj = JSON.parse(json_str)
32
+ return json_obj[key]
33
+ end
34
+
35
+ alias_method :get_res, :get_raw_res
36
+
37
+ def test_get_res_loop(name='fuckname')
38
+ while true
39
+ puts sensor.get_raw_res(name)
40
+ sleep(0.5)
41
+ end
42
+ end
43
+ end
44
+
45
+ class LCD_Screen
46
+ include Evepi_Init_Mixin
47
+
48
+ def _write(input_json, name)
49
+ socket = TCPSocket.open(@hostname, @port)
50
+ socket.send input_json, 0
51
+ line = socket.recv(1024)
52
+ socket.close
53
+ end
54
+
55
+ def write(type, x, y, content, name=@name)
56
+ input_dict = {
57
+ :cursor_whether => type,
58
+ :cursor_i => x,
59
+ :cursor_j => y,
60
+ :input_string => content
61
+ }
62
+ input_json = JSON.dump(input_dict)
63
+ return _write(input_json, name)
64
+ end
65
+
66
+ @@CURSOR_SET = 1
67
+ def set_cursor(x, y, name=@name)
68
+ input_dict = {
69
+ :cursor_whether => @@CURSOR_SET,
70
+ :cursor_i => x,
71
+ :cursor_j => y,
72
+ }
73
+ input_json = JSON.dump(input_dict)
74
+ return _write(input_json, name)
75
+ end
76
+
77
+ def write_at(x, y, content, name=@name)
78
+ input_dict = {
79
+ :cursor_whether => @@CURSOR_SET,
80
+ :cursor_i => x,
81
+ :cursor_j => y,
82
+ :input_string => content
83
+ }
84
+ input_json = JSON.dump(input_dict)
85
+ return _write(input_json, name)
86
+ end
87
+
88
+ @@CURSOR_APPEND = 0
89
+ def write_after(content, name=@name)
90
+ input_dict = {
91
+ :cursor_whether => @@CURSOR_APPEND,
92
+ :input_string => content
93
+ }
94
+ input_json = JSON.dump(input_dict)
95
+ return _write(input_json, name)
96
+ end
97
+
98
+ @@CURSOR_CLEAR = 2
99
+ def clear(name=@name)
100
+ return write(@@CURSOR_CLEAR, 0, 0, nil, name)
101
+ end
86
102
  end
87
103
 
88
- @@CURSOR_SET = 1
89
- def set_cursor(x, y, name=@name)
90
- input_dict = {
91
- :cursor_whether => @@CURSOR_SET,
92
- :cursor_i => x,
93
- :cursor_j => y,
94
- }
95
- input_json = JSON.dump(input_dict)
96
- return _write(input_json, name)
97
- end
98
104
 
99
- def write_at(x, y, content, name=@name)
100
- input_dict = {
101
- :cursor_whether => @@CURSOR_SET,
102
- :cursor_i => x,
103
- :cursor_j => y,
104
- :input_string => content
105
- }
106
- input_json = JSON.dump(input_dict)
107
- return _write(input_json, name)
108
- end
109
-
110
- @@CURSOR_APPEND = 0
111
- def write_after(content, name=@name)
112
- input_dict = {
113
- :cursor_whether => @@CURSOR_APPEND,
114
- :input_string => content
115
- }
116
- input_json = JSON.dump(input_dict)
117
- return _write(input_json, name)
118
- end
119
-
120
- @@CURSOR_CLEAR = 2
121
- def clear(name=@name)
122
- return write(@@CURSOR_CLEAR, 0, 0, nil, name)
123
- end
124
- end
125
-
126
- class SensorFactory
127
- def self.createUltrasonSensor(sensor_name='ultrason')
128
- return Sensor.new sensor_name
129
- end
130
-
131
- def self.createLCDScreen(sensor_name='out_01')
132
- return LCD_Screen.new sensor_name
133
- end
134
-
135
- def self.createButtonSensor(sensor_name='inp_01')
136
- return ButtonSensor.new sensor_name
137
- end
138
-
139
- def self.createInfraredSensor(sensor_name='inf_01')
140
- return Sensor.new sensor_name
141
- end
142
-
143
- def self.createHumiditySensor(sensor_name='tus_01')
144
- return Sensor.new sensor_name
145
- end
146
-
147
- def self.createAirSensor(sensor_name='air_01')
148
- return Sensor.new sensor_name
149
- end
150
-
151
- def self.createTemperatureAndHumiditySensor(sensor_name='tem_01')
152
- return Sensor.new sensor_name
153
- end
154
-
155
- def self.createSoundSensor(sensor_name='snd_01')
156
- return SoundSensor.new sensor_name
157
- end
158
- end
159
-
160
- #ultrason_sensor.test_get_response()
161
- #accelerator = Sensor.new 'acc_01'
162
- #accelerator.test_get_response()
163
-
164
- # test LCD out_01
165
- =begin
166
- out = LCD_Screen.new 'out_01'
167
- out.clear
168
- out.set_cursor 0, 1
169
- out.write_after 'f'
170
- out.set_cursor 1, 2
171
- out.write_after 'u'
172
- out.set_cursor 0, 3
173
- out.write_after 'c'
174
- out.set_cursor 1, 4
175
- out.write_after 'k'
176
- out.write_at 0, 6, 'zyw'
177
-
178
- btn = SensorFactory.createButtonSensor
179
- while true
180
- puts btn.get_now_response
181
- puts btn.get_now_action
182
- puts btn.get_on_off_status
183
- sleep(0.5)
184
- end
185
-
186
-
187
- sensor = SensorFactory.createInfraredSensor
188
- while true
189
- puts sensor.get_response()
190
- sleep(0.5)
191
- end
192
-
193
- sensor = SensorFactory.createHumiditySensor
194
- while true
195
- puts sensor.get_response()
196
- sleep(0.5)
197
- end
198
-
199
- sensor = SensorFactory.createAirSensor
200
- while true
201
- puts sensor.get_response()
202
- sleep(0.5)
203
- end
204
-
205
- sensor = SensorFactory.createSoundSensor
206
- while true
207
- puts sensor.get_5ms_res()
208
- puts sensor.get_1s_res()
209
- sleep(0.5)
210
- end
211
-
212
- =end
105
+ end
@@ -0,0 +1,31 @@
1
+ require 'evepi'
2
+ require 'evepi/module'
3
+ require 'json'
4
+
5
+ module Evepi
6
+ class ACC_01
7
+ @@sensor = Sensor.new 'acc_01'
8
+ def self.get_res(name='fuckname')
9
+ json_raw = @@sensor.get_raw_res(name)
10
+ return JSON.parse(json_raw)
11
+ end
12
+
13
+ def self.get_a(name='fuckname')
14
+ json_raw = @@sensor.get_raw_res(name)
15
+ result = JSON.parse(json_raw)
16
+ return result['ax'], result['ay'], result['az']
17
+ end
18
+
19
+ def self.get_w(name='fuckname')
20
+ json_raw = @@sensor.get_raw_res(name)
21
+ result = JSON.parse(json_raw)
22
+ return result['wx'], result['wy'], result['wz']
23
+ end
24
+
25
+ def self.get_r(name='fuckname')
26
+ json_raw = @@sensor.get_raw_res(name)
27
+ result = JSON.parse(json_raw)
28
+ return result['rx'], result['ry'], result['rz']
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,12 @@
1
+ require 'evepi'
2
+ require 'evepi/module'
3
+
4
+ module Evepi
5
+ class AIR_01
6
+ @@sensor = Sensor.new 'air_01'
7
+ def self.get_sensor()
8
+ return @@sensor
9
+ end
10
+ extend Evepi_Module
11
+ end
12
+ end
@@ -0,0 +1,12 @@
1
+ require 'evepi'
2
+ require 'evepi/module'
3
+
4
+ module Evepi
5
+ class INF_01
6
+ @@sensor = Sensor.new 'inf_01'
7
+ def self.get_sensor()
8
+ return @@sensor
9
+ end
10
+ extend Evepi_Module
11
+ end
12
+ end
@@ -0,0 +1,25 @@
1
+ require 'evepi'
2
+ require 'evepi/module'
3
+ require 'json'
4
+
5
+ module Evepi
6
+ class INP_01
7
+ @@sensor = Sensor.new 'inp_01'
8
+ def self.get_res(name='fuckname')
9
+ json_raw = @@sensor.get_raw_res(name)
10
+ return JSON.parse(json_raw)
11
+ end
12
+
13
+ def self.get_now_response(name='fuckname', cmd='fuck')
14
+ return @@sensor.get_res_by_key('now_result', name, cmd)
15
+ end
16
+
17
+ def self.get_now_action(name='fuckname', cmd='fuck')
18
+ return @@sensor.get_res_by_key('action', name, cmd)
19
+ end
20
+
21
+ def self.get_on_off_status(name='fuckname', cmd='fuck')
22
+ return @@sensor.get_res_by_key('on_off_status', name, cmd)
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,12 @@
1
+ module Evepi_Module
2
+ def get_res(name='fuckname')
3
+ return get_sensor().get_raw_res(name)
4
+ end
5
+
6
+ def test_get_res(name='fuckname')
7
+ while true
8
+ puts self.get_res
9
+ sleep(0.5)
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,86 @@
1
+ # test LCD out_01
2
+ =begin
3
+ out = LCD_Screen.new 'out_01'
4
+ out.clear
5
+ out.set_cursor 0, 1
6
+ out.write_after 'f'
7
+ out.set_cursor 1, 2
8
+ out.write_after 'u'
9
+ out.set_cursor 0, 3
10
+ out.write_after 'c'
11
+ out.set_cursor 1, 4
12
+ out.write_after 'k'
13
+ out.write_at 0, 6, 'zyw'
14
+
15
+ class SensorFactory
16
+ def self.createLCDScreen(sensor_name='out_01')
17
+ return LCD_Screen.new sensor_name
18
+ end
19
+ end
20
+
21
+ =end
22
+ require 'evepi'
23
+ require 'evepi/module'
24
+ require 'json'
25
+
26
+ module Evepi
27
+ class OUT_01
28
+ @@sensor = Sensor.new 'out_01'
29
+ def self._write(input_json, name='fuckname')
30
+ hostname = @@sensor.json_obj[name][0]
31
+ port = @@sensor.json_obj[name][1]
32
+ socket = TCPSocket.open(hostname, port)
33
+ socket.send input_json, 0
34
+ line = socket.recv(1024)
35
+ socket.close
36
+ end
37
+
38
+ def self.write(type, x, y, content, name='fuckname')
39
+ input_dict = {
40
+ :cursor_whether => type,
41
+ :cursor_i => x,
42
+ :cursor_j => y,
43
+ :input_string => content
44
+ }
45
+ input_json = JSON.dump(input_dict)
46
+ return self._write(input_json, name)
47
+ end
48
+
49
+ @@CURSOR_SET = 1
50
+ def self.set_cursor(x, y, name='fuckname')
51
+ input_dict = {
52
+ :cursor_whether => @@CURSOR_SET,
53
+ :cursor_i => x,
54
+ :cursor_j => y,
55
+ }
56
+ input_json = JSON.dump(input_dict)
57
+ return self._write(input_json, name)
58
+ end
59
+
60
+ def self.write_at(x, y, content, name='fuckname')
61
+ input_dict = {
62
+ :cursor_whether => @@CURSOR_SET,
63
+ :cursor_i => x,
64
+ :cursor_j => y,
65
+ :input_string => content
66
+ }
67
+ input_json = JSON.dump(input_dict)
68
+ return self._write(input_json, name)
69
+ end
70
+
71
+ @@CURSOR_APPEND = 0
72
+ def self.write_after(content, name='fuckname')
73
+ input_dict = {
74
+ :cursor_whether => @@CURSOR_APPEND,
75
+ :input_string => content
76
+ }
77
+ input_json = JSON.dump(input_dict)
78
+ return self._write(input_json, name)
79
+ end
80
+
81
+ @@CURSOR_CLEAR = 2
82
+ def self.clear(name='fuckname')
83
+ return self.write(@@CURSOR_CLEAR, 0, 0, nil, name)
84
+ end
85
+ end
86
+ end
@@ -0,0 +1,15 @@
1
+ require 'evepi'
2
+ require 'evepi/module'
3
+
4
+ module Evepi
5
+ class SND_01
6
+ @@sensor = SoundSensor.new 'snd_01'
7
+ def self.get_5ms_res(name='fuckname')
8
+ return @@sensor.get_raw_res(name, 'whether').to_i
9
+ end
10
+
11
+ def self.get_1s_res(name='fuckname')
12
+ return 100.0 - @@sensor.get_raw_res(name, 'sum').to_f
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,13 @@
1
+ require 'evepi'
2
+ require 'evepi/module'
3
+ require 'json'
4
+
5
+ module Evepi
6
+ class TEM_01
7
+ @@sensor = Sensor.new 'tem_01'
8
+ def self.get_res(name='fuckname')
9
+ json_raw = @@sensor.get_raw_res(name).gsub '\'', '"'
10
+ return JSON.parse(json_raw, :quirks_mode => true)
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,12 @@
1
+ require 'evepi'
2
+ require 'evepi/module'
3
+
4
+ module Evepi
5
+ class TUS_01
6
+ @@sensor = Sensor.new 'tus_01'
7
+ def self.get_sensor()
8
+ return @@sensor
9
+ end
10
+ extend Evepi_Module
11
+ end
12
+ end
@@ -0,0 +1,12 @@
1
+ require 'evepi'
2
+ require 'evepi/module'
3
+
4
+ module Evepi
5
+ class Ultrason
6
+ @@sensor = Sensor.new 'ultrason'
7
+ def self.get_sensor()
8
+ return @@sensor
9
+ end
10
+ extend Evepi_Module
11
+ end
12
+ end
metadata CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
5
5
  segments:
6
6
  - 0
7
7
  - 2
8
- - 2
9
- version: 0.2.2
8
+ - 3
9
+ version: 0.2.3
10
10
  platform: ruby
11
11
  authors:
12
12
  - Zhang Yiwei
@@ -14,7 +14,7 @@ autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
16
 
17
- date: 2015-11-15 00:00:00 +08:00
17
+ date: 2016-01-11 00:00:00 +08:00
18
18
  default_executable:
19
19
  dependencies: []
20
20
 
@@ -28,6 +28,16 @@ extra_rdoc_files: []
28
28
 
29
29
  files:
30
30
  - lib/evepi.rb
31
+ - lib/evepi/acc_01.rb
32
+ - lib/evepi/air_01.rb
33
+ - lib/evepi/inf_01.rb
34
+ - lib/evepi/inp_01.rb
35
+ - lib/evepi/module.rb
36
+ - lib/evepi/out_01.rb
37
+ - lib/evepi/snd_01.rb
38
+ - lib/evepi/tem_01.rb
39
+ - lib/evepi/tus_01.rb
40
+ - lib/evepi/ultrason.rb
31
41
  has_rdoc: true
32
42
  homepage: http://rubygems.org/gems/evepi
33
43
  licenses: