comunika_gsm 0.1.26 → 0.1.27

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 717beda74b5fbfc2aa3d9707ad88405ebdb6d28d
4
- data.tar.gz: 7acc93a732ff29b6077efb438bc10ad489b66987
3
+ metadata.gz: 316087df89662febc0b11a4b79949a5a8ca07895
4
+ data.tar.gz: d91e4b5cef87d9adf91888b5b27317bc34bc712c
5
5
  SHA512:
6
- metadata.gz: e1fd2dd26aeab6e2c93a07a7c62091d0809810ab5301e0bc2cc79128ff8b34303a8ce15eb5b5d91231af5808476ca1ebbe37994967cf26aaa8dc68c3b8f6e07e
7
- data.tar.gz: 7249ecfa3de3561d2869d4894f1df7817be7b0fd71c758178ad45ecf1940ef88e53a099c7538ad17015a6e8725c4bf10a02628a045b881a9ac0259d0be2fb089
6
+ metadata.gz: 89d2dd57711efa2c42e1c5d9d61b914a79fd0767200747ed412c3b8cb648aaf0c4cdc5176fd3d6b12db7ada5d454ca385d067370b2686c7a90f9a52a8d7c2ded
7
+ data.tar.gz: 9f93f03e4e7e0c1f0988b9fc697390ea699148fa2f859ce45ffe95616f1947ef4c683e3444b4d51cb99945162fb1280db5ca296f869cceb061881ed23b2bb0ba
@@ -1,26 +1,27 @@
1
1
  module ComunikaGsm
2
2
  class GSM2
3
- attr_accessor :status, :imei, :iccid, :provider, :signal_level, :msgs
3
+ attr_accessor :status, :imei, :iccid, :provider, :signal_level, :busy, :last_send_at, :port, :debug
4
4
 
5
- def initialize(params = {})
5
+ def initialize(port,params = {})
6
6
  raise "Invalid params" if params.empty?
7
+ self.busy = false
7
8
 
8
9
  begin
9
- @@port = SerialPort.new("/dev/#{params[:port]}",19200,8,1, SerialPort::NONE)
10
- @@port.read_timeout = params[:read_timeout] || 150 ## Set timeout of command
10
+ self.port = SerialPort.new("/dev/#{port}",19200,8,1, SerialPort::NONE)
11
+ self.port.read_timeout = params[:read_timeout] || 150 ## Set timeout of command
11
12
 
12
- @@debug = params[:debug] || false
13
+ self.debug = params[:debug] || false
13
14
 
14
15
  res = cmd("ATE0\r\n") ## Set echo off
15
16
  if res.length > 0
16
17
  cmd("AT+CMGF=0\r\n") ## Set PDU mode
17
- @status = true
18
+ self.status = true
18
19
 
19
- if params[:load_settings]
20
- alpha(:imei)
21
- alpha(:iccid)
22
- alpha(:provider)
23
- alpha(:signal_level)
20
+ if params[:load_infos]
21
+ info("imei")
22
+ info("iccid")
23
+ info("provider")
24
+ info("signal_level")
24
25
  end
25
26
  else
26
27
  return @status = false
@@ -33,44 +34,45 @@ module ComunikaGsm
33
34
 
34
35
  def cmd(c)
35
36
  begin
36
- @@port.write(c)
37
+ self.port.write(c)
37
38
  normalize(c,wait)
38
39
  rescue => ex
39
40
  puts ex
40
- @status = false
41
- #close
41
+ self.status = false
42
+ close if self.port
42
43
  end
43
44
  end
44
45
 
45
46
  def wait
46
- buffer = @@port.read
47
- puts buffer if @@debug
48
- @@port.flush()
47
+ buffer = self.port.read
48
+ puts buffer if self.debug
49
+ self.port.flush()
49
50
  buffer
50
51
  end
51
52
 
52
53
  def close
53
- puts "Fechando conexão" if @@debug
54
- @@port.close if @@port
55
- @status = false
54
+ puts "Fechando conexão" if self.debug
55
+ self.port.close if self.port
56
+ self.status = false
56
57
  end
57
58
 
58
59
  def send_sms(num,msg,params = {})
59
- puts "-- Send message to #{num} -- msg #{msg}"
60
- if num.length == 0 || num.length < 11 || msg.length == 0
60
+ self.busy = true
61
+ puts "-- Send message to #{num} -- msg #{msg}" if self.debug
62
+ if num.length == 0 || num.length < 11 || num.length > 11 || msg.length == 0
61
63
  {id: nil, status: "ERROR", code: "600"}
