@jjlmoya/utils-hardware 1.24.0 → 1.26.0

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.
Files changed (79) hide show
  1. package/package.json +2 -1
  2. package/src/category/index.ts +4 -1
  3. package/src/entries.ts +10 -1
  4. package/src/index.ts +3 -0
  5. package/src/tests/locale_completeness.test.ts +2 -2
  6. package/src/tests/tool_validation.test.ts +2 -2
  7. package/src/tool/keyboardChatterTest/bibliography.astro +15 -0
  8. package/src/tool/keyboardChatterTest/bibliography.ts +20 -0
  9. package/src/tool/keyboardChatterTest/component.astro +353 -0
  10. package/src/tool/keyboardChatterTest/entry.ts +30 -0
  11. package/src/tool/keyboardChatterTest/i18n/de.ts +232 -0
  12. package/src/tool/keyboardChatterTest/i18n/en.ts +232 -0
  13. package/src/tool/keyboardChatterTest/i18n/es.ts +232 -0
  14. package/src/tool/keyboardChatterTest/i18n/fr.ts +232 -0
  15. package/src/tool/keyboardChatterTest/i18n/id.ts +232 -0
  16. package/src/tool/keyboardChatterTest/i18n/it.ts +232 -0
  17. package/src/tool/keyboardChatterTest/i18n/ja.ts +232 -0
  18. package/src/tool/keyboardChatterTest/i18n/ko.ts +232 -0
  19. package/src/tool/keyboardChatterTest/i18n/nl.ts +232 -0
  20. package/src/tool/keyboardChatterTest/i18n/pl.ts +232 -0
  21. package/src/tool/keyboardChatterTest/i18n/pt.ts +232 -0
  22. package/src/tool/keyboardChatterTest/i18n/ru.ts +232 -0
  23. package/src/tool/keyboardChatterTest/i18n/sv.ts +232 -0
  24. package/src/tool/keyboardChatterTest/i18n/tr.ts +232 -0
  25. package/src/tool/keyboardChatterTest/i18n/zh.ts +232 -0
  26. package/src/tool/keyboardChatterTest/index.ts +12 -0
  27. package/src/tool/keyboardChatterTest/keyboard-chatter-test.css +512 -0
  28. package/src/tool/keyboardChatterTest/logic.ts +23 -0
  29. package/src/tool/keyboardChatterTest/seo.astro +16 -0
  30. package/src/tool/keyboardChatterTest/ui.ts +34 -0
  31. package/src/tool/webBluetoothBleScanner/bibliography.astro +14 -0
  32. package/src/tool/webBluetoothBleScanner/bibliography.ts +16 -0
  33. package/src/tool/webBluetoothBleScanner/component.astro +339 -0
  34. package/src/tool/webBluetoothBleScanner/entry.ts +29 -0
  35. package/src/tool/webBluetoothBleScanner/i18n/de.ts +233 -0
  36. package/src/tool/webBluetoothBleScanner/i18n/en.ts +233 -0
  37. package/src/tool/webBluetoothBleScanner/i18n/es.ts +233 -0
  38. package/src/tool/webBluetoothBleScanner/i18n/fr.ts +233 -0
  39. package/src/tool/webBluetoothBleScanner/i18n/id.ts +233 -0
  40. package/src/tool/webBluetoothBleScanner/i18n/it.ts +233 -0
  41. package/src/tool/webBluetoothBleScanner/i18n/ja.ts +233 -0
  42. package/src/tool/webBluetoothBleScanner/i18n/ko.ts +233 -0
  43. package/src/tool/webBluetoothBleScanner/i18n/nl.ts +233 -0
  44. package/src/tool/webBluetoothBleScanner/i18n/pl.ts +233 -0
  45. package/src/tool/webBluetoothBleScanner/i18n/pt.ts +233 -0
  46. package/src/tool/webBluetoothBleScanner/i18n/ru.ts +233 -0
  47. package/src/tool/webBluetoothBleScanner/i18n/sv.ts +233 -0
  48. package/src/tool/webBluetoothBleScanner/i18n/tr.ts +233 -0
  49. package/src/tool/webBluetoothBleScanner/i18n/zh.ts +233 -0
  50. package/src/tool/webBluetoothBleScanner/index.ts +11 -0
  51. package/src/tool/webBluetoothBleScanner/logic.ts +79 -0
  52. package/src/tool/webBluetoothBleScanner/seo.astro +15 -0
  53. package/src/tool/webBluetoothBleScanner/ui.ts +41 -0
  54. package/src/tool/webBluetoothBleScanner/web-bluetooth-ble-scanner.css +406 -0
  55. package/src/tool/webUsbSerialMonitor/bibliography.astro +15 -0
  56. package/src/tool/webUsbSerialMonitor/bibliography.ts +18 -0
  57. package/src/tool/webUsbSerialMonitor/component.astro +356 -0
  58. package/src/tool/webUsbSerialMonitor/entry.ts +30 -0
  59. package/src/tool/webUsbSerialMonitor/i18n/de.ts +241 -0
  60. package/src/tool/webUsbSerialMonitor/i18n/en.ts +241 -0
  61. package/src/tool/webUsbSerialMonitor/i18n/es.ts +241 -0
  62. package/src/tool/webUsbSerialMonitor/i18n/fr.ts +241 -0
  63. package/src/tool/webUsbSerialMonitor/i18n/id.ts +241 -0
  64. package/src/tool/webUsbSerialMonitor/i18n/it.ts +241 -0
  65. package/src/tool/webUsbSerialMonitor/i18n/ja.ts +241 -0
  66. package/src/tool/webUsbSerialMonitor/i18n/ko.ts +241 -0
  67. package/src/tool/webUsbSerialMonitor/i18n/nl.ts +241 -0
  68. package/src/tool/webUsbSerialMonitor/i18n/pl.ts +241 -0
  69. package/src/tool/webUsbSerialMonitor/i18n/pt.ts +241 -0
  70. package/src/tool/webUsbSerialMonitor/i18n/ru.ts +241 -0
  71. package/src/tool/webUsbSerialMonitor/i18n/sv.ts +241 -0
  72. package/src/tool/webUsbSerialMonitor/i18n/tr.ts +241 -0
  73. package/src/tool/webUsbSerialMonitor/i18n/zh.ts +241 -0
  74. package/src/tool/webUsbSerialMonitor/index.ts +12 -0
  75. package/src/tool/webUsbSerialMonitor/logic.ts +44 -0
  76. package/src/tool/webUsbSerialMonitor/seo.astro +16 -0
  77. package/src/tool/webUsbSerialMonitor/ui.ts +51 -0
  78. package/src/tool/webUsbSerialMonitor/web-usb-serial-monitor.css +415 -0
  79. package/src/tools.ts +4 -1
