@jjlmoya/utils-hardware 1.25.0 → 1.27.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 (55) hide show
  1. package/package.json +1 -1
  2. package/src/category/index.ts +3 -1
  3. package/src/entries.ts +7 -1
  4. package/src/index.ts +2 -0
  5. package/src/tests/locale_completeness.test.ts +1 -1
  6. package/src/tests/tool_validation.test.ts +1 -1
  7. package/src/tool/usbPowerBudgetCalculator/bibliography.astro +14 -0
  8. package/src/tool/usbPowerBudgetCalculator/bibliography.ts +16 -0
  9. package/src/tool/usbPowerBudgetCalculator/component.astro +266 -0
  10. package/src/tool/usbPowerBudgetCalculator/entry.ts +29 -0
  11. package/src/tool/usbPowerBudgetCalculator/i18n/de.ts +169 -0
  12. package/src/tool/usbPowerBudgetCalculator/i18n/en.ts +169 -0
  13. package/src/tool/usbPowerBudgetCalculator/i18n/es.ts +169 -0
  14. package/src/tool/usbPowerBudgetCalculator/i18n/fr.ts +169 -0
  15. package/src/tool/usbPowerBudgetCalculator/i18n/id.ts +169 -0
  16. package/src/tool/usbPowerBudgetCalculator/i18n/it.ts +169 -0
  17. package/src/tool/usbPowerBudgetCalculator/i18n/ja.ts +169 -0
  18. package/src/tool/usbPowerBudgetCalculator/i18n/ko.ts +169 -0
  19. package/src/tool/usbPowerBudgetCalculator/i18n/nl.ts +169 -0
  20. package/src/tool/usbPowerBudgetCalculator/i18n/pl.ts +169 -0
  21. package/src/tool/usbPowerBudgetCalculator/i18n/pt.ts +169 -0
  22. package/src/tool/usbPowerBudgetCalculator/i18n/ru.ts +169 -0
  23. package/src/tool/usbPowerBudgetCalculator/i18n/sv.ts +169 -0
  24. package/src/tool/usbPowerBudgetCalculator/i18n/tr.ts +169 -0
  25. package/src/tool/usbPowerBudgetCalculator/i18n/zh.ts +169 -0
  26. package/src/tool/usbPowerBudgetCalculator/index.ts +11 -0
  27. package/src/tool/usbPowerBudgetCalculator/logic.ts +81 -0
  28. package/src/tool/usbPowerBudgetCalculator/seo.astro +15 -0
  29. package/src/tool/usbPowerBudgetCalculator/ui.ts +32 -0
  30. package/src/tool/usbPowerBudgetCalculator/usb-power-budget-calculator.css +484 -0
  31. package/src/tool/webUsbSerialMonitor/bibliography.astro +15 -0
  32. package/src/tool/webUsbSerialMonitor/bibliography.ts +18 -0
  33. package/src/tool/webUsbSerialMonitor/component.astro +356 -0
  34. package/src/tool/webUsbSerialMonitor/entry.ts +30 -0
  35. package/src/tool/webUsbSerialMonitor/i18n/de.ts +241 -0
  36. package/src/tool/webUsbSerialMonitor/i18n/en.ts +241 -0
  37. package/src/tool/webUsbSerialMonitor/i18n/es.ts +241 -0
  38. package/src/tool/webUsbSerialMonitor/i18n/fr.ts +241 -0
  39. package/src/tool/webUsbSerialMonitor/i18n/id.ts +241 -0
  40. package/src/tool/webUsbSerialMonitor/i18n/it.ts +241 -0
  41. package/src/tool/webUsbSerialMonitor/i18n/ja.ts +241 -0
  42. package/src/tool/webUsbSerialMonitor/i18n/ko.ts +241 -0
  43. package/src/tool/webUsbSerialMonitor/i18n/nl.ts +241 -0
  44. package/src/tool/webUsbSerialMonitor/i18n/pl.ts +241 -0
  45. package/src/tool/webUsbSerialMonitor/i18n/pt.ts +241 -0
  46. package/src/tool/webUsbSerialMonitor/i18n/ru.ts +241 -0
  47. package/src/tool/webUsbSerialMonitor/i18n/sv.ts +241 -0
  48. package/src/tool/webUsbSerialMonitor/i18n/tr.ts +241 -0
  49. package/src/tool/webUsbSerialMonitor/i18n/zh.ts +241 -0
  50. package/src/tool/webUsbSerialMonitor/index.ts +12 -0
  51. package/src/tool/webUsbSerialMonitor/logic.ts +44 -0
  52. package/src/tool/webUsbSerialMonitor/seo.astro +16 -0
  53. package/src/tool/webUsbSerialMonitor/ui.ts +51 -0
  54. package/src/tool/webUsbSerialMonitor/web-usb-serial-monitor.css +415 -0
  55. package/src/tools.ts +3 -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 = 'moniteur-serie-webusb';
