scan_beacon 0.5.9 → 0.5.10
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/scan_beacon/ble112_device.rb +18 -2
- data/lib/scan_beacon/ble112_scanner.rb +3 -0
- data/lib/scan_beacon/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 838d6c716e2a552286f23328ddbf3df125d42b91
|
4
|
+
data.tar.gz: 03f63cc6ced4d549618d7d93cdef6bd2bbee6779
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ca02db0c9420967326b7977e7bc130e2447549c369d29a688dbf898f47298081124c443cfe1a624e553972e2dd05d4717e3b764c99b9ae91c86e5ad0ced780d2
|
7
|
+
data.tar.gz: ee3eb6dd03090eca7fe8ac1f48ca699b65a8f76ed716eeeb62a9bdc89a94ec4050c8d8d974dd0810be462258057d8739872fa3afecd21d2fda746b565eccb27f
|
@@ -12,6 +12,7 @@ module ScanBeacon
|
|
12
12
|
BG_RESET = 0
|
13
13
|
BG_DISCONNECT = 0
|
14
14
|
BG_SET_MODE = 1
|
15
|
+
BG_GET_ADDRESS = 2
|
15
16
|
BG_GAP_SET_PRIVACY_FLAGS = 0
|
16
17
|
BG_GAP_SET_ADV_PARAM = 8
|
17
18
|
BG_GAP_SET_ADV_DATA = 9
|
@@ -26,17 +27,27 @@ module ScanBeacon
|
|
26
27
|
BG_GAP_USER_DATA = 4
|
27
28
|
BG_GAP_CONNECTABLE = 2
|
28
29
|
|
30
|
+
def self.find_all
|
31
|
+
devices = Dir.glob("/dev/{cu.usbmodem,ttyACM}*")
|
32
|
+
devices.select {|device_path|
|
33
|
+
device = self.new(device_path)
|
34
|
+
device.open{ device.get_addr } != nil
|
35
|
+
}
|
36
|
+
end
|
37
|
+
|
29
38
|
def initialize(port=nil)
|
30
|
-
@port = port ||
|
39
|
+
@port = port || BLE112Device.find_all.first
|
31
40
|
end
|
32
41
|
|
33
42
|
def open
|
43
|
+
response = nil
|
34
44
|
configure_port
|
35
45
|
File.open(@port, 'r+b') do |file|
|
36
46
|
@file = file
|
37
|
-
yield
|
47
|
+
response = yield(self)
|
38
48
|
end
|
39
49
|
@file = nil
|
50
|
+
return response
|
40
51
|
end
|
41
52
|
|
42
53
|
def configure_port
|
@@ -45,6 +56,11 @@ module ScanBeacon
|
|
45
56
|
end
|
46
57
|
end
|
47
58
|
|
59
|
+
def get_addr
|
60
|
+
response = bg_command(@file, BG_MSG_CLASS_SYSTEM, BG_GET_ADDRESS)
|
61
|
+
response[4..-1].reverse.unpack("H2:H2:H2:H2:H2:H2").join(":") if response.length == 10
|
62
|
+
end
|
63
|
+
|
48
64
|
def start_scan
|
49
65
|
# disconnect any connections
|
50
66
|
bg_command(@file, BG_MSG_CLASS_CONNECTION, BG_DISCONNECT,0)
|
data/lib/scan_beacon/version.rb
CHANGED