meshtastic 0.0.43 → 0.0.44
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: 5dec0934f3c9c639e3af0cf5f8b88447dd83a96c5ed8082ff954ce13c5b758dd
|
4
|
+
data.tar.gz: c4a3e692fdc5f92a8e1ddf997ae9d5f7c6e33915dd239546d52f3adcee690a44
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8c20d4c63ffdf13b5903f2e5605d5296268613b7bd7cc3380f48e4405e7b4aabda8216775f6664b42e5886dffdac42cfcb66b13bc1a48068e19f3152e1fa9598
|
7
|
+
data.tar.gz: a2ff5b9076561cb0b43b798d4bc6471f7ee2a4387be99bd53b98b389b4344954fbf451ce41be341c6e3a945b12adc02ba531883466fbb46cde30d8f7e0651c02
|
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_hex] = 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.44
|
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
|