7
+ const title = 'Moniteur Série WebUSB';
8
+ const description = 'Connectez-vous au matériel série USB depuis le navigateur, lisez la sortie du terminal en direct, envoyez des commandes et déboguez les cartes Arduino, ESP32, RP2040 et maker sans installer de terminal de bureau.';
9
+
10
+ const faqData = [
11
+ {
12
+ question: 'Ce moniteur série fonctionne-t-il avec les cartes Arduino, ESP32 et Raspberry Pi Pico ?',
13
+ answer: 'Oui, lorsque la carte expose une interface série USB prise en charge par Web Serial et que le navigateur est basé sur Chromium. Les adaptateurs courants Arduino, ESP32, RP2040, CH340, CP210x et FTDI fonctionnent généralement après que l\'utilisateur a accordé l\'autorisation.',
14
+ },
15
+ {
16
+ question: 'Pourquoi cela s\'appelle WebUSB si cela utilise Web Serial ?',
17
+ answer: 'La plupart des cartes maker se connectent via USB, mais l\'accès au terminal du navigateur est fourni par l\'API Web Serial. WebUSB est de plus bas niveau et n\'est pas la bonne abstraction pour un simple terminal de style UART.',
18
+ },
19
+ {
20
+ question: 'Un site web peut-il accéder à mes périphériques série sans permission ?',
21
+ answer: 'Non. Le navigateur exige un clic utilisateur et un sélecteur de périphérique natif avant qu\'un site puisse ouvrir un port série. Cet outil ne stocke pas les journaux du terminal ni les identifiants de périphériques.',
22
+ },
23
+ {
24
+ question: 'Quel navigateur dois-je utiliser pour un terminal série web ?',
25
+ answer: 'Utilisez Chrome, Edge ou un autre navigateur basé sur Chromium via HTTPS ou localhost. Firefox, Safari et de nombreux navigateurs iOS n\'exposent pas l\'API Web Serial.',
26
+ },
27
+ {
28
+ question: 'Quel débit en bauds dois-je choisir ?',
29
+ answer: 'Choisissez le débit en bauds configuré dans votre micrologiciel. Les exemples Arduino utilisent souvent 9600 ou 115200, tandis que les journaux plus rapides, les bootloaders et les flux de capteurs à haut débit peuvent utiliser 230400, 460800 ou 921600.',
30
+ },
31
+ ];
32
+
33
+ const howToData = [
34
+ {
35
+ name: 'Connectez le périphérique série USB',
36
+ text: 'Branchez la carte ou l\'adaptateur et fermez tout autre terminal série qui pourrait avoir le port déjà ouvert.',
37
+ },
38
+ {
39
+ name: 'Sélectionnez le débit en bauds',
40
+ text: 'Choisissez le même débit en bauds utilisé par le micrologiciel, comme 115200 pour de nombreux sketches Arduino, ESP32 et RP2040.',
41
+ },
42
+ {
43
+ name: 'Accordez l\'autorisation du navigateur',
44
+ text: 'Appuyez sur Connecter, choisissez le périphérique série dans le sélecteur du navigateur et autorisez la page à ouvrir le port.',
45
+ },
46
+ {
47
+ name: 'Lisez et envoyez des données du terminal',
48
+ text: 'Observez les journaux entrants dans le terminal, envoyez des commandes avec des fins de ligne CRLF optionnelles, et effacez ou mettez en pause la sortie en direct si nécessaire.',
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: 'fr',
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: 'Moniteur Série en Ligne pour Matériel USB Maker',
98
+ level: 2,
99
+ },
100
+ {
101
+ type: 'paragraph',
102
+ html: 'Ce moniteur série de navigateur ouvre un port série USB directement depuis Chrome ou Edge, puis diffuse du texte depuis des microcontrôleurs, des ponts USB UART, des cartes de développement, des bootloaders, des dispositifs de test, des capteurs et du matériel de laboratoire. Il est conçu pour des diagnostics rapides lorsque vous avez besoin d\'une console série mais ne voulez pas installer un IDE de bureau ou une application de terminal.',
103
+ },
104
+ {
105
+ type: 'message',
106
+ title: 'Limite de permission du navigateur',
107
+ html: 'La page ne peut pas énumérer ni ouvrir silencieusement vos périphériques série. L\'accès ne commence qu\'après avoir appuyé sur Connecter et choisi un port dans le sélecteur du navigateur. Les données du terminal restent dans l\'onglet actuel, sauf si vous les copiez vous-même.',
108
+ },
109
+ {
110
+ type: 'stats',
111
+ items: [
112
+ { value: '9600-921600', label: 'présélections de bauds courantes' },
113
+ { value: 'CRLF', label: 'fin de commande optionnelle' },
114
+ { value: 'local', label: 'session de terminal' },
115
+ ],
116
+ },
117
+ {
118
+ type: 'title',
119
+ text: 'Quand un Terminal Série Web Est Utile',
120
+ level: 3,
121
+ },
122
+ {
123
+ type: 'list',
124
+ items: [
125
+ 'Vérifier les messages de démarrage d\'Arduino, ESP32, ESP8266, RP2040, STM32 ou de micrologiciels personnalisés.',
126
+ 'Envoyer des commandes AT aux modems, GPS, LoRa, Wi-Fi, Bluetooth ou modules cellulaires via un adaptateur USB UART.',
127
+ 'Lire la sortie des capteurs d\'un banc d\'essai, d\'un laboratoire scolaire, d\'un contrôleur robotique ou d\'un prototype de banc.',
128
+ 'Vérifier qu\'un pilote de pont série USB, un câble, l\'alimentation de la carte et le débit en bauds du micrologiciel fonctionnent tous ensemble.',
129
+ 'Collecter un journal d\'erreurs rapide avant de soumettre un bug ou de demander une assistance matérielle.',
130
+ ],
131
+ },
132
+ {
133
+ type: 'comparative',
134
+ items: [
135
+ {
136
+ title: 'Moniteur série web',
137
+ description: 'Idéal pour une assistance rapide, des instructions en classe, des diagnostics de terrain et des flux de travail maker où ouvrir une URL est plus rapide que d\'installer un IDE.',
138
+ },
139
+ {
140
+ title: 'Terminal de bureau',
141
+ description: 'Mieux adapté aux protocoles binaires, aux longues sessions de capture, au scripting, au contrôle de flux matériel, aux macros et aux environnements où les API du navigateur sont bloquées.',
142
+ },
143
+ ],
144
+ },
145
+ {
146
+ type: 'title',
147
+ text: 'Liste de Vérification du Débit en Bauds et de Fin de Ligne',
148
+ level: 3,
149
+ },
150
+ {
151
+ type: 'table',
152
+ headers: ['Paramètre', 'Choix typique', 'Ce qui échoue quand c\'est incorrect'],
153
+ rows: [
154
+ ['Débit en bauds', '115200 pour de nombreuses cartes modernes, 9600 pour les anciens exemples.', 'Le texte lisible se transforme en symboles aléatoires ou aucun journal utile n\'apparaît.'],
155
+ ['Fin de ligne', 'CRLF pour de nombreux analyseurs de commandes, pas de fin pour les protocoles de caractères bruts.', 'Les commandes sont ignorées car le micrologiciel attend un terminateur.'],
156
+ ['Accès exclusif au port', 'Fermez Arduino Serial Monitor, PuTTY, screen, minicom ou les outils du fabricant.', 'Le sélecteur du navigateur ouvre le port mais la lecture ou l\'écriture échoue.'],
157
+ ['Contexte sécurisé', 'HTTPS ou localhost.', 'L\'API Serial est manquante même dans un navigateur compatible.'],
158
+ ],
159
+ },
160
+ {
161
+ type: 'diagnostic',
162
+ variant: 'warning',
163
+ title: 'Pas de sortie série ?',
164
+ html: 'Confirmez que la carte est alimentée et que le câble USB prend en charge les données, pas seulement la charge. Essayez 9600, 57600 et 115200 si vous ne connaissez pas le débit en bauds du micrologiciel. Appuyez sur reset après la connexion car de nombreuses cartes n\'impriment les journaux de démarrage qu\'au lancement. Fermez les autres logiciels qui pourraient encore posséder le port série et installez le pilote du système d\'exploitation pour CH340, CP210x, FTDI ou le fabricant de la carte si le périphérique n\'apparaît jamais.',
165
+ },
166
+ {
167
+ type: 'title',
168
+ text: 'Confidentialité, Sécurité et Limites',
169
+ level: 3,
170
+ },
171
+ {
172
+ type: 'proscons',
173
+ title: 'Forces et limites de Web Serial',
174
+ items: [
175
+ {
176
+ pro: 'Aucune installation de bureau pour les diagnostics de texte série de base.',
177
+ con: 'Nécessite un navigateur basé sur Chromium et un contexte sécurisé.',
178
+ },
179
+ {
180
+ pro: 'Le sélecteur du navigateur limite l\'accès au port spécifique que vous choisissez.',
181
+ con: 'Non destiné aux analyseurs de protocoles binaires ou aux longues captures sans surveillance.',
182
+ },
183
+ {
184
+ pro: 'Fonctionne bien pour les journaux de texte, les invites de commande et les vérifications rapides du matériel.',
185
+ con: 'Certaines politiques d\'entreprise, navigateurs mobiles et systèmes d\'exploitation bloquent Web Serial.',
186
+ },
187
+ ],
188
+ },
189
+ ],
190
+ ui: {
191
+ unsupportedTitle: 'Web Serial n\'est pas disponible',
192
+ unsupportedBody: 'Utilisez Chrome ou Edge via HTTPS ou localhost et assurez-vous que votre périphérique expose une interface série USB.',
193
+ secureContext: 'Web Serial nécessite HTTPS ou localhost. Rechargez cette page depuis une origine sécurisée et réessayez.',
194
+ statusIdle: 'Choisissez un débit en bauds, puis connectez un périphérique série USB',
195
+ statusPermission: 'En attente du sélecteur de port série du navigateur',
196
+ statusOpening: 'Ouverture du port série',
197
+ statusConnected: 'Port série connecté',
198
+ statusDisconnected: 'Port série déconnecté',
199
+ statusError: 'Échec de la connexion série',
200
+ connect: 'Connecter Série',
201
+ disconnect: 'Déconnecter',
202
+ send: 'Envoyer',
203
+ clear: 'Effacer',
204
+ pause: 'Pause',
205
+ resume: 'Reprendre',
206
+ baudRate: 'Débit en bauds',
207
+ newline: 'Ajouter CRLF',
208
+ inputPlaceholder: 'Tapez une commande, puis appuyez sur Entrée',
209
+ portFallback: 'Aucun port sélectionné',
210
+ portLabel: 'Identité du port',
211
+ connectedDeviceLabel: 'Périphérique connecté',
212
+ deviceNameFallback: 'Périphérique série USB',
213
+ transportLabel: 'Liaison Web Serial',
214
+ bytesLabel: 'Octets',
215
+ linesLabel: 'Lignes',
216
+ privacyTitle: 'Accès contrôlé',
217
+ privacyBody: 'Le navigateur n\'expose que le périphérique série que vous sélectionnez. Les journaux restent dans cet onglet sauf si vous les copiez.',
218
+ emptyLog: 'La sortie du terminal apparaîtra ici après avoir connecté un périphérique série.',
219
+ copied: 'Copié',
220
+ copyLog: 'Copier',
221
+ presetSlow: '9600',
222
+ presetArduino: '115200',
223
+ presetFast: '921600',
224
+ terminalLabel: 'Terminal en direct',
225
+ unknownUsbId: 'N/A',
226
+ logDirectionRx: 'rx',
227
+ logDirectionTx: 'tx',
228
+ logDirectionSys: 'sys',
229
+ vidPrefix: 'VID ',
230
+ pidSeparator: ' / PID ',
231
+ baudUnit: ' bauds',
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-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
+ };