62
64
  else
63
65
  ## GENERATE PDU TO MESSAGE ##
64
- pdu = PDU.encode(:number => "+55" + num, :message => msg, :smsc => params[:smsc])
66
+ pdu = PDU.encode("+55" + num, msg, :smsc => params[:smsc])
65
67
 
66
68
  cmd("AT+CMGS=#{pdu[:size]}\r")
67
69
  res = cmd("#{pdu[:pdu]}#{26.chr}")
68
70
 
69
- puts "--- Resultado do envio: #{res}" if @@debug
71
+ puts "--- Resultado do envio: #{res}" if self.debug
70
72
 
71
73
  sleep 3
72
- while res.to_s.length == 0
73
- puts "--- Esperando resultado envio: #{res}" if @@debug
74
+ while res.length == 0
75
+ puts "--- Esperando resultado envio: #{res}" if self.debug
74
76
  res = wait
75
77
  end
76
78
 
@@ -86,28 +88,34 @@ module ComunikaGsm
86
88
  id = nil
87
89
  end
88
90
 
91
+ self.busy = false
92
+ self.last_send_at = Time.now
89
93
  {:id => id, :code => code, :status => status}
90
94
  end
91
95
  end
92
96
 
93
97
  def messages
98
+ self.busy = true
94
99
  sms = cmd("AT+CMGL=4\r\n")
95
- @msgs = sms.scan(/\+CMGL\:\s*?(\d+),\s*?(\d+),.*?\,s*?(\d+)\r\n(.*)/)
100
+ msgs = sms.scan(/\+CMGL\:\s*?(\d+),\s*?(\d+),.*?\,s*?(\d+)\r\n(.*)/)
96
101
 
97
102
  ## IDS: 0 - ID, 1 -- ,2 - size, 3 - PDU
98
- @msgs.collect!{ |m| PDU::PDUDecode.new(connection: self, id: m[0], size: m[2], pdu: m[3].chomp).decode }# rescue nil
103
+ self.busy = false
104
+ msgs.collect!{ |m| PDU::PDUDecode.new(connection: self, id: m[0], size: m[2], pdu: m[3].chomp).decode }# rescue nil
99
105
  end
100
106
 
101
- def alpha(type)
107
+ def info(type)
102
108
  case type
103
- when :imei
104
- @imei = cmd("AT+CGSN\r\n")
105
- when :iccid
106
- @iccid = cmd("AT+CRSM=176,12258,0,0,10\r\n")
107
- when :provider
108
- @provider = cmd("AT+COPS?\r\n")
109
- when :signal_level
110
- @signal_level = cmd("AT+CSQ\r\n")
109
+ when "imei"
110
+ self.imei = cmd("AT+CGSN\r\n")
111
+ when "iccid"
112
+ self.iccid = cmd("AT+CRSM=176,12258,0,0,10\r\n")
113
+ when "provider"
114
+ self.provider = cmd("AT+COPS?\r\n")
115
+ when "signal_level"
116
+ self.signal_level = cmd("AT+CSQ\r\n")
117
+ when "port"
118
+ self.port
111
119
  else
112
120
  cmd("AT\r\n")
113
121
  end
@@ -1,10 +1,10 @@
1
1
  module ComunikaGsm
2
2
  module PDU
3
3
  include ComunikaGsm
4
- def self.encode(params)
5
- return unless params[:message]
6
- return unless params[:number]
7
- result = @@pdu_converter.call("stringToPDU",params[:message],params[:number],params[:smsc] || '',params[:ecoding] || 7,params[:sms_class] || 1,params[:valid],params[:deliver] || true,params[:valid_flag] || false)
4
+ def self.encode(num, message, params = {})
5
+ return unless message
6
+ return unless num
7
+ result = @@pdu_converter.call("stringToPDU",message,num,params[:smsc] || '',params[:ecoding] || 7,params[:sms_class] || 1,params[:valid],params[:deliver] || true,params[:valid_flag] || false)
8
8
  self.parse_json(result)
9
9
  end
10
10
 
@@ -1,3 +1,3 @@
1
1
  module ComunikaGsm
2
- VERSION = "0.1.26"
2
+ VERSION = "0.1.27"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: comunika_gsm
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.26
4
+ version: 0.1.27
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jefferson Silva
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2017-10-30 00:00:00.000000000 Z
11
+ date: 2017-10-31 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler