@jjlmoya/utils-hardware 1.25.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.
- package/package.json +1 -1
- package/src/category/index.ts +2 -1
- package/src/entries.ts +4 -1
- package/src/index.ts +1 -0
- package/src/tests/locale_completeness.test.ts +1 -1
- package/src/tests/tool_validation.test.ts +1 -1
- package/src/tool/webUsbSerialMonitor/bibliography.astro +15 -0
- package/src/tool/webUsbSerialMonitor/bibliography.ts +18 -0
- package/src/tool/webUsbSerialMonitor/component.astro +356 -0
- package/src/tool/webUsbSerialMonitor/entry.ts +30 -0
- package/src/tool/webUsbSerialMonitor/i18n/de.ts +241 -0
- package/src/tool/webUsbSerialMonitor/i18n/en.ts +241 -0
- package/src/tool/webUsbSerialMonitor/i18n/es.ts +241 -0
- package/src/tool/webUsbSerialMonitor/i18n/fr.ts +241 -0
- package/src/tool/webUsbSerialMonitor/i18n/id.ts +241 -0
- package/src/tool/webUsbSerialMonitor/i18n/it.ts +241 -0
- package/src/tool/webUsbSerialMonitor/i18n/ja.ts +241 -0
- package/src/tool/webUsbSerialMonitor/i18n/ko.ts +241 -0
- package/src/tool/webUsbSerialMonitor/i18n/nl.ts +241 -0
- package/src/tool/webUsbSerialMonitor/i18n/pl.ts +241 -0
- package/src/tool/webUsbSerialMonitor/i18n/pt.ts +241 -0
- package/src/tool/webUsbSerialMonitor/i18n/ru.ts +241 -0
- package/src/tool/webUsbSerialMonitor/i18n/sv.ts +241 -0
- package/src/tool/webUsbSerialMonitor/i18n/tr.ts +241 -0
- package/src/tool/webUsbSerialMonitor/i18n/zh.ts +241 -0
- package/src/tool/webUsbSerialMonitor/index.ts +12 -0
- package/src/tool/webUsbSerialMonitor/logic.ts +44 -0
- package/src/tool/webUsbSerialMonitor/seo.astro +16 -0
- package/src/tool/webUsbSerialMonitor/ui.ts +51 -0
- package/src/tool/webUsbSerialMonitor/web-usb-serial-monitor.css +415 -0
- package/src/tools.ts +2 -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-serial-webusb';
|
|
7
|
+
const title = 'Monitor Serial WebUSB';
|
|
8
|
+
const description = 'Hubungkan ke perangkat keras serial USB dari browser, baca output terminal langsung, kirim perintah, dan debug papan Arduino, ESP32, RP2040, dan maker tanpa menginstal terminal desktop.';
|
|
9
|
+
|
|
10
|
+
const faqData = [
|
|
11
|
+
{
|
|
12
|
+
question: 'Apakah monitor serial ini berfungsi dengan papan Arduino, ESP32, dan Raspberry Pi Pico?',
|
|
13
|
+
answer: 'Ya, ketika papan menyediakan antarmuka serial USB yang didukung oleh Web Serial dan browser berbasis Chromium. Adaptor Arduino, ESP32, RP2040, CH340, CP210x, dan FTDI umum biasanya berfungsi setelah pengguna memberikan izin.',
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
question: 'Mengapa ini disebut WebUSB jika menggunakan Web Serial?',
|
|
17
|
+
answer: 'Sebagian besar papan maker terhubung melalui USB, tetapi akses terminal browser disediakan oleh Web Serial API. WebUSB adalah level lebih rendah dan bukan abstraksi yang tepat untuk terminal gaya UART sederhana.',
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
question: 'Bisakah situs web mengakses perangkat serial saya tanpa izin?',
|
|
21
|
+
answer: 'Tidak. Browser memerlukan klik pengguna dan pemilih perangkat asli sebelum situs dapat membuka port serial. Alat ini tidak menyimpan log terminal atau pengenal perangkat.',
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
question: 'Browser mana yang harus saya gunakan untuk terminal serial web?',
|
|
25
|
+
answer: 'Gunakan Chrome, Edge, atau browser berbasis Chromium lainnya melalui HTTPS atau localhost. Firefox, Safari, dan banyak browser iOS tidak menyediakan Web Serial API.',
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
question: 'Baud rate apa yang harus saya pilih?',
|
|
29
|
+
answer: 'Pilih baud rate yang dikonfigurasi di firmware Anda. Contoh Arduino sering menggunakan 9600 atau 115200, sementara log lebih cepat, bootloader, dan aliran sensor laju tinggi dapat menggunakan 230400, 460800, atau 921600.',
|
|
30
|
+
},
|
|
31
|
+
];
|
|
32
|
+
|
|
33
|
+
const howToData = [
|
|
34
|
+
{
|
|
35
|
+
name: 'Hubungkan perangkat serial USB',
|
|
36
|
+
text: 'Colokkan papan atau adaptor dan tutup terminal serial lain yang mungkin sudah membuka port.',
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
name: 'Pilih baud rate',
|
|
40
|
+
text: 'Pilih baud rate yang sama yang digunakan oleh firmware, seperti 115200 untuk banyak sketsa Arduino, ESP32, dan RP2040.',
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
name: 'Berikan izin browser',
|
|
44
|
+
text: 'Tekan Hubungkan, pilih perangkat serial di pemilih browser, dan izinkan halaman untuk membuka port.',
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
name: 'Baca dan kirim data terminal',
|
|
48
|
+
text: 'Pantau log masuk di terminal, kirim perintah dengan akhiran baris CRLF opsional, dan hapus atau jeda output langsung saat diperlukan.',
|
|
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: 'id',
|
|
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 Serial Online untuk Perangkat Keras USB Maker',
|
|
98
|
+
level: 2,
|
|
99
|
+
},
|
|
100
|
+
{
|
|
101
|
+
type: 'paragraph',
|
|
102
|
+
html: 'Monitor serial browser ini membuka port serial USB langsung dari Chrome atau Edge, lalu mengalirkan teks dari mikrokontroler, jembatan USB UART, papan pengembangan, bootloader, perlengkapan uji, sensor, dan perangkat keras lab. Dirancang untuk diagnostik cepat saat Anda membutuhkan konsol serial tetapi tidak ingin menginstal IDE desktop atau aplikasi terminal.',
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
type: 'message',
|
|
106
|
+
title: 'Batas izin browser',
|
|
107
|
+
html: 'Halaman tidak dapat secara diam diam menghitung atau membuka perangkat serial Anda. Akses hanya dimulai setelah Anda menekan Hubungkan dan memilih port di pemilih browser. Data terminal tetap di tab saat ini kecuali Anda menyalinnya sendiri.',
|
|
108
|
+
},
|
|
109
|
+
{
|
|
110
|
+
type: 'stats',
|
|
111
|
+
items: [
|
|
112
|
+
{ value: '9600-921600', label: 'preset baud umum' },
|
|
113
|
+
{ value: 'CRLF', label: 'akhiran perintah opsional' },
|
|
114
|
+
{ value: 'lokal', label: 'sesi terminal' },
|
|
115
|
+
],
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
type: 'title',
|
|
119
|
+
text: 'Kapan Terminal Serial Web Berguna',
|
|
120
|
+
level: 3,
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
type: 'list',
|
|
124
|
+
items: [
|
|
125
|
+
'Memeriksa pesan boot dari Arduino, ESP32, ESP8266, RP2040, STM32, atau firmware kustom.',
|
|
126
|
+
'Mengirim perintah AT ke modem, GPS, LoRa, Wi-Fi, Bluetooth, atau modul seluler melalui adaptor USB UART.',
|
|
127
|
+
'Membaca output sensor dari jig uji pabrik, lab kelas, pengontrol robotika, atau prototipe meja.',
|
|
128
|
+
'Memverifikasi bahwa driver jembatan serial USB, kabel, daya papan, dan baud rate firmware semuanya bekerja bersama.',
|
|
129
|
+
'Mengumpulkan log kesalahan cepat sebelum mengajukan bug atau meminta dukungan perangkat keras.',
|
|
130
|
+
],
|
|
131
|
+
},
|
|
132
|
+
{
|
|
133
|
+
type: 'comparative',
|
|
134
|
+
items: [
|
|
135
|
+
{
|
|
136
|
+
title: 'Monitor serial web',
|
|
137
|
+
description: 'Terbaik untuk dukungan cepat, instruksi kelas, diagnostik lapangan, dan alur kerja maker di mana membuka URL lebih cepat daripada menginstal IDE.',
|
|
138
|
+
},
|
|
139
|
+
{
|
|
140
|
+
title: 'Terminal desktop',
|
|
141
|
+
description: 'Lebih baik untuk protokol biner, sesi perekaman panjang, skrip, kontrol aliran perangkat keras, makro, dan lingkungan di mana API browser diblokir.',
|
|
142
|
+
},
|
|
143
|
+
],
|
|
144
|
+
},
|
|
145
|
+
{
|
|
146
|
+
type: 'title',
|
|
147
|
+
text: 'Daftar Periksa Baud Rate dan Akhiran Baris',
|
|
148
|
+
level: 3,
|
|
149
|
+
},
|
|
150
|
+
{
|
|
151
|
+
type: 'table',
|
|
152
|
+
headers: ['Pengaturan', 'Pilihan umum', 'Apa yang salah saat tidak tepat'],
|
|
153
|
+
rows: [
|
|
154
|
+
['Baud rate', '115200 untuk banyak papan modern, 9600 untuk contoh lama.', 'Teks yang dapat dibaca berubah menjadi simbol acak atau tidak ada log berguna yang muncul.'],
|
|
155
|
+
['Akhiran baris', 'CRLF untuk banyak parser perintah, tanpa akhiran untuk protokol karakter mentah.', 'Perintah diabaikan karena firmware menunggu terminator.'],
|
|
156
|
+
['Akses port eksklusif', 'Tutup Arduino Serial Monitor, PuTTY, screen, minicom, atau alat vendor.', 'Pemilih browser membuka port tetapi membaca atau menulis gagal.'],
|
|
157
|
+
['Konteks aman', 'HTTPS atau localhost.', 'Serial API hilang bahkan di browser yang didukung.'],
|
|
158
|
+
],
|
|
159
|
+
},
|
|
160
|
+
{
|
|
161
|
+
type: 'diagnostic',
|
|
162
|
+
variant: 'warning',
|
|
163
|
+
title: 'Tidak ada output serial?',
|
|
164
|
+
html: 'Konfirmasi papan menyala dan kabel USB mendukung data, bukan hanya pengisian daya. Coba 9600, 57600, dan 115200 jika Anda tidak tahu baud rate firmware. Tekan reset setelah menghubungkan karena banyak papan mencetak log boot hanya saat startup. Tutup perangkat lunak lain yang mungkin masih memiliki port serial, dan instal driver sistem operasi untuk CH340, CP210x, FTDI, atau vendor papan jika perangkat tidak pernah muncul.',
|
|
165
|
+
},
|
|
166
|
+
{
|
|
167
|
+
type: 'title',
|
|
168
|
+
text: 'Privasi, Keamanan, dan Batasan',
|
|
169
|
+
level: 3,
|
|
170
|
+
},
|
|
171
|
+
{
|
|
172
|
+
type: 'proscons',
|
|
173
|
+
title: 'Kekuatan dan batasan Web Serial',
|
|
174
|
+
items: [
|
|
175
|
+
{
|
|
176
|
+
pro: 'Tidak perlu instalasi desktop untuk diagnostik teks serial dasar.',
|
|
177
|
+
con: 'Memerlukan browser berbasis Chromium dan konteks aman.',
|
|
178
|
+
},
|
|
179
|
+
{
|
|
180
|
+
pro: 'Pemilih browser membatasi akses ke port spesifik yang Anda pilih.',
|
|
181
|
+
con: 'Tidak dimaksudkan untuk penganalisis protokol biner atau perekaman lama tanpa pengawasan.',
|
|
182
|
+
},
|
|
183
|
+
{
|
|
184
|
+
pro: 'Bekerja dengan baik untuk log teks, prompt perintah, dan pemeriksaan perangkat keras cepat.',
|
|
185
|
+
con: 'Beberapa kebijakan perusahaan, browser seluler, dan sistem operasi memblokir Web Serial.',
|
|
186
|
+
},
|
|
187
|
+
],
|
|
188
|
+
},
|
|
189
|
+
],
|
|
190
|
+
ui: {
|
|
191
|
+
unsupportedTitle: 'Web Serial tidak tersedia',
|
|
192
|
+
unsupportedBody: 'Gunakan Chrome atau Edge melalui HTTPS atau localhost dan pastikan perangkat Anda menyediakan antarmuka serial USB.',
|
|
193
|
+
secureContext: 'Web Serial memerlukan HTTPS atau localhost. Muat ulang halaman ini dari asal yang aman dan coba lagi.',
|
|
194
|
+
statusIdle: 'Pilih baud rate, lalu hubungkan perangkat serial USB',
|
|
195
|
+
statusPermission: 'Menunggu pemilih port serial browser',
|
|
196
|
+
statusOpening: 'Membuka port serial',
|
|
197
|
+
statusConnected: 'Port serial terhubung',
|
|
198
|
+
statusDisconnected: 'Port serial terputus',
|
|
199
|
+
statusError: 'Koneksi serial gagal',
|
|
200
|
+
connect: 'Hubungkan Serial',
|
|
201
|
+
disconnect: 'Putuskan',
|
|
202
|
+
send: 'Kirim',
|
|
203
|
+
clear: 'Hapus',
|
|
204
|
+
pause: 'Jeda',
|
|
205
|
+
resume: 'Lanjutkan',
|
|
206
|
+
baudRate: 'Baud rate',
|
|
207
|
+
newline: 'Tambahkan CRLF',
|
|
208
|
+
inputPlaceholder: 'Ketik perintah, lalu tekan Enter',
|
|
209
|
+
portFallback: 'Tidak ada port dipilih',
|
|
210
|
+
portLabel: 'Identitas port',
|
|
211
|
+
connectedDeviceLabel: 'Perangkat terhubung',
|
|
212
|
+
deviceNameFallback: 'Perangkat serial USB',
|
|
213
|
+
transportLabel: 'Tautan Web Serial',
|
|
214
|
+
bytesLabel: 'Bytes',
|
|
215
|
+
linesLabel: 'Baris',
|
|
216
|
+
privacyTitle: 'Akses terkendali',
|
|
217
|
+
privacyBody: 'Browser hanya mengekspos perangkat serial yang Anda pilih. Log tetap di tab ini kecuali Anda menyalinnya.',
|
|
218
|
+
emptyLog: 'Output terminal akan muncul di sini setelah Anda menghubungkan perangkat serial.',
|
|
219
|
+
copied: 'Disalin',
|
|
220
|
+
copyLog: 'Salin',
|
|
221
|
+
presetSlow: '9600',
|
|
222
|
+
presetArduino: '115200',
|
|
223
|
+
presetFast: '921600',
|
|
224
|
+
terminalLabel: 'Terminal langsung',
|
|
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 = '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
|
+
};
|