meshtastic 0.0.43 → 0.0.45
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/meshtastic/mqtt.rb +27 -10
- data/lib/meshtastic/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b2d188ac05f244ce12a4825659a327bb883a51cb601875e5c21e8b45b4528741
|
4
|
+
data.tar.gz: 535ab977c36d067eb9c6a2a3be242b96efa1e3ed0864e2e4d3517970c806d870
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c46cdbb49616cc18ddf12a06f11e2dcd981581455146923571601a16ca417a7ddf18b3d769a6182b874ae01aafb526ed6d967c453dfedb30142ed995b398728c
|
7
|
+
data.tar.gz: df15c9aa4b5084734e3db4122647242ed16d89ddc45d8a54bc163602b86ca5cf93a110ca064d90052698f726dc01910023ac8506bbc1b88ce50609dd825f0abc
|
data/lib/meshtastic/mqtt.rb
CHANGED
@@ -128,22 +128,39 @@ module Meshtastic
|
|
128
128
|
# when :ZPS_APP
|
129
129
|
# decoder = Meshtastic::Zps
|
130
130
|
end
|
131
|
+
|
131
132
|
payload = decoder.decode(payload).to_h
|
132
|
-
|
133
|
+
|
134
|
+
if payload.keys.include?(:latitude_i)
|
133
135
|
lat = payload[:latitude_i] * 0.0000001
|
134
|
-
lon = payload[:longitude_i] * 0.0000001
|
135
136
|
payload[:latitude] = lat
|
137
|
+
end
|
138
|
+
|
139
|
+
if payload.keys.include?(:longitude_i)
|
140
|
+
lon = payload[:longitude_i] * 0.0000001
|
136
141
|
payload[:longitude] = lon
|
137
|
-
if gps_metadata
|
138
|
-
gps_search_resp = Meshtastic.gps_search(lat: lat, lon: lon)
|
139
|
-
payload[:gps_metadata] = gps_search_resp
|
140
|
-
end
|
141
142
|
end
|
142
143
|
|
143
144
|
if payload.keys.include?(:macaddr)
|
144
|
-
|
145
|
-
|
146
|
-
|
145
|
+
mac_raw = payload[:macaddr]
|
146
|
+
mac_hex_arr = mac_raw.bytes.map { |byte| byte.to_s(16).rjust(2, '0') }
|
147
|
+
mac_hex_str = mac_hex_arr.join(':')
|
148
|
+
payload[:macaddr] = mac_hex_str
|
149
|
+
end
|
150
|
+
|
151
|
+
if payload.keys.include?(:time)
|
152
|
+
time_int = payload[:time]
|
153
|
+
time_utc = Time.at(time_int).utc if time_int.is_a?(Integer)
|
154
|
+
payload[:time_utc] = time_utc
|
155
|
+
end
|
156
|
+
|
157
|
+
if gps_metadata && payload[:latitude] && payload[:longitude]
|
158
|
+
lat = payload[:latitude]
|
159
|
+
lon = payload[:longitude]
|
160
|
+
unless lat.zero? && lon.zero?
|
161
|
+
gps_search_resp = gps_search(lat: lat, lon: lon)
|
162
|
+
payload[:gps_metadata] = gps_search_resp
|
163
|
+
end
|
147
164
|
end
|
148
165
|
|
149
166
|
payload
|
@@ -318,7 +335,7 @@ module Meshtastic
|
|
318
335
|
|
319
336
|
gps_arr = [lat.to_f, lon.to_f]
|
320
337
|
|
321
|
-
Geocoder.search(gps_arr)
|
338
|
+
Geocoder.search(gps_arr).first.data
|
322
339
|
rescue StandardError => e
|
323
340
|
raise e
|
324
341
|
end
|
data/lib/meshtastic/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: meshtastic
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.45
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- 0day Inc.
|
@@ -348,7 +348,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
348
348
|
- !ruby/object:Gem::Version
|
349
349
|
version: '0'
|
350
350
|
requirements: []
|
351
|
-
rubygems_version: 3.5.
|
351
|
+
rubygems_version: 3.5.10
|
352
352
|
signing_key:
|
353
353
|
specification_version: 4
|
354
354
|
summary: Ruby gem for Meshtastic
|