meshtastic 0.0.12 → 0.0.13

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
  SHA256:
3
- metadata.gz: 121b0a73d30f792b4da0cbd5b6ed91b648bc26ca3349cb47369fac738f837b03
4
- data.tar.gz: a5ddf7b9969ab8c022107f84e192709c01441f5d78f4f011679b948dbe857006
3
+ metadata.gz: 3526ab71260935428991ee992ab7f28de3b0cfb3f94dea2849654eaa15aa924d
4
+ data.tar.gz: 878a6a3c9e051296f6fecf3719748bc1171e369ca4ae63b910ab2417494ca0c5
5
5
  SHA512:
6
- metadata.gz: 110570d4591453df75c6d930df3c4ac3adcb06fd85e4354496fd093b080352754d6d8c7fb4e454989cd2ca0f27e4d53dd1664939b980fb3d59cb465d1afaec1e
7
- data.tar.gz: 5be78bd5b710e9974708064eeccfd1563092051e66e1793b07fb34f3bc02687f4f483a79b3124d8d11cb43091bbc3076305bc8bf51b11373ab44686c1fd38496
6
+ metadata.gz: 1826305d9e558ad177c438378b43d67b9736f0113e826f04e1d0f2a2579f185a09a2a45f4525494a92a3199eb716e1a3a8754ae76958b5e639a11bc0737256a4
7
+ data.tar.gz: 6eea890ed77dea25e1c7bd303d5ad4ba4bbda641e64435fd9e8603062bee5511e085797dde5813a36b1fcd79976a28788c2e4ec36d4f46200eddc8a0548a82d3
data/Gemfile CHANGED
@@ -16,7 +16,7 @@ gem 'bundler', '>=2.5.3'
16
16
  gem 'bundle-audit', '0.1.0'
17
17
  gem 'geocoder', '1.8.2'
18
18
  gem 'google-protobuf', '3.21.12'
19
- gem 'google-protobuf-z', '3.5.1'
19
+ # gem 'google-protobuf-z', '3.5.1'
20
20
  gem 'mqtt', '0.6.0'
21
21
  gem 'rake', '13.2.1'
22
22
  gem 'rdoc', '6.6.3.1'
@@ -78,20 +78,31 @@ module Meshtastic
78
78
 
79
79
  # cipher = OpenSSL::Cipher.new('AES-256-CTR')
80
80
  cipher = OpenSSL::Cipher.new('AES-128-CTR')
81
- mqtt_obj.get_packet do |packet|
82
- raw_packet = packet.to_s.b
83
- raw_packet_len = raw_packet.length
81
+ mqtt_obj.get_packet do |packet_bytes|
82
+ # puts "Packet Bytes: #{packet_bytes.public_methods}"
83
+ raw_packet = packet_bytes.to_s.b
84
+ raw_packet_len = raw_packet.to_s.b.length
85
+ raw_topic = packet_bytes.topic
86
+ raw_payload = packet_bytes.payload
87
+ raw_payload_len = raw_payload.length
88
+
84
89
  begin
85
90
  puts '-' * 80
86
91
 
92
+ payload = {}
87
93
  if json
88
- raw_payload = JSON.parse(packet.payload, symbolize_names: true)
89
- payload = Meshtastic::ServiceEnvelope.json_decode(raw_payload)
90
- map_report = Meshtastic::MapReport.json_decode(raw_payload)
94
+ json_payload = JSON.parse(raw_payload, symbolize_names: true)
95
+ payload = Meshtastic::ServiceEnvelope.json_decode(json_payload)
96
+ map_report = Meshtastic::MapReport.json_decode(json_payload)
91
97
  else
92
- raw_payload = packet.payload.to_s
93
- payload = Meshtastic::ServiceEnvelope.decode(raw_payload).to_hash[:packet]
94
- map_report = Meshtastic::MapReport.decode(raw_payload).to_hash
98
+ svc_envl= Meshtastic::ServiceEnvelope.decode(raw_payload)
99
+ payload = svc_envl.to_h[:packet]
100
+ # puts "STILL GOOD: #{payload.inspect}"
101
+ # puts "Public Methods: #{Meshtastic::MapReport.public_methods}"
102
+ # puts "Public Methods: #{Meshtastic::MapReport.class}"
103
+ # map_report_decode = Meshtastic::MapReport.decode(raw_payload)
104
+ # map_report = map_report_decode.to_h
105
+ # puts "STILL GOOD: #{map_report.inspect}"
95
106
  end
96
107
 
97
108
  puts "*** MESSAGE ***"
@@ -103,8 +114,7 @@ module Meshtastic
103
114
  puts "Channel: #{channel}"
104
115
  packet_id = payload[:id]
105
116
  puts "Packet ID: #{packet_id}"
106
- topic = packet.topic
107
- puts "\nTopic: #{topic}"
117
+ puts "\nTopic: #{raw_topic}"
108
118
 
109
119
  decoded_payload = payload[:decoded]
110
120
  if decoded_payload
@@ -149,44 +159,49 @@ module Meshtastic
149
159
  end
150
160
  puts '*' * 20
151
161
 
