mirror of
https://github.com/meshtastic/Meshtastic-Android.git
synced 2026-10-03 00:54:34 -04:00
3 lines
46 KiB
HTML
3 lines
46 KiB
HTML
<!DOCTYPE html> <html lang="en-US"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=Edge"> <link rel="stylesheet" href="/Meshtastic-Android/assets/css/just-the-docs-default.css"> <link rel="stylesheet" href="/Meshtastic-Android/assets/css/just-the-docs-head-nav.css" id="jtd-head-nav-stylesheet"> <style id="jtd-nav-activation"> .site-nav ul li a { background-image: none; } </style> <script src="/Meshtastic-Android/assets/js/vendor/lunr.min.js"></script> <script src="/Meshtastic-Android/assets/js/just-the-docs.js"></script> <meta name="viewport" content="width=device-width, initial-scale=1"> <!-- Begin Jekyll SEO tag v2.9.0 --> <title>探索 | Meshtastic Android</title> <meta name="generator" content="Jekyll v4.4.1" /> <meta property="og:title" content="探索" /> <meta property="og:locale" content="ja_rJP" /> <meta name="description" content="メッシュネットワークを探索します。ローカルメッシュ探索スキャナー、ルート追跡の経路、隣接ノードのマップ、ノード探索ツールを説明します。" /> <meta name="twitter:description" property="og:description" content="メッシュネットワークを探索します。ローカルメッシュ探索スキャナー、ルート追跡の経路、隣接ノードのマップ、ノード探索ツールを説明します。" /> <link rel="canonical" href="/Meshtastic-Android/ja-rJP/user/discovery.html" /> <meta property="og:url" content="/Meshtastic-Android/ja-rJP/user/discovery.html" /> <meta property="og:site_name" content="Meshtastic Android" /> <meta property="og:type" content="website" /> <meta name="twitter:card" content="summary" /> <meta name="twitter:title" content="探索" /> <script type="application/ld+json"> {"@context":"https://schema.org","@type":"WebPage","description":"メッシュネットワークを探索します。ローカルメッシュ探索スキャナー、ルート追跡の経路、隣接ノードのマップ、ノード探索ツールを説明します。","headline":"探索","url":"/Meshtastic-Android/ja-rJP/user/discovery.html"}</script> <!-- End Jekyll SEO tag --> <!-- Inter font from Google Fonts --> <link rel="preconnect" href="https://fonts.googleapis.com"> <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> <link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap" rel="stylesheet"> <style> /* M3-inspired typography */ :root { --font-sans: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif; --font-mono: 'JetBrains Mono', 'Fira Code', 'Cascadia Code', ui-monospace, monospace; } body, .site-title, .search-input { font-family: var(--font-sans) !important; } code, pre, .highlight { font-family: var(--font-mono) !important; font-size: 0.875em; } /* M3 surface elevation & rounding */ .main-content table { border-radius: 12px; overflow: hidden; } .main-content blockquote { border-radius: 12px; padding: 1rem 1.25rem; border-left-width: 4px; } .main-content pre { border-radius: 12px; } .main-content code { border-radius: 6px; padding: 0.15em 0.4em; } /* Smooth transitions for theme switching */ body, .side-bar, .main, .main-content, .site-header, .search-input, .search-results, a { transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease; } /* Theme toggle button styling */ .theme-toggle { background: none; border: 1px solid var(--border-color, #D5D6E0); border-radius: 20px; padding: 6px 12px; cursor: pointer; font-family: var(--font-sans); font-size: 0.75rem; font-weight: 500; display: inline-flex; align-items: center; gap: 6px; color: inherit; margin: 0 auto; transition: background-color 0.2s ease, border-color 0.2s ease; } .theme-toggle:hover { background-color: rgba(128, 128, 128, 0.1); } .theme-toggle-wrap { text-align: center; padding: 12px 0 4px; } /* Heading weight refinement */ h1, h2, h3, h4, h5, h6 { font-weight: 600; letter-spacing: -0.01em; } h1 { font-weight: 700; letter-spacing: -0.02em; } /* Smooth anchor scroll */ html { scroll-behavior: smooth; } /* Language switcher */ .language-switcher { display: inline-block; position: relative; margin-left: 8px; } .language-switcher-btn { cursor: pointer; font-size: 0.8rem; font-weight: 500; font-family: var(--font-sans); list-style: none; padding: 4px 10px; border: 1px solid var(--border-color, #D5D6E0); border-radius: 16px; display: inline-flex; align-items: center; gap: 4px; transition: background-color 0.2s ease; } .language-switcher-btn:hover { background-color: rgba(128, 128, 128, 0.1); } .language-switcher[open] .language-switcher-list { display: block; } .language-switcher-list { position: absolute; top: 100%; right: 0; left: auto; z-index: 100; list-style: none; padding: 8px 0; margin: 4px 0 0; min-width: 140px; background: var(--body-background-color, #fff); border: 1px solid var(--border-color, #D5D6E0); border-radius: 12px; box-shadow: 0 4px 12px rgba(0,0,0,0.1); } .language-switcher-list li { padding: 0; } .language-switcher-list a { display: block; padding: 6px 16px; text-decoration: none; font-size: 0.85rem; color: inherit; } .language-switcher-list a:hover { background-color: rgba(103, 234, 148, 0.15); } /* Version switcher (shares the language-switcher dropdown styling) */ .version-switcher { margin-left: 8px; } .version-switcher[hidden] { display: none; } /* Link out to the upstream meshtastic.org docs */ .upstream-docs-link { display: inline-flex; align-items: center; margin-left: 8px; padding: 4px 10px; border: 1px solid var(--border-color, #D5D6E0); border-radius: 16px; font-size: 0.8rem; font-weight: 500; font-family: var(--font-sans); text-decoration: none; color: inherit; transition: background-color 0.2s ease; } .upstream-docs-link:hover { background-color: rgba(128, 128, 128, 0.1); } </style> <script> // Respect OS preference on first visit, then remember user choice (function() { var stored = localStorage.getItem('jtd-theme'); if (stored) return; // will be applied by jtd.setTheme below if (window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches) { localStorage.setItem('jtd-theme', 'meshtastic-dark'); } })(); </script> </head> <body> <a class="skip-to-main" href="#main-content">Skip to main content</a> <svg xmlns="http://www.w3.org/2000/svg" class="d-none"> <symbol id="svg-link" viewBox="0 0 24 24"> <title>Link</title> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-link"> <path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path> </svg> </symbol> <symbol id="svg-menu" viewBox="0 0 24 24"> <title>Menu</title> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-menu"> <line x1="3" y1="12" x2="21" y2="12"></line><line x1="3" y1="6" x2="21" y2="6"></line><line x1="3" y1="18" x2="21" y2="18"></line> </svg> </symbol> <symbol id="svg-arrow-right" viewBox="0 0 24 24"> <title>Expand</title> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-chevron-right"> <polyline points="9 18 15 12 9 6"></polyline> </svg> </symbol> <!-- Feather. MIT License: https://github.com/feathericons/feather/blob/master/LICENSE --> <symbol id="svg-external-link" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-external-link"> <title id="svg-external-link-title">(external link)</title> <path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"></path><polyline points="15 3 21 3 21 9"></polyline><line x1="10" y1="14" x2="21" y2="3"></line> </symbol> <symbol id="svg-doc" viewBox="0 0 24 24"> <title>Document</title> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-file"> <path d="M13 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V9z"></path><polyline points="13 2 13 9 20 9"></polyline> </svg> </symbol> <symbol id="svg-search" viewBox="0 0 24 24"> <title>Search</title> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-search"> <circle cx="11" cy="11" r="8"></circle><line x1="21" y1="21" x2="16.65" y2="16.65"></line> </svg> </symbol> <!-- Bootstrap Icons. MIT License: https://github.com/twbs/icons/blob/main/LICENSE.md --> <symbol id="svg-copy" viewBox="0 0 16 16"> <title>Copy</title> <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-clipboard" viewBox="0 0 16 16"> <path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z"/> <path d="M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z"/> </svg> </symbol> <symbol id="svg-copied" viewBox="0 0 16 16"> <title>Copied</title> <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-clipboard-check-fill" viewBox="0 0 16 16"> <path d="M6.5 0A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3Zm3 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3Z"/> <path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1A2.5 2.5 0 0 1 9.5 5h-3A2.5 2.5 0 0 1 4 2.5v-1Zm6.854 7.354-3 3a.5.5 0 0 1-.708 0l-1.5-1.5a.5.5 0 0 1 .708-.708L7.5 10.793l2.646-2.647a.5.5 0 0 1 .708.708Z"/> </svg> </symbol> </svg> <header class="side-bar"> <div class="site-header"> <a href="/Meshtastic-Android/" class="site-title lh-tight"> Meshtastic Android </a> <button id="menu-button" class="site-button btn-reset" aria-label="Menu" aria-expanded="false"> <svg viewBox="0 0 24 24" class="icon" aria-hidden="true"><use xlink:href="#svg-menu"></use></svg> </button> </div> <nav aria-label="Main" id="site-nav" class="site-nav"> <ul class="nav-list"><li class="nav-list-item"><a href="/Meshtastic-Android/en/" class="nav-list-link">Home</a></li><li class="nav-list-item"><button class="nav-list-expander btn-reset" aria-label="User Guide submenu" aria-expanded="false"> <svg viewBox="0 0 24 24" aria-hidden="true"><use xlink:href="#svg-arrow-right"></use></svg> </button><a href="/Meshtastic-Android/en/user.html" class="nav-list-link">User Guide</a><ul class="nav-list"><li class="nav-list-item"><a href="/Meshtastic-Android/en/user/onboarding.html" class="nav-list-link">Getting Started</a></li><li class="nav-list-item"><a href="/Meshtastic-Android/en/user/connections.html" class="nav-list-link">Connections</a></li><li class="nav-list-item"><a href="/Meshtastic-Android/en/user/messages-and-channels.html" class="nav-list-link">Messages & Channels</a></li><li class="nav-list-item"><a href="/Meshtastic-Android/en/user/nodes.html" class="nav-list-link">Nodes</a></li><li class="nav-list-item"><a href="/Meshtastic-Android/en/user/node-metrics.html" class="nav-list-link">Node Metrics</a></li><li class="nav-list-item"><a href="/Meshtastic-Android/en/user/map-and-waypoints.html" class="nav-list-link">Map & Waypoints</a></li><li class="nav-list-item"><a href="/Meshtastic-Android/en/user/settings-radio-user.html" class="nav-list-link">Settings — Radio & User</a></li><li class="nav-list-item"><a href="/Meshtastic-Android/en/user/settings-module-admin.html" class="nav-list-link">Settings — Modules & Admin</a></li><li class="nav-list-item"><a href="/Meshtastic-Android/en/user/telemetry-and-sensors.html" class="nav-list-link">Telemetry & Sensors</a></li><li class="nav-list-item"><a href="/Meshtastic-Android/en/user/tak.html" class="nav-list-link">TAK Integration</a></li><li class="nav-list-item"><a href="/Meshtastic-Android/en/user/mqtt.html" class="nav-list-link">MQTT</a></li><li class="nav-list-item"><a href="/Meshtastic-Android/en/user/discovery.html" class="nav-list-link">Discovery</a></li><li class="nav-list-item"><a href="/Meshtastic-Android/en/user/firmware.html" class="nav-list-link">Firmware Updates</a></li><li class="nav-list-item"><a href="/Meshtastic-Android/en/user/desktop.html" class="nav-list-link">Desktop App</a></li><li class="nav-list-item"><a href="/Meshtastic-Android/en/user/signal-meter.html" class="nav-list-link">How the Meshtastic Signal Meter Works</a></li><li class="nav-list-item"><a href="/Meshtastic-Android/en/user/units-and-locale.html" class="nav-list-link">Units, Measurement & Locale</a></li><li class="nav-list-item"><a href="/Meshtastic-Android/en/user/translate.html" class="nav-list-link">Translate the App</a></li><li class="nav-list-item"><a href="/Meshtastic-Android/en/user/android-auto.html" class="nav-list-link">Android Auto</a></li><li class="nav-list-item"><a href="/Meshtastic-Android/en/user/app-functions.html" class="nav-list-link">App Functions</a></li><li class="nav-list-item"><a href="/Meshtastic-Android/en/user/widget.html" class="nav-list-link">Home Screen Widget</a></li><li class="nav-list-item"><a href="/Meshtastic-Android/en/user/help-and-docs.html" class="nav-list-link">Help & In-App Docs</a></li><li class="nav-list-item"><a href="/Meshtastic-Android/en/user/debug-logs.html" class="nav-list-link">Debug Logs</a></li></ul></li><li class="nav-list-item"><button class="nav-list-expander btn-reset" aria-label="Developer Guide submenu" aria-expanded="false"> <svg viewBox="0 0 24 24" aria-hidden="true"><use xlink:href="#svg-arrow-right"></use></svg> </button><a href="/Meshtastic-Android/en/developer.html" class="nav-list-link">Developer Guide</a><ul class="nav-list"><li class="nav-list-item"><a href="/Meshtastic-Android/en/developer/architecture.html" class="nav-list-link">Architecture</a></li><li class="nav-list-item"><a href="/Meshtastic-Android/en/developer/codebase.html" class="nav-list-link">Codebase</a></li><li class="nav-list-item"><a href="/Meshtastic-Android/en/developer/adding-a-feature-module.html" class="nav-list-link">Adding a Feature Module</a></li><li class="nav-list-item"><a href="/Meshtastic-Android/en/developer/navigation-and-deep-links.html" class="nav-list-link">Navigation & Deep Links</a></li><li class="nav-list-item"><a href="/Meshtastic-Android/en/developer/transport.html" class="nav-list-link">Transport</a></li><li class="nav-list-item"><a href="/Meshtastic-Android/en/developer/persistence.html" class="nav-list-link">Persistence</a></li><li class="nav-list-item"><a href="/Meshtastic-Android/en/developer/testing.html" class="nav-list-link">Testing</a></li><li class="nav-list-item"><a href="/Meshtastic-Android/en/developer/contributing.html" class="nav-list-link">Contributing</a></li><li class="nav-list-item"><a href="/Meshtastic-Android/en/developer/measurement.html" class="nav-list-link">Measurement & Formatting</a></li><li class="nav-list-item"><a href="/Meshtastic-Android/en/developer/test-builds.html" class="nav-list-link">Test Builds & Obtainium</a></li></ul></li></ul> </nav> <div class="d-md-block d-sm-none"> <div class="site-footer"> This site uses <a href="https://github.com/just-the-docs/just-the-docs">Just the Docs</a>, a documentation theme for Jekyll. </div> </div> </header> <div class="main" id="top"> <div id="main-header" class="main-header"> <div class="search" role="search"> <div class="search-input-wrap"> <input type="text" id="search-input" class="search-input" tabindex="0" placeholder="Search Meshtastic Android" autocomplete="off"> <label for="search-input" class="search-label"> <span class="sr-only">Search Meshtastic Android</span> <svg viewBox="0 0 24 24" class="search-icon" aria-hidden="true"><use xlink:href="#svg-search"></use></svg> </label> </div> <div id="search-results" class="search-results"></div> </div> <div class="theme-toggle-wrap"> <button class="theme-toggle" id="theme-toggle" aria-label="Toggle dark mode" title="Toggle light/dark theme" onclick="toggleMeshtasticTheme()"> <span id="theme-icon">🌙</span> <span id="theme-label">Dark</span> </button> <details class="language-switcher version-switcher" id="version-switcher" aria-label="Documentation version" hidden> <summary class="language-switcher-btn" title="Switch documentation version"> 🏷️ <span id="version-current"></span> </summary> <ul class="language-switcher-list" id="version-switcher-list"></ul> </details> <script> (function() { var baseurl = '/Meshtastic-Android'; var root = baseurl; var channel = 'latest'; // /main/, /vX.Y.Z/ or a prerelease snapshot like /v2.8.0-open.1/. var match = baseurl.match(/^(.*)\/(main|v\d+\.\d+\.\d+(?:-(?:open|closed)\.\d+)?)$/); if (match) { root = match[1]; channel = match[2]; } fetch(root + '/versions.json') .then(function(res) { return res.ok ? res.json() : Promise.reject(); }) .then(function(data) { var switcher = document.getElementById('version-switcher'); var list = document.getElementById('version-switcher-list'); var current = document.getElementById('version-current'); if (!switcher || !list || !current) return; // Keep the reader on the same page when switching channels; a page // that doesn't exist in the target version lands on the 404 page. var relativePath = location.pathname.slice(baseurl.length) + location.hash; var entries = []; if (data.latest) { entries.push({ id: 'latest', label: 'latest (v' + data.latest + ')', base: root }); } // Prereleases are documented ahead of general availability, so the track // is always spelled out — a reader must not mistake a closed-testing // snapshot for a shipped release. (data.prereleases || []).forEach(function(p) { entries.push({ id: p.dir, label: p.dir.replace(/^v/, 'v') + ' — ' + p.track + ' testing', base: root + '/' + p.dir }); }); if (data.hasMain) { entries.push({ id: 'main', label: 'main (unreleased snapshot)', base: root + '/main' }); } (data.versions || []).forEach(function(v) { entries.push({ id: 'v' + v, label: 'v' + v, base: root + '/v' + v }); }); var currentEntry = entries.filter(function(e) { return e.id === channel; })[0]; current.textContent = currentEntry ? currentEntry.label : channel; var others = entries.filter(function(e) { return e.id !== channel; }); if (others.length === 0) return; others.forEach(function(e) { var li = document.createElement('li'); var a = document.createElement('a'); a.href = e.base + relativePath; a.textContent = e.label; li.appendChild(a); list.appendChild(li); }); switcher.hidden = false; }) .catch(function() { /* no manifest (local build) — leave switcher hidden */ }); })(); </script> <details class="language-switcher" aria-label="Language options"> <summary class="language-switcher-btn" title="View in another language"> 🌐 <span class="lang-current">日本語</span> </summary> <ul class="language-switcher-list"> <li><a href="/Meshtastic-Android/en/user/discovery" lang="en">English</a></li> <li><a href="/Meshtastic-Android/ar-rSA/user/discovery" lang="ar-rSA" dir="rtl">العربية</a></li> <li><a href="/Meshtastic-Android/be-rBY/user/discovery" lang="be-rBY" >Беларуская</a></li> <li><a href="/Meshtastic-Android/bg-rBG/user/discovery" lang="bg-rBG" >Български</a></li> <li><a href="/Meshtastic-Android/ca-rES/user/discovery" lang="ca-rES" >Català</a></li> <li><a href="/Meshtastic-Android/cs-rCZ/user/discovery" lang="cs-rCZ" >Čeština</a></li> <li><a href="/Meshtastic-Android/de-rDE/user/discovery" lang="de-rDE" >Deutsch</a></li> <li><a href="/Meshtastic-Android/el-rGR/user/discovery" lang="el-rGR" >Ελληνικά</a></li> <li><a href="/Meshtastic-Android/es-rES/user/discovery" lang="es-rES" >Español</a></li> <li><a href="/Meshtastic-Android/et-rEE/user/discovery" lang="et-rEE" >Eesti</a></li> <li><a href="/Meshtastic-Android/fi-rFI/user/discovery" lang="fi-rFI" >Suomi</a></li> <li><a href="/Meshtastic-Android/fr-rFR/user/discovery" lang="fr-rFR" >Français</a></li> <li><a href="/Meshtastic-Android/ga-rIE/user/discovery" lang="ga-rIE" >Gaeilge</a></li> <li><a href="/Meshtastic-Android/gl-rES/user/discovery" lang="gl-rES" >Galego</a></li> <li><a href="/Meshtastic-Android/iw-rIL/user/discovery" lang="iw-rIL" dir="rtl">עברית</a></li> <li><a href="/Meshtastic-Android/hr-rHR/user/discovery" lang="hr-rHR" >Hrvatski</a></li> <li><a href="/Meshtastic-Android/ht-rHT/user/discovery" lang="ht-rHT" >Kreyòl Ayisyen</a></li> <li><a href="/Meshtastic-Android/hu-rHU/user/discovery" lang="hu-rHU" >Magyar</a></li> <li><a href="/Meshtastic-Android/is-rIS/user/discovery" lang="is-rIS" >Íslenska</a></li> <li><a href="/Meshtastic-Android/it-rIT/user/discovery" lang="it-rIT" >Italiano</a></li> <li><a href="/Meshtastic-Android/ko-rKR/user/discovery" lang="ko-rKR" >한국어</a></li> <li><a href="/Meshtastic-Android/lt-rLT/user/discovery" lang="lt-rLT" >Lietuvių</a></li> <li><a href="/Meshtastic-Android/nl-rNL/user/discovery" lang="nl-rNL" >Nederlands</a></li> <li><a href="/Meshtastic-Android/no-rNO/user/discovery" lang="no-rNO" >Norsk</a></li> <li><a href="/Meshtastic-Android/pl-rPL/user/discovery" lang="pl-rPL" >Polski</a></li> <li><a href="/Meshtastic-Android/pt-rBR/user/discovery" lang="pt-rBR" >Português (Brasil)</a></li> <li><a href="/Meshtastic-Android/pt-rPT/user/discovery" lang="pt-rPT" >Português</a></li> <li><a href="/Meshtastic-Android/ro-rRO/user/discovery" lang="ro-rRO" >Română</a></li> <li><a href="/Meshtastic-Android/ru-rRU/user/discovery" lang="ru-rRU" >Русский</a></li> <li><a href="/Meshtastic-Android/sk-rSK/user/discovery" lang="sk-rSK" >Slovenčina</a></li> <li><a href="/Meshtastic-Android/sl-rSI/user/discovery" lang="sl-rSI" >Slovenščina</a></li> <li><a href="/Meshtastic-Android/sq-rAL/user/discovery" lang="sq-rAL" >Shqip</a></li> <li><a href="/Meshtastic-Android/sr-rLatn/user/discovery" lang="sr-rLatn" >Српски (Latinica)</a></li> <li><a href="/Meshtastic-Android/srp/user/discovery" lang="srp" >Српски (Ћирилица)</a></li> <li><a href="/Meshtastic-Android/sv-rSE/user/discovery" lang="sv-rSE" >Svenska</a></li> <li><a href="/Meshtastic-Android/tr-rTR/user/discovery" lang="tr-rTR" >Türkçe</a></li> <li><a href="/Meshtastic-Android/uk-rUA/user/discovery" lang="uk-rUA" >Українська</a></li> <li><a href="/Meshtastic-Android/zh-rCN/user/discovery" lang="zh-rCN" >中文 (简体)</a></li> <li><a href="/Meshtastic-Android/zh-rTW/user/discovery" lang="zh-rTW" >中文 (繁體)</a></li> </ul> </details> <a class="upstream-docs-link" href="https://meshtastic.org/docs/" title="Official Meshtastic documentation (meshtastic.org)">Meshtastic Docs ↗</a> </div> <script> function toggleMeshtasticTheme() { var current = localStorage.getItem('jtd-theme') || 'meshtastic'; var next = (current === 'meshtastic-dark') ? 'meshtastic' : 'meshtastic-dark'; if (typeof jtd !== 'undefined' && typeof jtd.setTheme === 'function') { jtd.setTheme(next); } localStorage.setItem('jtd-theme', next); var icon = document.getElementById('theme-icon'); var label = document.getElementById('theme-label'); if (icon && label) { icon.textContent = (next === 'meshtastic-dark') ? '☀️' : '🌙'; label.textContent = (next === 'meshtastic-dark') ? 'Light' : 'Dark'; } } // Apply stored/OS theme on page load (function() { var theme = localStorage.getItem('jtd-theme') || 'meshtastic'; // Sync toggle label immediately var icon = document.getElementById('theme-icon'); var label = document.getElementById('theme-label'); if (icon && label) { icon.textContent = (theme === 'meshtastic-dark') ? '☀️' : '🌙'; label.textContent = (theme === 'meshtastic-dark') ? 'Light' : 'Dark'; } // Apply theme once jtd is ready function tryApply() { if (typeof jtd !== 'undefined' && typeof jtd.setTheme === 'function') { jtd.setTheme(theme); } else { setTimeout(tryApply, 50); } } tryApply(); })(); </script> </div> <div class="main-content-wrap"> <nav aria-label="Breadcrumb" class="breadcrumb-nav"> <ol class="breadcrumb-nav-list"> <li class="breadcrumb-nav-list-item"><a href="/Meshtastic-Android/en/user.html">User Guide</a></li> <li class="breadcrumb-nav-list-item"><span>探索</span></li> </ol> </nav> <div id="main-content" class="main-content"> <main> <div class="locale-page-banner" > <p class="locale-notice"> 🌐 <strong>日本語</strong> — Community translation <a href="/Meshtastic-Android/en/user/discovery">View in English</a> </p> </div> <div lang="ja-rJP"> <h1 id="探索"> <a href="#探索" class="anchor-heading" aria-labelledby="探索"><svg viewBox="0 0 16 16" aria-hidden="true"><use xlink:href="#svg-link"></use></svg></a> 探索 </h1> <p>探索ツールは、メッシュネットワークが<strong>どのように</strong>つながっているか(どのノードが互いに受信できるか、メッセージがどの経路を通るか、ボトルネックや弱いリンクがどこにあるか)を把握するのに役立ちます。</p> <p>アプリは、互いを補完する 2 つの方法を提供します:</p> <ul> <li><strong>ローカルメッシュ探索(スキャナー)</strong>:接続中の無線機をさまざまな LoRa プリセットで順に切り替え、それぞれで受信し、あなたの場所でどのプリセットが最も性能が良いかをランク付けする自動モードです。</li> <li><strong>手動での探索</strong>:ルート追跡、隣接ノード情報、ノードリスト。特定の経路やトポロジーを調べるために、いつでも使えます。</li> </ul><hr /> <h2 id="ローカルメッシュ探索スキャナー"> <a href="#ローカルメッシュ探索スキャナー" class="anchor-heading" aria-labelledby="ローカルメッシュ探索スキャナー"><svg viewBox="0 0 16 16" aria-hidden="true"><use xlink:href="#svg-link"></use></svg></a> ローカルメッシュ探索(スキャナー) </h2> <p>ローカルメッシュ探索は、あなたの場所に最適な LoRa モデムプリセットを見つけ、各プリセットでどのノードがアクティブかを確認できる、専用のスキャンモードです。 接続中の無線機を、選択した 1 つ以上のプリセットで順に切り替え、パケットを収集するために各プリセットで一定時間受信(「滞在」)し、その後、結果を分析してランク付けします。</p> <p>「<strong>設定 → 詳細設定 → ローカルメッシュ探索</strong>」から開きます。 デスクトップでは、独自の「<strong>設定 → ローカルメッシュ探索</strong>」の項目があります。</p> <blockquote> <p>⚠️ <strong>注意:</strong> 探索は、スキャン中に無線機の LoRa 設定を一時的に変更し、完了時に元の構成に戻します。 スキャンを実行するには、デバイスが接続されている必要があります。</p> </blockquote> <h3 id="スキャンを設定する"> <a href="#スキャンを設定する" class="anchor-heading" aria-labelledby="スキャンを設定する"><svg viewBox="0 0 16 16" aria-hidden="true"><use xlink:href="#svg-link"></use></svg></a> スキャンを設定する </h3> <p>開始する前に、次のコントロールを設定します:</p> <div class="table-wrapper"><table> <thead> <tr> <th>コントロール</th> <th>説明</th> </tr> </thead> <tbody> <tr> <td><strong>LoRa プリセットの選択</strong></td> <td>スキャンするプリセットを 1 つ以上選択します。 探索は、選択した各プリセットに順番に滞在します。</td> </tr> <tr> <td><strong>滞在時間</strong></td> <td>各プリセットで受信する時間。 1、5、15、30、45、60、90、120、180 分から選択します。 滞在時間を長くすると、より多くのパケットを収集してより明確な状況が分かりますが、時間もかかります。</td> </tr> <tr> <td><strong>画面をスリープさせない</strong></td> <td>長いスキャン中に画面がスリープするのを防ぐ、任意のトグルです。</td> </tr> </tbody> </table></div> <p>「<strong>開始</strong>」ボタンは、スキャンを実行できるようになるまで(理由の説明とともに)無効のままです。 無効になる主な理由:</p> <ul> <li>デバイスが<strong>接続されていない</strong>。</li> <li>スキャンする<strong>プリセットが選択されていない</strong>。</li> <li>選択したプリセットが、ハードウェアが対応していない <strong>2.4 GHz</strong> を使用している。</li> </ul> <h3 id="リアルタイムの進行状況"> <a href="#リアルタイムの進行状況" class="anchor-heading" aria-labelledby="リアルタイムの進行状況"><svg viewBox="0 0 16 16" aria-hidden="true"><use xlink:href="#svg-link"></use></svg></a> リアルタイムの進行状況 </h3> <p>スキャンの実行中、探索は現在の段階を表示します:</p> <div class="table-wrapper"><table> <thead> <tr> <th>段階</th> <th>実行中の内容</th> </tr> </thead> <tbody> <tr> <td><strong>準備中</strong></td> <td>現在の構成を保存し、スキャンの準備をしています。</td> </tr> <tr> <td><strong><preset> に切り替え中</strong></td> <td>テストする次のプリセットに無線機を切り替えています。</td> </tr> <tr> <td><strong>再接続中</strong></td> <td>プリセット変更後に接続を再確立しています。</td> </tr> <tr> <td><strong>滞在</strong></td> <td>現在のプリセットで受信してパケットを収集しており、次のステップまでのカウントダウンが表示されます。</td> </tr> <tr> <td><strong>分析</strong></td> <td>収集したパケットを処理し、プリセットをランク付けしています。</td> </tr> <tr> <td><strong>復元中</strong></td> <td>元の LoRa 構成に戻しています。</td> </tr> </tbody> </table></div> <p><img src="../../assets/screenshots/discovery_dwell_progress.png" alt="現在のプリセットの残り時間を示す滞在のカウントダウン" /></p> <h3 id="結果の見方"> <a href="#結果の見方" class="anchor-heading" aria-labelledby="結果の見方"><svg viewBox="0 0 16 16" aria-hidden="true"><use xlink:href="#svg-link"></use></svg></a> 結果の見方 </h3> <p>スキャンが完了すると、探索はテストした各プリセットのプリセット別の結果カードと、全体の概要を表示します。</p> <p><img src="../../assets/screenshots/discovery_preset_result.png" alt="ランキングと収集したメトリクスを含むプリセット別の結果カード" /></p> <p>メトリクスには次が含まれます:</p> <div class="table-wrapper"><table> <thead> <tr> <th>メトリクス</th> <th>分かること</th> </tr> </thead> <tbody> <tr> <td>RF の健全性</td> <td>そのプリセットにおける無線環境の総合的な品質。</td> </tr> <tr> <td>チャンネル利用率</td> <td>滞在中に電波がどれだけ混雑していたか。</td> </tr> <tr> <td>電波利用時間</td> <td>観測された送信時間。</td> </tr> <tr> <td>直接受信と中継ノード</td> <td>直接受信できたメッシュノードと、中継経由のノードの数。</td> </tr> <tr> <td>不良/重複パケット</td> <td>破損したパケットと繰り返されたパケットの数で、輻輳や干渉を示します。</td> </tr> </tbody> </table></div> <p>結果から利用できる追加機能:</p> <ul> <li><strong>スキャン履歴</strong>:後で見直せる保存済みのセッション。過去のスキャンを表示または削除できます。</li> <li><strong>探索マップ</strong>:スキャン中に見つかったノードのマップ。</li> <li><strong>レポートのエクスポート</strong>:Android では PDF として、他のプラットフォームではテキストとしてレポートをエクスポートします。</li> </ul> <blockquote> <p>💡 <strong>ヒント:</strong> Android では、探索が結果のオンデバイス AI 要約(Gemini Nano)を生成できます。 オンデバイスのモデルが利用できない場合は、代わりにアルゴリズムによる要約が使われるため、常にスキャンの読みやすい解釈が得られます。</p> </blockquote><hr /> <h2 id="メッシュビーコン"> <a href="#メッシュビーコン" class="anchor-heading" aria-labelledby="メッシュビーコン"><svg viewBox="0 0 16 16" aria-hidden="true"><use xlink:href="#svg-link"></use></svg></a> メッシュビーコン </h2> <p>メッシュビーコンを使うと、ノードが他のノードを自分のメッシュに招待できます。 ビーコンを発信するノードは、招待を定期的にブロードキャストします(任意でチャンネル、リージョン、モデムプリセットを告知)。近くのデバイスは、設定を共有する前でもこれを受信できます。</p> <p>「<strong>設定 → モジュール設定 → メッシュビーコン</strong>」で設定します:</p> <ul> <li><strong>ビーコンを受信</strong>:他のノードがブロードキャストする招待を受け取ります。</li> <li><strong>ビーコンを発信</strong>:一定間隔で自分の招待を送信します。任意でメッセージと提示するチャンネルを設定できます。</li> </ul> <p>受信した招待は、探索画面に「<strong>メッシュへの招待</strong>」カードとして表示されます。 各カードには、送信者のメッセージと、提示されたチャンネル・リージョン・プリセット・信号品質が表示され、次の操作ができます:</p> <ul> <li><strong>参加</strong>:提示されたチャンネルとプリセットに切り替えます(無線機を再調整して再起動します)。 提示内容が現在の周波数スロットと一致する場合は、再起動なしで追加できる「<strong>チャンネルを追加</strong>」の操作が表示されます。</li> <li><strong>探索</strong>:提示されたプリセットで探索スキャンを開始し、参加する前にそのメッシュを調べられます(ビーコンがプリセットを提示している場合のみ表示)。</li> <li><strong>閉じる</strong>:招待を無視します。</li> </ul> <p>ビーコンが告知したチャンネルは、スキャン設定にも「<strong>ビーコンのチャンネル</strong>」として表示されます。選択すると、スキャン対象に含められます。</p><hr /> <h2 id="手動での探索"> <a href="#手動での探索" class="anchor-heading" aria-labelledby="手動での探索"><svg viewBox="0 0 16 16" aria-hidden="true"><use xlink:href="#svg-link"></use></svg></a> 手動での探索 </h2> <p>以下のツールは、ノードリストとノードの詳細画面からいつでも利用できます。 完全なスキャンと併用して、またはその代わりに、特定の経路を調べてトポロジーの全体像を組み立てるのに使えます。</p> <h2 id="ルート追跡"> <a href="#ルート追跡" class="anchor-heading" aria-labelledby="ルート追跡"><svg viewBox="0 0 16 16" aria-hidden="true"><use xlink:href="#svg-link"></use></svg></a> ルート追跡 </h2> <p>ルート追跡は、メッセージが自分のノードから、メッシュ上の他の任意のノードへ通る正確な経路を明らかにします。 接続の問題をデバッグするのに、最も役立つツールです。</p> <h3 id="ルート追跡を実行する"> <a href="#ルート追跡を実行する" class="anchor-heading" aria-labelledby="ルート追跡を実行する"><svg viewBox="0 0 16 16" aria-hidden="true"><use xlink:href="#svg-link"></use></svg></a> ルート追跡を実行する </h3> <ol> <li>「<strong>ノード</strong>」に移動し、追跡したいノードをタップします。</li> <li>ノードの詳細画面で、「<strong>ルート追跡</strong>」をタップします。</li> <li>アプリがルート追跡の要求を送信し、応答を待ちます。</li> <li>結果には、各ホップが順番に、各段階の信号品質とともに表示されます。</li> </ol> <h3 id="結果の見方-1"> <a href="#結果の見方-1" class="anchor-heading" aria-labelledby="結果の見方-1"><svg viewBox="0 0 16 16" aria-hidden="true"><use xlink:href="#svg-link"></use></svg></a> 結果の見方 </h3> <p>ルート追跡の結果は次のように表示されます:</p> <div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>自分 → ノード A (SNR: 8.5, RSSI: -95) → ノード B (SNR: 5.2, RSSI: -108) → ターゲット
|
||
</code></pre></div></div> <p>各ホップは、メッセージを転送した中継ノードを表します。 各ホップの SNR と RSSI の値から、その特定の区間のリンク品質が分かります。</p> <div class="table-wrapper"><table> <thead> <tr> <th>確認すべき点</th> <th>意味</th> </tr> </thead> <tbody> <tr> <td>すべてのホップが良い SNR(−7 dB 以上、緑)を示す</td> <td>健全な経路。メッセージが確実に流れます</td> </tr> <tr> <td>1 つのホップが悪い SNR(−15 dB 未満、赤)を示す</td> <td>弱いリンク。この中継区間は脆弱です</td> </tr> <tr> <td>ホップ数が多い(4 以上)</td> <td>長い経路。短くするためにノードの再配置を検討してください</td> </tr> <tr> <td>再試行で経路が変わる</td> <td>メッシュが適応しています。複数の経路が存在します(これは良いことです!)</td> </tr> </tbody> </table></div> <blockquote> <p>💡 <strong>ヒント:</strong> ルート追跡を数分間かけて何度か実行してください。 経路が変わる場合、メッシュには冗長な経路があり、よくつながったネットワークの兆候です。</p> </blockquote> <h3 id="ルート追跡によるトラブルシューティング"> <a href="#ルート追跡によるトラブルシューティング" class="anchor-heading" aria-labelledby="ルート追跡によるトラブルシューティング"><svg viewBox="0 0 16 16" aria-hidden="true"><use xlink:href="#svg-link"></use></svg></a> ルート追跡によるトラブルシューティング </h3> <ul> <li><strong>「経路が見つかりません」</strong>:対象のノードがオフラインか、圏外か、別のチャンネルにいる可能性があります。 両方のノードが、同じ暗号化鍵を持つチャンネルを少なくとも 1 つ共有しているか確認してください。</li> <li><strong>ルート追跡がタイムアウトする</strong>:経路が長すぎる(ホップ数上限を超える)か、中継ノードが混雑している可能性があります。 「<strong>設定 → LoRa 設定</strong>」でホップ数上限を増やしてみてください。</li> <li><strong>非対称な経路</strong>:A→B のルート追跡は、B→A とは異なる経路を通ることがあります。 これは正常です。電波の伝搬は常に対称とは限りません。</li> </ul><hr /> <h2 id="隣接ノード情報"> <a href="#隣接ノード情報" class="anchor-heading" aria-labelledby="隣接ノード情報"><svg viewBox="0 0 16 16" aria-hidden="true"><use xlink:href="#svg-link"></use></svg></a> 隣接ノード情報 </h2> <p>隣接ノード情報モジュールを使うと、各ノードが<strong>直接受信できる</strong>(シングルホップの)ノードのリストをブロードキャストできます。 複数のノードが隣接ノードのリストを共有すると、メッシュ全体のトポロジーマップを組み立てられます。</p> <h3 id="隣接ノード情報を有効にする"> <a href="#隣接ノード情報を有効にする" class="anchor-heading" aria-labelledby="隣接ノード情報を有効にする"><svg viewBox="0 0 16 16" aria-hidden="true"><use xlink:href="#svg-link"></use></svg></a> 隣接ノード情報を有効にする </h3> <ol> <li>「<strong>設定 → モジュール設定 → 隣接ノード情報</strong>」に移動します。</li> <li>モジュールを有効にします。</li> <li>ブロードキャスト間隔を設定します(デフォルト:900 秒/15 分)。</li> </ol> <p>有効にすると、ノードは隣接ノードのテーブルを定期的にブロードキャストします。 隣接ノード情報を有効にしている他のノードも、同じことを行います。</p> <h3 id="隣接ノードのデータを表示する"> <a href="#隣接ノードのデータを表示する" class="anchor-heading" aria-labelledby="隣接ノードのデータを表示する"><svg viewBox="0 0 16 16" aria-hidden="true"><use xlink:href="#svg-link"></use></svg></a> 隣接ノードのデータを表示する </h3> <ul> <li>任意のノードの詳細画面を開き、「<strong>隣接ノード</strong>」セクションを探します。</li> <li>各隣接ノードの項目には、直接受信したノードとその信号品質が表示されます。</li> <li>複数のノードの隣接ノードデータを組み合わせて、メッシュ全体のトポロジーを把握します。</li> </ul> <blockquote> <p>⚠️ <strong>注意:</strong> 隣接ノード情報は、有効にした各ノードが隣接ノードのリストを定期的にブロードキャストするため、電波利用時間の消費が増えます。 ノードの多い混雑したメッシュでは、輻輳を避けるために、より長いブロードキャスト間隔(3600 秒以上)を検討してください。</p> </blockquote><hr /> <h2 id="探索ツールとしてのノードリスト"> <a href="#探索ツールとしてのノードリスト" class="anchor-heading" aria-labelledby="探索ツールとしてのノードリスト"><svg viewBox="0 0 16 16" aria-hidden="true"><use xlink:href="#svg-link"></use></svg></a> 探索ツールとしてのノードリスト </h2> <p>ノードリスト自体も、絞り込みと並べ替えの機能を効果的に使えば、強力な探索ツールになります。</p> <h3 id="新しいノードを見つける"> <a href="#新しいノードを見つける" class="anchor-heading" aria-labelledby="新しいノードを見つける"><svg viewBox="0 0 16 16" aria-hidden="true"><use xlink:href="#svg-link"></use></svg></a> 新しいノードを見つける </h3> <ul> <li>「<strong>最後の通信</strong>」で並べ替えると、最近アクティブだったノードが先頭に表示されます。</li> <li>「<strong>不明なノードを含む</strong>」を有効にすると、メッシュに現れたもののまだユーザー情報を送信していないノードが表示されます。これらは、電源を入れたばかりのデバイスであることがよくあります。</li> </ul> <h3 id="接続性を評価する"> <a href="#接続性を評価する" class="anchor-heading" aria-labelledby="接続性を評価する"><svg viewBox="0 0 16 16" aria-hidden="true"><use xlink:href="#svg-link"></use></svg></a> 接続性を評価する </h3> <ul> <li>「<strong>ホップ数</strong>」で並べ替えると、直接到達できるノード(0 ホップ)と中継されるノードが分かります。</li> <li>「<strong>距離</strong>」で並べ替えると、近くのノードを見つけて、到達できるか確認できます。</li> <li>「<strong>MQTT を除外</strong>」を使うと、(インターネットブリッジ経由ではなく)無線で到達できるノードに絞り込めます。</li> </ul> <h3 id="インフラの監査"> <a href="#インフラの監査" class="anchor-heading" aria-labelledby="インフラの監査"><svg viewBox="0 0 16 16" aria-hidden="true"><use xlink:href="#svg-link"></use></svg></a> インフラの監査 </h3> <ul> <li>「<strong>インフラを除外</strong>」を無効にすると、ルーター、ルーター・レイト、クライアント・ベースのノードが表示されます。</li> <li>信号品質と最後の通信時刻を確認して、インフラのノードが健全であることを確かめます。</li> </ul> <p>絞り込みと並べ替えのオプションの詳細については、<a href="nodes">ノード</a> を参照してください。</p><hr /> <h2 id="メッシュ探索のヒント"> <a href="#メッシュ探索のヒント" class="anchor-heading" aria-labelledby="メッシュ探索のヒント"><svg viewBox="0 0 16 16" aria-hidden="true"><use xlink:href="#svg-link"></use></svg></a> メッシュ探索のヒント </h2> <ul> <li><strong>まずルート追跡から</strong>:特定の経路について、すぐに役立つ情報が得られます。</li> <li><strong>主要なノードで隣接ノード情報を有効に</strong>:特にルーターやリピーターで有効にして、バックボーンの全体像を組み立てます。</li> <li><strong>マップを確認</strong>:<a href="map-and-waypoints">マップ</a> 上のノードの位置と信号データを組み合わせると、なぜあるリンクは強く、別のリンクは弱いのかが分かります。</li> <li><strong>信号を時系列で比較</strong>:<a href="signal-meter">信号メーター</a> のガイドを使って、SNR と RSSI の値を正しく解釈します。</li> </ul><hr /> </div> <style> .locale-page-banner { background: rgba(103, 234, 148, 0.1); border: 1px solid rgba(103, 234, 148, 0.3); border-radius: 12px; padding: 10px 16px; margin-bottom: 1.5rem; font-size: 0.85rem; } .locale-notice a { margin-left: 12px; font-weight: 500; } </style> </main> <hr> <footer> <footer class="site-footer"> Copyright © 2026 Meshtastic LLC. Distributed under the <a href="https://www.gnu.org/licenses/gpl-3.0.html">GPL v3 License.</a> </footer> <div class="d-sm-block d-md-none"> <div class="mt-4 fs-2"> This site uses <a href="https://github.com/just-the-docs/just-the-docs">Just the Docs</a>, a documentation theme for Jekyll. </div> </div> </footer> </div> </div> <div class="search-overlay"></div> </div> </body> </html>
|