initial commit
This commit is contained in:
@@ -0,0 +1,57 @@
|
||||
// Test script to capture nodeinfo messages
|
||||
const mqtt = require('mqtt');
|
||||
|
||||
const client = mqtt.connect('mqtt://mqtt.meshtastic.org', {
|
||||
username: 'meshdev',
|
||||
password: 'large4cats',
|
||||
clientId: `test-${Math.random().toString(16).substr(2, 8)}`
|
||||
});
|
||||
|
||||
client.on('connect', () => {
|
||||
console.log('Connected! Subscribing to JSON topics...');
|
||||
client.subscribe('msh/US/+/2/json/#', (err) => {
|
||||
if (err) {
|
||||
console.error('Subscribe error:', err);
|
||||
} else {
|
||||
console.log('Subscribed! Waiting for nodeinfo messages...\n');
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
let nodeinfoCount = 0;
|
||||
const seenTypes = new Set();
|
||||
|
||||
client.on('message', (topic, message) => {
|
||||
try {
|
||||
const data = JSON.parse(message.toString());
|
||||
|
||||
if (!seenTypes.has(data.type)) {
|
||||
seenTypes.add(data.type);
|
||||
console.log(`\n=== New Message Type: ${data.type} ===`);
|
||||
console.log(`Topic: ${topic}`);
|
||||
console.log(`Data:`, JSON.stringify(data, null, 2));
|
||||
console.log('\n');
|
||||
}
|
||||
|
||||
if (data.type === 'nodeinfo' && nodeinfoCount < 3) {
|
||||
nodeinfoCount++;
|
||||
console.log(`\n=== NodeInfo Message #${nodeinfoCount} ===`);
|
||||
console.log(`Topic: ${topic}`);
|
||||
console.log(`Data:`, JSON.stringify(data, null, 2));
|
||||
console.log('\n');
|
||||
}
|
||||
|
||||
if (nodeinfoCount >= 3 && seenTypes.size >= 5) {
|
||||
console.log('Captured enough samples, exiting...');
|
||||
client.end();
|
||||
process.exit(0);
|
||||
}
|
||||
} catch (e) {
|
||||
// Not JSON, skip
|
||||
}
|
||||
});
|
||||
|
||||
setTimeout(() => {
|
||||
console.log('Timeout - captured types:', Array.from(seenTypes));
|
||||
process.exit(1);
|
||||
}, 60000);
|
||||
Reference in New Issue
Block a user