@@ -0,0 +1,241 @@
1
+ import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
+ import type { ToolLocaleContent } from '../../../types';
3
+ import type { WebUsbSerialMonitorUI } from '../ui';
4
+ import { bibliography } from '../bibliography';
5
+
6
+ const slug = 'monitor-seriale-webusb';
7
+ const title = 'Monitor Seriale WebUSB';
8
+ const description = 'Collegati all\'hardware seriale USB dal browser, leggi l\'output del terminale in tempo reale, invia comandi ed esegui il debug di schede Arduino, ESP32, RP2040 e maker senza installare un terminale desktop.';
9
+
10
+ const faqData = [
11
+ {
12
+ question: 'Questo monitor seriale funziona con schede Arduino, ESP32 e Raspberry Pi Pico?',
13
+ answer: 'Sì, quando la scheda espone un\'interfaccia seriale USB supportata da Web Serial e il browser è basato su Chromium. Gli adattatori comuni Arduino, ESP32, RP2040, CH340, CP210x e FTDI di solito funzionano dopo che l\'utente concede l\'autorizzazione.',
14
+ },
15
+ {
16
+ question: 'Perché si chiama WebUSB se utilizza Web Serial?',
17
+ answer: 'La maggior parte delle schede maker si connette via USB, ma l\'accesso al terminale del browser è fornito dall\'API Web Serial. WebUSB è di livello inferiore e non è l\'astrazione giusta per un semplice terminale in stile UART.',
18
+ },
19
+ {
20
+ question: 'Un sito web può accedere ai miei dispositivi seriali senza permesso?',
21
+ answer: 'No. Il browser richiede un clic dell\'utente e un selettore dispositivi nativo prima che un sito possa aprire una porta seriale. Questo strumento non memorizza i log del terminale né gli identificatori dei dispositivi.',
22
+ },
23
+ {
24
+ question: 'Quale browser dovrei usare per un terminale seriale web?',
25
+ answer: 'Usa Chrome, Edge o un altro browser basato su Chromium su HTTPS o localhost. Firefox, Safari e molti browser iOS non espongono l\'API Web Serial.',
26
+ },
27
+ {
28
+ question: 'Quale baud rate dovrei scegliere?',
29
+ answer: 'Scegli il baud rate configurato nel tuo firmware. Gli esempi Arduino usano spesso 9600 o 115200, mentre log più veloci, bootloader e flussi di sensori ad alta velocità possono usare 230400, 460800 o 921600.',
30
+ },
31
+ ];
32
+
33
+ const howToData = [
34
+ {
35
+ name: 'Collega il dispositivo seriale USB',
36
+ text: 'Collega la scheda o l\'adattatore e chiudi qualsiasi altro terminale seriale che potrebbe avere la porta già aperta.',
37
+ },
38
+ {
39
+ name: 'Seleziona il baud rate',
40
+ text: 'Scegli lo stesso baud rate usato dal firmware, come 115200 per molti sketch Arduino, ESP32 e RP2040.',
41
+ },
42
+ {
43
+ name: 'Concedi l\'autorizzazione del browser',
44
+ text: 'Premi Connetti, scegli il dispositivo seriale nel selettore del browser e consenti alla pagina di aprire la porta.',
45
+ },
46
+ {
47
+ name: 'Leggi e invia dati del terminale',
48
+ text: 'Osserva i log in arrivo nel terminale, invia comandi con terminazioni di riga CRLF opzionali e cancella o metti in pausa l\'output in tempo reale quando necessario.',
49
+ },
50
+ ];
51
+
52
+ const faqSchema: WithContext<FAQPage> = {
53
+ '@context': 'https://schema.org',
54
+ '@type': 'FAQPage',
55
+ mainEntity: faqData.map((item) => ({
56
+ '@type': 'Question',
57
+ name: item.question,
58
+ acceptedAnswer: { '@type': 'Answer', text: item.answer },
59
+ })),
60
+ };
61
+
62
+ const howToSchema: WithContext<HowTo> = {
63
+ '@context': 'https://schema.org',
64
+ '@type': 'HowTo',
65
+ name: title,
66
+ description,
67
+ step: howToData.map((step, i) => ({
68
+ '@type': 'HowToStep',
69
+ position: i + 1,
70
+ name: step.name,
71
+ text: step.text,
72
+ })),
73
+ };
74
+
75
+ const appSchema: WithContext<SoftwareApplication> = {
76
+ '@context': 'https://schema.org',
77
+ '@type': 'SoftwareApplication',
78
+ name: title,
79
+ description,
80
+ applicationCategory: 'DeveloperApplication',
81
+ operatingSystem: 'All',
82
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'USD' },
83
+ inLanguage: 'it',
84
+ };
85
+
86
+ export const content: ToolLocaleContent<WebUsbSerialMonitorUI> = {
87
+ slug,
88
+ title,
89
+ description,
90
+ faq: faqData,
91
+ bibliography,
92
+ howTo: howToData,
93
+ schemas: [faqSchema, howToSchema, appSchema],
94
+ seo: [
95
+ {
96
+ type: 'title',
97
+ text: 'Monitor Seriale Online per Hardware USB Maker',
98
+ level: 2,
99
+ },
100
+ {
101
+ type: 'paragraph',
102
+ html: 'Questo monitor seriale del browser apre una porta seriale USB direttamente da Chrome o Edge, quindi trasmette testo da microcontrollori, ponti USB UART, schede di sviluppo, bootloader, dispositivi di test, sensori e hardware di laboratorio. È progettato per diagnostica rapida quando hai bisogno di una console seriale ma non vuoi installare un IDE desktop o un\'applicazione terminale.',
103
+ },
104
+ {
105
+ type: 'message',
106
+ title: 'Limite di autorizzazione del browser',
107
+ html: 'La pagina non può enumerare o aprire silenziosamente i tuoi dispositivi seriali. L\'accesso inizia solo dopo aver premuto Connetti e scelto una porta nel selettore del browser. I dati del terminale rimangono nella scheda corrente a meno che tu non li copi.',
108
+ },
109
+ {
110
+ type: 'stats',
111
+ items: [
112
+ { value: '9600-921600', label: 'preset baud comuni' },
113
+ { value: 'CRLF', label: 'terminazione comando opzionale' },
114
+ { value: 'locale', label: 'sessione terminale' },
115
+ ],
116
+ },
117
+ {
118
+ type: 'title',
119
+ text: 'Quando un Terminale Seriale Web è Utile',
120
+ level: 3,
121
+ },
122
+ {
123
+ type: 'list',
124
+ items: [
125
+ 'Controllare i messaggi di avvio da Arduino, ESP32, ESP8266, RP2040, STM32 o firmware personalizzato.',
126
+ 'Inviare comandi AT a modem, GPS, LoRa, Wi-Fi, Bluetooth o moduli cellulari tramite un adattatore USB UART.',
127
+ 'Leggere l\'output dei sensori da un banco di prova di fabbrica, laboratorio scolastico, controller robotico o prototipo da banco.',
128
+ 'Verificare che driver bridge seriale USB, cavo, alimentazione della scheda e baud rate del firmware funzionino tutti insieme.',
129
+ 'Raccogliere un rapido log degli errori prima di segnalare un bug o richiedere supporto hardware.',
130
+ ],
131
+ },
132
+ {
133
+ type: 'comparative',
134
+ items: [
135
+ {
136
+ title: 'Monitor seriale web',
137
+ description: 'Ideale per supporto rapido, istruzioni in classe, diagnostica sul campo e flussi di lavoro maker dove aprire un URL è più veloce che installare un IDE.',
138
+ },
139
+ {
140
+ title: 'Terminale desktop',
141
+ description: 'Migliore per protocolli binari, sessioni di acquisizione lunghe, scripting, controllo di flusso hardware, macro e ambienti in cui le API del browser sono bloccate.',
142
+ },
143
+ ],
144
+ },
145
+ {
146
+ type: 'title',
147
+ text: 'Lista di Controllo Baud Rate e Terminazione di Riga',
148
+ level: 3,
149
+ },
150
+ {
151
+ type: 'table',
152
+ headers: ['Impostazione', 'Scelta tipica', 'Cosa non funziona quando è sbagliato'],
153
+ rows: [
154
+ ['Baud rate', '115200 per molte schede moderne, 9600 per esempi più vecchi.', 'Il testo leggibile diventa simboli casuali o non appare alcun log utile.'],
155
+ ['Terminazione di riga', 'CRLF per molti parser di comandi, nessuna terminazione per protocolli a caratteri grezzi.', 'I comandi vengono ignorati perché il firmware attende un terminatore.'],
156
+ ['Accesso esclusivo alla porta', 'Chiudi Arduino Serial Monitor, PuTTY, screen, minicom o strumenti del produttore.', 'Il selettore del browser apre la porta ma la lettura o scrittura fallisce.'],
157
+ ['Contesto sicuro', 'HTTPS o localhost.', 'L\'API Serial è assente anche in un browser supportato.'],
158
+ ],
159
+ },
160
+ {
161
+ type: 'diagnostic',
162
+ variant: 'warning',
163
+ title: 'Nessun output seriale?',
164
+ html: 'Conferma che la scheda sia alimentata e che il cavo USB supporti i dati, non solo la ricarica. Prova 9600, 57600 e 115200 se non conosci il baud rate del firmware. Premi reset dopo la connessione perché molte schede stampano i log di avvio solo all\'avvio. Chiudi altri software che potrebbero ancora possedere la porta seriale e installa il driver del sistema operativo per CH340, CP210x, FTDI o il produttore della scheda se il dispositivo non appare mai.',
165
+ },
166
+ {
167
+ type: 'title',
168
+ text: 'Privacy, Sicurezza e Limiti',
169
+ level: 3,
170
+ },
171
+ {
172
+ type: 'proscons',
173
+ title: 'Punti di forza e limiti di Web Serial',
174
+ items: [
175
+ {
176
+ pro: 'Nessuna installazione desktop per diagnostica di testo seriale di base.',
177
+ con: 'Richiede un browser basato su Chromium e un contesto sicuro.',
178
+ },
179
+ {
180
+ pro: 'Il selettore del browser limita l\'accesso alla porta specifica che scegli.',
181
+ con: 'Non destinato ad analizzatori di protocolli binari o acquisizioni lunghe non presidiate.',
182
+ },
183
+ {
184
+ pro: 'Funziona bene per log di testo, prompt dei comandi e controlli rapidi dell\'hardware.',
185
+ con: 'Alcune policy aziendali, browser mobili e sistemi operativi bloccano Web Serial.',
186
+ },
187
+ ],
188
+ },
189
+ ],
190
+ ui: {
191
+ unsupportedTitle: 'Web Serial non è disponibile',
192
+ unsupportedBody: 'Usa Chrome o Edge su HTTPS o localhost e assicurati che il tuo dispositivo esponga un\'interfaccia seriale USB.',
193
+ secureContext: 'Web Serial richiede HTTPS o localhost. Ricarica questa pagina da un\'origine sicura e riprova.',
194
+ statusIdle: 'Scegli un baud rate, quindi connetti un dispositivo seriale USB',
195
+ statusPermission: 'In attesa del selettore porta seriale del browser',
196
+ statusOpening: 'Apertura porta seriale',
197
+ statusConnected: 'Porta seriale connessa',
198
+ statusDisconnected: 'Porta seriale disconnessa',
199
+ statusError: 'Connessione seriale fallita',
200
+ connect: 'Connetti Seriale',
201
+ disconnect: 'Disconnetti',
202
+ send: 'Invia',
203
+ clear: 'Cancella',
204
+ pause: 'Pausa',
205
+ resume: 'Riprendi',
206
+ baudRate: 'Baud rate',
207
+ newline: 'Aggiungi CRLF',
208
+ inputPlaceholder: 'Digita un comando, poi premi Invio',
209
+ portFallback: 'Nessuna porta selezionata',
210
+ portLabel: 'Identità porta',
211
+ connectedDeviceLabel: 'Dispositivo connesso',
212
+ deviceNameFallback: 'Dispositivo seriale USB',
213
+ transportLabel: 'Collegamento Web Serial',
214
+ bytesLabel: 'Byte',
215
+ linesLabel: 'Righe',
216
+ privacyTitle: 'Accesso controllato',
217
+ privacyBody: 'Il browser espone solo il dispositivo seriale che selezioni. I log rimangono in questa scheda a meno che tu non li copi.',
218
+ emptyLog: 'L\'output del terminale apparirà qui dopo aver connesso un dispositivo seriale.',
219
+ copied: 'Copiato',
220
+ copyLog: 'Copia',
221
+ presetSlow: '9600',
222
+ presetArduino: '115200',
223
+ presetFast: '921600',
224
+ terminalLabel: 'Terminale in diretta',
225
+ unknownUsbId: 'N/A',
226
+ logDirectionRx: 'rx',
227
+ logDirectionTx: 'tx',
228
+ logDirectionSys: 'sys',
229
+ vidPrefix: 'VID ',
230
+ pidSeparator: ' / PID ',
231
+ baudUnit: ' baud',
232
+ vendorFtdi: 'FTDI USB Serial',
233
+ vendorSilabs: 'Silicon Labs CP210x',
234
+ vendorCh340: 'CH340 USB Serial',
235
+ vendorArduinoUsb: 'Arduino USB Serial',
236
+ vendorAdafruit: 'Adafruit USB Serial',
237
+ vendorRp2040: 'Raspberry Pi RP2040',
238
+ vendorEspressif: 'Espressif USB Serial',
239
+ vendorOpenSource: 'Open Source USB Serial',
240
+ },
241
+ };
@@ -0,0 +1,241 @@
1
+ import type { WithContext, FAQPage, HowTo, SoftwareApplication } from 'schema-dts';
2
+ import type { ToolLocaleContent } from '../../../types';
3
+ import type { WebUsbSerialMonitorUI } from '../ui';
4
+ import { bibliography } from '../bibliography';
5
+
6
+ const slug = 'web-usb-serial-monitor';
7
+ const title = 'WebUSB シリアルモニター';
8
+ const description = 'ブラウザからUSBシリアルハードウェアに接続し、ライブ端末出力を読み取り、コマンドを送信し、Arduino、ESP32、RP2040、メーカーボードをデスクトップ端末をインストールせずにデバッグします。';
9
+
10
+ const faqData = [
11
+ {
12
+ question: 'このシリアルモニターはArduino、ESP32、Raspberry Pi Picoボードで動作しますか?',
13
+ answer: 'はい、ボードがWeb SerialでサポートされているUSBシリアルインターフェースを提供し、ブラウザがChromiumベースの場合です。一般的なArduino、ESP32、RP2040、CH340、CP210x、FTDIアダプターは、ユーザーが許可を与えた後に通常動作します。',
14
+ },
15
+ {
16
+ question: 'Web Serialを使用するのになぜWebUSBと呼ばれるのですか?',
17
+ answer: 'ほとんどのメーカーボードはUSB経由で接続しますが、ブラウザ端末アクセスはWeb Serial APIによって提供されます。WebUSBはより低レベルであり、シンプルなUARTスタイルの端末には適切な抽象化ではありません。',
18
+ },
19
+ {
20
+ question: 'ウェブサイトは許可なく私のシリアルデバイスにアクセスできますか?',
21
+ answer: 'いいえ。ブラウザはサイトがシリアルポートを開く前にユーザーのクリックとネイティブデバイスピッカーを要求します。このツールは端末ログやデバイス識別子を保存しません。',
22
+ },
23
+ {
24
+ question: 'Webシリアル端末にはどのブラウザを使うべきですか?',
25
+ answer: 'HTTPSまたはlocalhostでChrome、Edge、または他のChromiumベースのブラウザを使用してください。Firefox、Safari、および多くのiOSブラウザはWeb Serial APIを公開していません。',
26
+ },
27
+ {
28
+ question: 'どのボーレートを選択すべきですか?',
29
+ answer: 'ファームウェアで設定されたボーレートを選択してください。Arduinoの例では9600または115200がよく使われ、より高速なログ、ブートローダー、高速センサーストリームでは230400、460800、または921600が使用されることがあります。',
30
+ },
31
+ ];
32
+
33
+ const howToData = [
34
+ {
35
+ name: 'USBシリアルデバイスを接続する',
36
+ text: 'ボードまたはアダプターを接続し、すでにポートを開いている可能性のある他のシリアル端末を閉じます。',
37
+ },
38
+ {
39
+ name: 'ボーレートを選択する',
40
+ text: '多くのArduino、ESP32、RP2040スケッチ用の115200など、ファームウェアで使用されているのと同じボーレートを選択します。',
41
+ },
42
+ {
43
+ name: 'ブラウザの許可を与える',
44
+ text: '接続を押し、ブラウザピッカーでシリアルデバイスを選択し、ページがポートを開くことを許可します。',
45
+ },
46
+ {
47
+ name: '端末データの読み取りと送信',
48
+ text: '端末で受信ログを監視し、オプションのCRLF行末でコマンドを送信し、必要に応じてライブ出力をクリアまたは一時停止します。',
49
+ },
50
+ ];
51
+
52
+ const faqSchema: WithContext<FAQPage> = {
53
+ '@context': 'https://schema.org',
54
+ '@type': 'FAQPage',
55
+ mainEntity: faqData.map((item) => ({
56
+ '@type': 'Question',
57
+ name: item.question,
58
+ acceptedAnswer: { '@type': 'Answer', text: item.answer },
59
+ })),
60
+ };
61
+
62
+ const howToSchema: WithContext<HowTo> = {
63
+ '@context': 'https://schema.org',
64
+ '@type': 'HowTo',
65
+ name: title,
66
+ description,
67
+ step: howToData.map((step, i) => ({
68
+ '@type': 'HowToStep',
69
+ position: i + 1,
70
+ name: step.name,
71
+ text: step.text,
72
+ })),
73
+ };
74
+
75
+ const appSchema: WithContext<SoftwareApplication> = {
76
+ '@context': 'https://schema.org',
77
+ '@type': 'SoftwareApplication',
78
+ name: title,
79
+ description,
80
+ applicationCategory: 'DeveloperApplication',
81
+ operatingSystem: 'All',
82
+ offers: { '@type': 'Offer', price: '0', priceCurrency: 'USD' },
83
+ inLanguage: 'ja',
84
+ };
85
+
86
+ export const content: ToolLocaleContent<WebUsbSerialMonitorUI> = {
87
+ slug,
88
+ title,
89
+ description,
90
+ faq: faqData,
91
+ bibliography,
92
+ howTo: howToData,
93
+ schemas: [faqSchema, howToSchema, appSchema],
94
+ seo: [
95
+ {
96
+ type: 'title',
97
+ text: 'USBメーカーハードウェア向けオンラインシリアルモニター',
98
+ level: 2,
99
+ },
100
+ {
101
+ type: 'paragraph',
102
+ html: 'このブラウザシリアルモニターは、ChromeまたはEdgeから直接USBシリアルポートを開き、マイクロコントローラー、USB UARTブリッジ、開発ボード、ブートローダー、テスト治具、センサー、実験装置からテキストをストリーミングします。シリアルコンソールが必要だがデスクトップIDEや端末アプリケーションをインストールしたくない場合の迅速な診断用に設計されています。',
103
+ },
104
+ {
105
+ type: 'message',
106
+ title: 'ブラウザ許可の境界',
107
+ html: 'ページはお客様のシリアルデバイスを黙って列挙したり開いたりすることはできません。アクセスは、接続を押してブラウザピッカーでポートを選択した後にのみ開始されます。端末データは、お客様自身がコピーしない限り、現在のタブに留まります。',
108
+ },
109
+ {
110
+ type: 'stats',
111
+ items: [
112
+ { value: '9600-921600', label: '一般的なボーレートプリセット' },
113
+ { value: 'CRLF', label: 'オプションのコマンド終端' },
114
+ { value: 'ローカル', label: '端末セッション' },
115
+ ],
116
+ },
117
+ {
118
+ type: 'title',
119
+ text: 'Webシリアル端末が役立つ場面',
120
+ level: 3,
121
+ },
122
+ {
123
+ type: 'list',
124
+ items: [
125
+ 'Arduino、ESP32、ESP8266、RP2040、STM32、またはカスタムファームウェアからのブートメッセージの確認。',
126
+ 'USB UARTアダプターを介したモデム、GPS、LoRa、Wi-Fi、Bluetooth、またはセルラーモジュールへのATコマンドの送信。',
127
+ '工場のテスト治具、教室のラボ、ロボットコントローラー、またはベンチプロトタイプからのセンサー出力の読み取り。',
128
+ 'USBシリアルブリッジドライバー、ケーブル、ボード電源、およびファームウェアのボーレートがすべて連携して動作していることの確認。',
129
+ 'バグを報告したりハードウェアサポートを依頼する前の迅速なエラーログの収集。',
130
+ ],
131
+ },
132
+ {
133
+ type: 'comparative',
134
+ items: [
135
+ {
136
+ title: 'Webシリアルモニター',
137
+ description: 'クイックサポート、教室での指示、フィールド診断、およびURLを開く方がIDEをインストールするより速いメーカーワークフローに最適です。',
138
+ },
139
+ {
140
+ title: 'デスクトップ端末',
141
+ description: 'バイナリプロトコル、長時間のキャプチャセッション、スクリプト作成、ハードウェアフロー制御、マクロ、およびブラウザAPIがブロックされている環境に適しています。',
142
+ },
143
+ ],
144
+ },
145
+ {
146
+ type: 'title',
147
+ text: 'ボーレートと行末チェックリスト',
148
+ level: 3,
149
+ },
150
+ {
151
+ type: 'table',
152
+ headers: ['設定', '一般的な選択', '間違っている場合の不具合'],
153
+ rows: [
154
+ ['ボーレート', '多くの最新ボードでは115200、古い例では9600。', '読み取り可能なテキストがランダムな記号に変わるか、有用なログが表示されない。'],
155
+ ['行末', '多くのコマンドパーサーではCRLF、生の文字プロトコルでは終端なし。', 'ファームウェアが終端文字を待っているため、コマンドが無視される。'],
156
+ ['排他的ポートアクセス', 'Arduinoシリアルモニター、PuTTY、screen、minicom、またはベンダーツールを閉じる。', 'ブラウザピッカーはポートを開くが、読み取りまたは書き込みが失敗する。'],
157
+ ['安全なコンテキスト', 'HTTPSまたはlocalhost。', 'サポートされているブラウザでもシリアルAPIが欠落している。'],
158
+ ],
159
+ },
160
+ {
161
+ type: 'diagnostic',
162
+ variant: 'warning',
163
+ title: 'シリアル出力がない場合',
164
+ html: 'ボードに電源が供給され、USBケーブルが充電のみでなくデータをサポートしていることを確認してください。ファームウェアのボーレートがわからない場合は、9600、57600、115200を試してください。多くのボードは起動時のみブートログを出力するため、接続後にリセットを押してください。まだシリアルポートを所有している可能性のある他のソフトウェアを閉じ、デバイスが表示されない場合はCH340、CP210x、FTDI、またはボードベンダーのオペレーティングシステムドライバーをインストールしてください。',
165
+ },
166
+ {
167
+ type: 'title',
168
+ text: 'プライバシー、セキュリティ、および制限',
169
+ level: 3,
170
+ },
171
+ {
172
+ type: 'proscons',
173
+ title: 'Web Serialの長所と制限',
174
+ items: [
175
+ {
176
+ pro: '基本的なシリアルテキスト診断にデスクトップインストール不要。',
177
+ con: 'Chromiumベースのブラウザと安全なコンテキストが必要。',
178
+ },
179
+ {
180
+ pro: 'ブラウザピッカーが選択した特定のポートへのアクセスを制限。',
181
+ con: 'バイナリプロトコルアナライザや長時間の無人キャプチャには向かない。',
182
+ },
183
+ {
184
+ pro: 'テキストログ、コマンドプロンプト、迅速なハードウェアチェックに適している。',
185
+ con: '一部の企業ポリシー、モバイルブラウザ、オペレーティングシステムがWeb Serialをブロック。',
186
+ },
187
+ ],
188
+ },
189
+ ],
190
+ ui: {
191
+ unsupportedTitle: 'Web Serialは利用できません',
192
+ unsupportedBody: 'HTTPSまたはlocalhostでChromeまたはEdgeを使用し、デバイスがUSBシリアルインターフェースを提供していることを確認してください。',
193
+ secureContext: 'Web SerialにはHTTPSまたはlocalhostが必要です。安全なオリジンからこのページを再読み込みして再試行してください。',
194
+ statusIdle: 'ボーレートを選択し、USBシリアルデバイスを接続してください',
195
+ statusPermission: 'ブラウザのシリアルポートピッカーを待機中',
196
+ statusOpening: 'シリアルポートを開いています',
197
+ statusConnected: 'シリアルポート接続済み',
198
+ statusDisconnected: 'シリアルポート切断済み',
199
+ statusError: 'シリアル接続に失敗しました',
200
+ connect: 'シリアル接続',
201
+ disconnect: '切断',
202
+ send: '送信',
203
+ clear: 'クリア',
204
+ pause: '一時停止',
205
+ resume: '再開',
206
+ baudRate: 'ボーレート',
207
+ newline: 'CRLFを追加',
208
+ inputPlaceholder: 'コマンドを入力し、Enterを押してください',
209
+ portFallback: 'ポートが選択されていません',
210
+ portLabel: 'ポートID',
211
+ connectedDeviceLabel: '接続中のデバイス',
212
+ deviceNameFallback: 'USBシリアルデバイス',
213
+ transportLabel: 'Web Serialリンク',
214
+ bytesLabel: 'バイト',
215
+ linesLabel: '行',
216
+ privacyTitle: '許可制',
217
+ privacyBody: 'ブラウザは選択したシリアルデバイスのみを公開します。ログはコピーしない限りこのタブに留まります。',
218
+ emptyLog: 'シリアルデバイスを接続すると、ここに端末出力が表示されます。',
219
+ copied: 'コピーしました',
220
+ copyLog: 'コピー',
221
+ presetSlow: '9600',
222
+ presetArduino: '115200',
223
+ presetFast: '921600',
224
+ terminalLabel: 'ライブ端末',
225
+ unknownUsbId: 'N/A',
226
+ logDirectionRx: 'rx',
227
+ logDirectionTx: 'tx',
228
+ logDirectionSys: 'sys',
229
+ vidPrefix: 'VID ',
230
+ pidSeparator: ' / PID ',
231
+ baudUnit: ' baud',
232
+ vendorFtdi: 'FTDI USB Serial',
233
+ vendorSilabs: 'Silicon Labs CP210x',
234
+ vendorCh340: 'CH340 USB Serial',
235
+ vendorArduinoUsb: 'Arduino USB Serial',
236
+ vendorAdafruit: 'Adafruit USB Serial',
237
+ vendorRp2040: 'Raspberry Pi RP2040',
238
+ vendorEspressif: 'Espressif USB Serial',
239
+ vendorOpenSource: 'Open Source USB Serial',
240
+ },
241
+ };