152
- map_long_name = map_report[:long_name].b
153
- puts "\n*** MAP STATS ***"
154
- puts "Map Long Name: #{map_long_name.inspect}"
155
- map_short_name = map_report[:short_name]
156
- puts "Map Short Name: #{map_short_name}"
157
- role = map_report[:role]
158
- puts "Role: #{role}"
159
- hw_model = map_report[:hw_model]
160
- puts "Hardware Model: #{hw_model}"
161
- firmware_version = map_report[:firmware_version]
162
- puts "Firmware Version: #{firmware_version}"
163
- region = map_report[:region]
164
- puts "Region: #{region}"
165
- modem_preset = map_report[:modem_preset]
166
- puts "Modem Preset: #{modem_preset}"
167
- has_default_channel = map_report[:has_default_channel]
168
- puts "Has Default Channel: #{has_default_channel}"
169
- latitiude_i = map_report[:latitude_i]
170
- puts "Latitude: #{latitiude_i}"
171
- longitude_i = map_report[:longitude_i]
172
- puts "Longitude: #{longitude_i}"
173
- altitude = map_report[:altitude]
174
- puts "Altitude: #{altitude}"
175
- position_precision = map_report[:position_precision]
176
- puts "Position Precision: #{position_precision}"
177
- num_online_local_nodes = map_report[:num_online_local_nodes]
178
- puts "Number of Online Local Nodes: #{num_online_local_nodes}"
179
- puts '*' * 20
162
+ # map_long_name = map_report[:long_name].b
163
+ # puts "\n*** MAP STATS ***"
164
+ # puts "Map Long Name: #{map_long_name.inspect}"
165
+ # map_short_name = map_report[:short_name]
166
+ # puts "Map Short Name: #{map_short_name}"
167
+ # role = map_report[:role]
168
+ # puts "Role: #{role}"
169
+ # hw_model = map_report[:hw_model]
170
+ # puts "Hardware Model: #{hw_model}"
171
+ # firmware_version = map_report[:firmware_version]
172
+ # puts "Firmware Version: #{firmware_version}"
173
+ # region = map_report[:region]
174
+ # puts "Region: #{region}"
175
+ # modem_preset = map_report[:modem_preset]
176
+ # puts "Modem Preset: #{modem_preset}"
177
+ # has_default_channel = map_report[:has_default_channel]
178
+ # puts "Has Default Channel: #{has_default_channel}"
179
+ # latitiude_i = map_report[:latitude_i]
180
+ # puts "Latitude: #{latitiude_i}"
181
+ # longitude_i = map_report[:longitude_i]
182
+ # puts "Longitude: #{longitude_i}"
183
+ # altitude = map_report[:altitude]
184
+ # puts "Altitude: #{altitude}"
185
+ # position_precision = map_report[:position_precision]
186
+ # puts "Position Precision: #{position_precision}"
187
+ # num_online_local_nodes = map_report[:num_online_local_nodes]
188
+ # puts "Number of Online Local Nodes: #{num_online_local_nodes}"
189
+ # puts '*' * 20
180
190
 
181
191
  puts "\n*** PACKET DEBUGGING ***"
182
192
  puts "Payload: #{payload.inspect}"
183
- puts "\nMap Report: #{map_report.inspect}"
193
+ # puts "\nMap Report: #{map_report.inspect}"
184
194
  puts "\nRaw Packet: #{raw_packet.inspect}"
185
195
  puts "Length: #{raw_packet_len}"
186
196
  puts '*' * 20
187
- rescue Google::Protobuf::ParseError
197
+ rescue Google::Protobuf::ParseError => e
198
+ puts "ERROR: #{e.inspect}"
199
+ puts "\n*** PACKET DEBUGGING ***"
200
+ puts "Payload: #{payload.inspect}"
201
+ # puts "\nMap Report: #{map_report.inspect}"
188
202
  puts "\nRaw Packet: #{raw_packet.inspect}"
189
203
  puts "Length: #{raw_packet_len}"
204
+ puts '*' * 20
190
205
  next
191
206
  ensure
192
207
  puts '-' * 80
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Meshtastic
4
- VERSION = '0.0.12'
4
+ VERSION = '0.0.13'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: meshtastic
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.12
4
+ version: 0.0.13
5
5
  platform: ruby
6
6
  authors:
7
7
  - 0day Inc.
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-04-25 00:00:00.000000000 Z
11
+ date: 2024-04-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: brakeman
@@ -80,20 +80,6 @@ dependencies:
80
80
  - - '='
81
81
  - !ruby/object:Gem::Version
82
82
  version: 3.21.12
83
- - !ruby/object:Gem::Dependency
84
- name: google-protobuf-z
85
- requirement: !ruby/object:Gem::Requirement
86
- requirements:
87
- - - '='
88
- - !ruby/object:Gem::Version
89
- version: 3.5.1
90
- type: :runtime
91
- prerelease: false
92
- version_requirements: !ruby/object:Gem::Requirement
93
- requirements:
94
- - - '='
95
- - !ruby/object:Gem::Version
96
- version: 3.5.1
97
83
  - !ruby/object:Gem::Dependency
98
84
  name: mqtt
99
85
  requirement: !ruby/object:Gem::Requirement