ããã³ããšã³ãã®Web Serialéä¿¡ãé床ãšä¿¡é Œæ§ã®ããã«æé©åãããã©ãŒãã³ã¹åäžã®ããã®æè¡ããã¹ããã©ã¯ãã£ã¹ããã©ãã«ã·ã¥ãŒãã£ã³ã°ãæ¢æ±ããŸãã
ããã³ããšã³ãWeb Serialããã©ãŒãã³ã¹æé©åïŒæé©ãªã·ãªã¢ã«éä¿¡é床ã®å®çŸ
Web Serial APIã¯ãWebã¢ããªã±ãŒã·ã§ã³ãããŒããŠã§ã¢ãšå¯Ÿè©±ããæ¹æ³ã«é©åœããããããŸãããããã«ãããArduinoãRaspberry Piã3Dããªã³ã¿ãŒãç£æ¥çšæ©åšãªã©ã®ã·ãªã¢ã«ããã€ã¹ãšããã¹ãŠãã©ãŠã¶ç°å¢å ã§çŽæ¥éä¿¡ã§ããŸããããããæé©ãªããã©ãŒãã³ã¹ãšä¿¡é Œæ§ã®é«ãã·ãªã¢ã«éä¿¡ãå®çŸããã«ã¯ãããŸããŸãªèŠçŽ ãæ éã«æ€èšããå¿ èŠããããŸãããã®ã¬ã€ãã§ã¯ãWeb Serialã¢ããªã±ãŒã·ã§ã³ã®é床ãšå¹çãæå€§åããããã®ãã¯ããã¯ãæ¢ããŸãã
Web Serial APIã®åºæ¬ãçè§£ãã
æé©åã«å ¥ãåã«ãWeb Serial APIã®åºæ¬ãããããããŸãããïŒ
- ã·ãªã¢ã«ããŒãïŒã·ãªã¢ã«ããã€ã¹ãžã®ç©ççãªæ¥ç¶ã衚ããŸãã
- ããŒã¬ãŒãïŒããŒã¿è»¢éé床ïŒããã/ç§ïŒã決å®ããŸããäžè¬çãªããŒã¬ãŒãã«ã¯9600ã115200ãªã©ããããŸãã
- ããŒã¿ããããã¹ãããããããããªãã£ïŒãããã®èšå®ã¯ãã·ãªã¢ã«éä¿¡ã®ããŒã¿åœ¢åŒãå®çŸ©ããŸãã
- ã¹ããªãŒã ïŒAPIã¯ããŒã¿ã®èªã¿åãïŒ
ReadableStreamïŒãšæžã蟌ã¿ïŒWritableStreamïŒã«ã¹ããªãŒã ã䜿çšããŸãã
å žåçãªã¯ãŒã¯ãããŒã§ã¯ãã·ãªã¢ã«ããŒããžã®ã¢ã¯ã»ã¹ãèŠæ±ããç¹å®ã®èšå®ãã©ã¡ãŒã¿ã§ããŒããéããå ¥åã¹ããªãŒã ããããŒã¿ãèªã¿åããåºåã¹ããªãŒã ã«ããŒã¿ãæžã蟌ã¿ãŸããäŸïŒ
async function connectSerial() {
try {
const port = await navigator.serial.requestPort();
await port.open({ baudRate: 115200 });
const reader = port.readable.getReader();
const writer = port.writable.getWriter();
// Listen to data coming from the serial device.
while (true) {
const { value, done } = await reader.read();
if (done) {
// Allow the serial port to be closed later.
reader.releaseLock();
break;
}
// value is a Uint8Array.
console.log(new TextDecoder().decode(value));
}
// Write data to the serial device
const encoder = new TextEncoder();
await writer.write(encoder.encode("Hello from the web!"));
await writer.close();
port.close();
} catch (error) {
console.error("Serial connection error:", error);
}
}
ã·ãªã¢ã«éä¿¡é床ã«åœ±é¿ãäžããäž»ãªèŠå
ããã€ãã®èŠå ãWeb Serialéä¿¡ã®é床ãšä¿¡é Œæ§ã«åœ±é¿ãäžããŸãïŒ
- ããŒã¬ãŒãïŒããŒã¬ãŒããé«ãã»ã©ããŒã¿è»¢éã¯éããªããŸããããšã©ãŒãé¿ããããã«ã¯ããå ç¢ãªããŒããŠã§ã¢ãšã±ãŒãã«ãå¿ èŠã«ãªããŸãã
- é å»¶ïŒã¬ã€ãã³ã·ïŒïŒããŒã¿ã®éä¿¡ãšåä¿¡ã®éã®æéé å»¶ããªã¢ã«ã¿ã€ã ã¢ããªã±ãŒã·ã§ã³ã§ã¯é å»¶ãæå°éã«æããããšãéèŠã§ãã
- ãããã¡ãªã³ã°ïŒãããã¡ã¯ããŒã¿ãäžæçã«ä¿æããããŒã¿ãããŒãåæ»ã«ããããŒã¿æå€±ãé²ãã®ã«åœ¹ç«ã¡ãŸãã
- ãããŒå¶åŸ¡ïŒããŒã¿ã®ãªãŒããŒãããŒãé²ããä¿¡é Œæ§ã®é«ãããŒã¿è»¢éã確ä¿ããããã®ã¡ã«ããºã ïŒäŸïŒRTS/CTSãXON/XOFFïŒã
- ããŒã¿ãšã³ã³ãŒãã£ã³ã°ïŒããŒã¿ããšã³ã³ãŒãããã圢åŒïŒäŸïŒASCIIãUTF-8ããã€ããªïŒã
- ãšã©ãŒãã³ããªã³ã°ïŒéä¿¡ãšã©ãŒãæ€åºããŠå埩ããããã«ã¯ãå ç¢ãªãšã©ãŒãã³ããªã³ã°ãäžå¯æ¬ ã§ãã
- ãã©ãŠã¶ãšãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ïŒãã©ãŠã¶ããªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã«ãã£ãŠãWeb Serial APIã®ãµããŒãã¬ãã«ãããã©ãŒãã³ã¹ãç°ãªãå ŽåããããŸãã
- ããŒããŠã§ã¢ã®å¶éïŒããã€ã¹äžã®ã·ãªã¢ã«ããŒãå®è£ ã®é床ã
ã·ãªã¢ã«éä¿¡é床ãæé©åããããã®æŠç¥
1. æé©ãªããŒã¬ãŒãã®éžæ
æ£ããããŒã¬ãŒããéžæããããšãæãéèŠã§ããé«ãããŒã¬ãŒãã¯ããéãããŒã¿è»¢éãæäŸããŸãããç¹ã«é·è·é¢ããã€ãºã®å€ãæ¥ç¶ã§ã¯ãšã©ãŒã®ãªã¹ã¯ãé«ãŸããŸãã以äžã®èŠçŽ ãèæ ®ããŠãã ããïŒ
- ããŒããŠã§ã¢ã®å¶éïŒWebã¯ã©ã€ã¢ã³ããšã·ãªã¢ã«ããã€ã¹ã®äž¡æ¹ãéžæããããŒã¬ãŒãããµããŒãããŠããããšã確èªããŠãã ãããå€ãã®çµã¿èŸŒã¿ã·ã¹ãã ã«ã¯ãµããŒããããæå€§ããŒã¬ãŒãããããŸãã
- ã±ãŒãã«ã®é·ããšå質ïŒã±ãŒãã«ãé·ãã»ã©ããŸãå質ãäœãã»ã©ä¿¡å·ã®å£åãèµ·ããããããéæå¯èœãªããŒã¬ãŒããå¶éãããå¯èœæ§ããããŸãã
- ãã€ãºç°å¢ïŒé»æ°çã«ãã€ãºã®å€ãç°å¢ã¯ã·ãªã¢ã«éä¿¡ã劚害ããå¯èœæ§ããããŸãããã®ãããªç¶æ³ã§ã¯ãäœãããŒã¬ãŒãã®æ¹ãä¿¡é Œæ§ãé«ãå ŽåããããŸãã
- ãã¹ããšå®éšïŒç¹å®ã®ç°å¢ã§ä¿¡é Œæ§ã®é«ãéä¿¡ãæäŸããæãé«ãã¬ãŒããèŠã€ããããã«ãããŸããŸãªããŒã¬ãŒãã詊ããŠãã ãããäœãããŒã¬ãŒãããå§ãããšã©ãŒã芳枬ããããŸã§åŸã ã«äžããŠãããŸãã
äŸïŒçãé«å質ãªUSBã±ãŒãã«ãä»ããŠArduinoãšéä¿¡ãããããžã§ã¯ãã§ã¯ã115200ã®ããŒã¬ãŒããå®å®ããŠãµããŒãããããããããŸãããããããé·ãã·ãŒã«ããããŠããªãã±ãŒãã«ãä»ããŠç£æ¥çšã»ã³ãµãŒãšéä¿¡ãããããžã§ã¯ãã§ã¯ãä¿¡é Œæ§ã®é«ãããŒã¿è»¢éãç¶æããããã«9600ãªã©ã®äœãããŒã¬ãŒãã䜿çšããå¿ èŠããããããããŸããã
2. é å»¶ã®æå°å
é å»¶ã¯ããªã¢ã«ã¿ã€ã ã¢ããªã±ãŒã·ã§ã³ã®å¿çæ§ã«å€§ããªåœ±é¿ãäžããå¯èœæ§ããããŸãã以äžã¯é å»¶ãæžããããã®ããã€ãã®æŠç¥ã§ãïŒ
- ã·ãªã¢ã«ããã€ã¹ã§ã®ããŒã¿åŠçãåæžããïŒå¯èœãªéãå€ãã®ããŒã¿åŠçãWebã¯ã©ã€ã¢ã³ãã«ãªãããŒãããã·ãªã¢ã«ããã€ã¹ã§ã®åŠçæéãæå°éã«æããŸãã
- ããŒã¿ãšã³ã³ãŒãã£ã³ã°ãæé©åããïŒå¹ççãªããŒã¿ãšã³ã³ãŒãã£ã³ã°åœ¢åŒïŒäŸïŒãã€ããªïŒã䜿çšããŠãéä¿¡ãããããŒã¿éãæå°éã«æããŸãã
- ããŒã¿ãããã¡ãªã³ã°ãæå°éã«æããïŒããŒã¿æå€±ãé²ãããã«ã¯ãããã¡ãªã³ã°ãå¿ èŠã§ãããéå°ãªãããã¡ãªã³ã°ã¯é å»¶ãåŒãèµ·ããå¯èœæ§ããããŸããããŒã¿ã®ä¿¡é Œæ§ãšé å»¶ã®ãã©ã³ã¹ãåãããã«ãããã¡ãµã€ãºã調æŽããŸãã
- JavaScriptã³ãŒããæé©åããïŒã·ãªã¢ã«ããŒã¿ãåŠçããJavaScriptã³ãŒããããã©ãŒãã³ã¹ã®ããã«æé©åãããŠããããšã確èªããŠãã ãããäžèŠãªèšç®ãé¿ããå¹ççãªããŒã¿æ§é ã䜿çšããŸãã
- Web Workerã䜿çšããïŒããŒã¿åŠçãWeb Workerã«ãªãããŒãããŠãã¡ã€ã³ã¹ã¬ããããããã¯ããã®ãé¿ããå¿çæ§ã®é«ããŠãŒã¶ãŒã€ã³ã¿ãŒãã§ãŒã¹ãç¶æããŸãã
äŸïŒArduinoã«ã»ã³ãµãŒããŒã¿ã®è€éãªèšç®ãå®è¡ãããŠããçµæãWebã¯ã©ã€ã¢ã³ãã«éä¿¡ãã代ããã«ãçã®ã»ã³ãµãŒããŒã¿ãWebã¯ã©ã€ã¢ã³ãã«éä¿¡ããããã§èšç®ãå®è¡ããŸããããã«ãããArduinoã®åŠçè² è·ã軜æžãããé å»¶ãæå°éã«æããããŸãã
3. 广çãªãããã¡ãªã³ã°æŠç¥
ãããã¡ãªã³ã°ã¯ãããŒã¿ãããŒã®å€åãåŠçããããŒã¿æå€±ãé²ãäžã§éèŠãªåœ¹å²ãæãããŸãããããããããã¡ãªã³ã°æŠç¥ã广çã«å®è£ ããããšãäžå¯æ¬ ã§ãïŒ
- é©åãªãããã¡ãµã€ãºãéžæããïŒæé©ãªãããã¡ãµã€ãºã¯ãããŒã¿ã¬ãŒããé å»¶èŠä»¶ãããã³å©çšå¯èœãªã¡ã¢ãªã«äŸåããŸãã倧ããªãããã¡ã¯ããŒã¿ã®ããŒã¹ãã«å¯Ÿå¿ã§ããŸãããããå€ãã®é å»¶ãåŒãèµ·ãããŸãã
- ãªã³ã°ãããã¡ãå®è£ ããïŒãªã³ã°ãããã¡ã¯ãé »ç¹ãªã¡ã¢ãªå²ãåœãŠãå¿ èŠãšããã«ããŒã¿ãããŒãå¹ççã«ç®¡çã§ããŸãã
- ãããã¡ãªãŒããŒãããŒãåŠçããïŒãããã¡ãªãŒããŒãããŒç¶æ ãæ€åºããŠåŠçããã¡ã«ããºã ãå®è£ ããŸããããã«ã¯ãå€ãããŒã¿ãç Žæ£ãããããšã©ãŒãéç¥ãããããããŒå¶åŸ¡ãå®è£ ãããããããšãå«ãŸããå ŽåããããŸãã
- éåææäœïŒã·ãªã¢ã«ããŒãããã®ããŒã¿ã®èªã¿åããæžã蟌ã¿ãåŸ ã£ãŠããéãã¡ã€ã³ã¹ã¬ããããããã¯ããªãããã«éåææäœã䜿çšããŸãã
äŸïŒã¢ããªã±ãŒã·ã§ã³ãã·ãªã¢ã«ããã€ã¹ããæ¯ç§100ãã€ãã®ã¬ãŒãã§ããŒã¿ãåä¿¡ããæå€§1ç§éç¶ãããŒã¿ã®ããŒã¹ããåŠçã§ããããã«ãããå Žåã1000ãã€ãã®ãããã¡ãµã€ãºãéžæãããããããŸãããå®å®ããã¬ãŒãã§ããŒã¿ãéä¿¡ããäœé å»¶ãå¿ èŠãªå Žåã¯ãããå°ãããããã¡ïŒäŸïŒ100ãã€ãïŒãããé©åãããããŸããã
4. ãããŒå¶åŸ¡ã®å®è£
ãããŒå¶åŸ¡ã¡ã«ããºã ã¯ãåä¿¡åŽã®ãããã¡ããã£ã±ãã«ãªã£ããšãã«éä¿¡åŽã«éä¿¡ãäžæåæ¢ããããã«ä¿¡å·ãéãããšã§ãããŒã¿ã®ãªãŒããŒãããŒãé²ããŸããäžè¬çãªãããŒå¶åŸ¡æ¹æ³ã«ã¯æ¬¡ã®ãã®ããããŸãïŒ
- ããŒããŠã§ã¢ãããŒå¶åŸ¡ïŒRTS/CTSïŒïŒå°çšã®ããŒããŠã§ã¢ä¿¡å·ã䜿çšããŠããŒã¿ãããŒãå¶åŸ¡ããŸããéä¿¡åŽãšåä¿¡åŽã®äž¡æ¹ãRTS/CTSããµããŒãããŠããå¿ èŠããããŸãã
- ãœãããŠã§ã¢ãããŒå¶åŸ¡ïŒXON/XOFFïŒïŒç¹æ®ãªæåïŒXONããã³XOFFïŒã䜿çšããŠããŒã¿ãããŒãå¶åŸ¡ããŸããããŒã¿ç Žæã®å¯èœæ§ããããããããŒããŠã§ã¢ãããŒå¶åŸ¡ãããä¿¡é Œæ§ãäœãå ŽåããããŸãã
- ãããŒå¶åŸ¡ãªãïŒãããŒå¶åŸ¡ã¯äœ¿çšãããŸãããããã¯ãããŒã¿æå€±ãèŽåœçã§ãªãç¶æ³ããããŒã¿ã¬ãŒããäœããªãŒããŒãããŒã®å¯èœæ§ãäœãå Žåã«é©ããŠããŸãã
ãããŒå¶åŸ¡ãæå¹ã«ããéã¯ãWebã¯ã©ã€ã¢ã³ããšã·ãªã¢ã«ããã€ã¹ã®äž¡æ¹ã§æ£ããèšå®ãæ§æãããŠããããšã確èªããŠãã ããã
äŸïŒRTS/CTSãããŒå¶åŸ¡ããµããŒãããããã€ã¹ãšéä¿¡ããŠããå Žåã¯ãWeb Serialã¢ããªã±ãŒã·ã§ã³ãšããã€ã¹ã®äž¡æ¹ã§ãããæå¹ã«ããŸããããã«ãããWebã¯ã©ã€ã¢ã³ãã®ãããã¡ããã£ã±ãã«ãªã£ããšãã«ããã€ã¹ãéä¿¡ãäžæåæ¢ããããŒã¿æå€±ãé²ãããšãã§ããŸãã
5. ããŒã¿ãšã³ã³ãŒãã£ã³ã°ã®æé©å
ããŒã¿ãšã³ã³ãŒãã£ã³ã°ã®éžæã¯ãéä¿¡ãããããŒã¿éãšåŠçãªãŒããŒãããã«å€§ããªåœ±é¿ãäžããŸãã以äžã®èŠçŽ ãèæ ®ããŠãã ããïŒ
- ãã€ããªãšã³ã³ãŒãã£ã³ã°ïŒãã€ããªãšã³ã³ãŒãã£ã³ã°ã¯ãããŒã¿ãçã®ãã€ããªåœ¢åŒã§çŽæ¥è¡šçŸãããããæãå¹ççãªãšã³ã³ãŒãã£ã³ã°æ¹æ³ã§ãã
- ASCIIãšã³ã³ãŒãã£ã³ã°ïŒASCIIãšã³ã³ãŒãã£ã³ã°ã¯ããã¹ãããŒã¹ã®ããŒã¿ã®éä¿¡ã«é©ããŠããŸãããä»ã®çš®é¡ã®ããŒã¿ã«ã¯ãã€ããªãšã³ã³ãŒãã£ã³ã°ãããå¹çãæªãå ŽåããããŸãã
- UTF-8ãšã³ã³ãŒãã£ã³ã°ïŒUTF-8ãšã³ã³ãŒãã£ã³ã°ã¯ãåºç¯å²ã®æåã衚çŸã§ããå¯å€é·ãšã³ã³ãŒãã£ã³ã°ã§ããéASCIIæåãå«ãå¯èœæ§ã®ããããã¹ãããŒã¹ã®ããŒã¿ã®éä¿¡ã«é©ããŠããŸãã
- ããŒã¿å§çž®ïŒç¹ã«å€§èŠæš¡ãªããŒã¿ã»ããã®å Žåãéä¿¡ãããããŒã¿éãæžããããã«ããŒã¿å§çž®æè¡ã®äœ¿çšãæ€èšããŠãã ããã
äŸïŒæŽæ°å€ã§æ§æãããã»ã³ãµãŒããŒã¿ãéä¿¡ããŠããå Žåã¯ããã€ããªãšã³ã³ãŒãã£ã³ã°ã䜿çšããŠå€ãçŽæ¥ãã€ããªããŒã¿ãšããŠéä¿¡ããŸããããã¯ãå€ãASCIIæååã«å€æããŠéä¿¡ãããããå¹ççã§ãã
6. å ç¢ãªãšã©ãŒãã³ããªã³ã°ã®å®è£
ãšã©ãŒãã³ããªã³ã°ã¯ãéä¿¡ãšã©ãŒãæ€åºããŠå埩ããããã«äžå¯æ¬ ã§ãã以äžã®ãšã©ãŒãã³ããªã³ã°æŠç¥ãå®è£ ããŠãã ããïŒ
- ãšã©ãŒã®ãã§ãã¯ïŒã·ãªã¢ã«éä¿¡ããã»ã¹ã§å®æçã«ãšã©ãŒããã§ãã¯ããŸããããã«ã¯ãã·ãªã¢ã«ããŒããéããšããããŒã¿ãèªã¿åããšããããŒã¿ãæžã蟌ããšãã®ãšã©ãŒãã§ãã¯ãå«ãŸããŸãã
- ãšã©ãŒå埩ã®å®è£ ïŒãšã©ãŒããå埩ããããã®ã¡ã«ããºã ãå®è£ ããŸããããã«ã¯ãæäœã®å詊è¡ãã·ãªã¢ã«ããŒãã®ã¯ããŒãºãšåãªãŒãã³ããŸãã¯ãŠãŒã¶ãŒãžã®éç¥ãå«ãŸããå ŽåããããŸãã
- ãšã©ãŒã®ãã°èšé²ïŒãããã°ãšåæã®ããã«ããšã©ãŒããã¡ã€ã«ãŸãã¯ããŒã¿ããŒã¹ã«ãã°èšé²ããŸãã
- Try-Catchãããã¯ã®äœ¿çšïŒäŸå€ãé©åã«åŠçããããã«ãã·ãªã¢ã«éä¿¡ã³ãŒããtry-catchãããã¯ã§å²ã¿ãŸãã
äŸïŒã·ãªã¢ã«ããŒãããããŒã¿ãèªã¿åãäžã«ãšã©ãŒãçºçããå Žåãèªã¿åãæäœãæ°åå詊è¡ããŸãããšã©ãŒãç¶ãå Žåã¯ãã·ãªã¢ã«ããŒããéããŠå床éããŸããããã§ããšã©ãŒãç¶ãå Žåã¯ããŠãŒã¶ãŒã«éç¥ãããšã©ãŒããã¡ã€ã«ã«ãã°èšé²ããŸãã
7. JavaScriptã³ãŒãã®æé©å
å¹ççãªJavaScriptã³ãŒãã¯ãWeb Serialã¢ããªã±ãŒã·ã§ã³ã®ããã©ãŒãã³ã¹ãæå€§åããããã«äžå¯æ¬ ã§ãã以äžã®æé©åãæ€èšããŠãã ããïŒ
- DOMæäœã®æå°åïŒDOMæäœã¯é ããªãå¯èœæ§ããããŸãããããæŽæ°ãä»®æ³DOMãªã©ã®æè¡ã䜿çšããŠãDOMæäœã®æ°ãæå°éã«æããŸãã
- å¹ççãªããŒã¿æ§é ã®äœ¿çšïŒããŒã¿ãæ ŒçŽããã³åŠçããããã«ãé åãããããªã©ã®å¹ççãªããŒã¿æ§é ã䜿çšããŸãã
- äžèŠãªèšç®ã®åé¿ïŒäžèŠãªèšç®ãå®è¡ããªãããã«ããŸããåãèšç®ãè€æ°åå®è¡ããå¿ èŠãããå Žåã¯ãçµæããã£ãã·ã¥ããŸãã
- Web Workerã®äœ¿çšïŒããŒã¿åŠçãWeb Workerã«ãªãããŒãããŠãã¡ã€ã³ã¹ã¬ããããããã¯ããã®ãé¿ããå¿çæ§ã®é«ããŠãŒã¶ãŒã€ã³ã¿ãŒãã§ãŒã¹ãç¶æããŸãã
- ã«ãŒãã®æé©åïŒå¹ççãªã«ãŒãæ§æã䜿çšããäžèŠãªå埩ãé¿ããŸãã
äŸïŒã·ãªã¢ã«ããã€ã¹ããæ°ããããŒã¿ãã€ã³ããåä¿¡ãããã³ã«UIãæŽæ°ããã®ã§ã¯ãªããæŽæ°ããããåŠçãã宿çïŒäŸïŒ100ããªç§ããšïŒã«ã®ã¿UIãæŽæ°ããŸããããã«ãããDOMæäœã®æ°ãæžããããã©ãŒãã³ã¹ãåäžããŸãã
8. ãã©ãŠã¶ãšãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã®èæ ®äºé
Web Serial APIã®ããã©ãŒãã³ã¹ã¯ããã©ãŠã¶ããªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã«ãã£ãŠç°ãªãå ŽåããããŸãã以äžãèæ ®ããŠãã ããïŒ
- ãã©ãŠã¶ã®äºææ§ïŒã¢ããªã±ãŒã·ã§ã³ããŠãŒã¶ãŒã䜿çšããå¯èœæ§ã®ãããã©ãŠã¶ãšäºææ§ãããããšã確èªããŠãã ãããMDN Web Docsãªã©ã®ãŠã§ããµã€ãã§Web Serial APIã®ãã©ãŠã¶äºææ§ããŒãã«ã確èªããŠãã ããã
- ãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã®ãµããŒãïŒWeb Serial APIã¯ã»ãšãã©ã®äž»èŠãªãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã§ãµããŒããããŠããŸãããããã©ãŒãã³ã¹ã«ããã€ãã®éããããå ŽåããããŸãã
- ãã©ãŠã¶ã®æŽæ°ïŒææ°ã®ããã©ãŒãã³ã¹æ¹åãšãã°ä¿®æ£ãé©çšããããã«ããã©ãŠã¶ãææ°ã®ç¶æ ã«ä¿ã¡ãŸãã
äŸïŒã¢ããªã±ãŒã·ã§ã³ãããŸããŸãªãã©ãŠã¶ããªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã§ãã¹ãããŠãããã©ãŒãã³ã¹ã®åé¡ãç¹å®ããŸããç¹å®ã®ãã©ãŠã¶ã§ã¢ããªã±ãŒã·ã§ã³ã®ããã©ãŒãã³ã¹ãäœãããšãããã£ãå Žåã¯ããã®ãã©ãŠã¶çšã«ã³ãŒããæé©åãããããŠãŒã¶ãŒã«å¥ã®ãã©ãŠã¶ã®äœ¿çšãæšå¥šããããšãæ€èšããŠãã ããã
9. ããŒããŠã§ã¢ã«é¢ããèæ ®äºé
- ã·ãªã¢ã«ã¢ããã¿ã®å質ïŒå®å®ããä¿¡é Œæ§ã®é«ãæ¥ç¶ãæäŸããé«å質ã®ã·ãªã¢ã«ã¢ããã¿ã䜿çšããŠãã ããã
- ã±ãŒãã«ã®å質ïŒç¹ã«é·è·é¢ã§ã¯ã黿°çãã€ãºãå¹²æžãæå°éã«æããããã«ã·ãŒã«ãã±ãŒãã«ã䜿çšããŠãã ããã
- ããã€ã¹ã®åŠçèœåïŒã·ãªã¢ã«ããã€ã¹ãããŒã¿ã¬ãŒããšå¿ èŠãªåŠçã¿ã¹ã¯ãåŠçããã®ã«ååãªåŠçèœåãæã£ãŠããããšã確èªããŠãã ããã
äžè¬çãªåé¡ã®ãã©ãã«ã·ã¥ãŒãã£ã³ã°
æ éã«æé©åããŠããWeb Serialéä¿¡ã§åé¡ãçºçããããšããããŸãã以äžã¯ãäžè¬çãªåé¡ãšãã®è§£æ±ºçã§ãïŒ
- æ¥ç¶ã®åé¡ïŒ
- åé¡ïŒã·ãªã¢ã«ããŒããéãããšãã§ããŸããã
- 解決çïŒã·ãªã¢ã«ããã€ã¹ãæ£ããæ¥ç¶ãããŠããããšãæ£ããããŒããéžæãããŠããããšãããã³ãŠãŒã¶ãŒãã·ãªã¢ã«ããŒããžã®ã¢ã¯ã»ã¹èš±å¯ãäžããŠããããšã確èªããŠãã ããã
- ããŒã¿æå€±ïŒ
- åé¡ïŒéä¿¡äžã«ããŒã¿ã倱ãããŠããŸãã
- 解決çïŒããŒã¬ãŒãããããŒå¶åŸ¡èšå®ãããã³ãããã¡ãµã€ãºã確èªããŠãã ãããåä¿¡åŽãéä¿¡ãããé床ã§ããŒã¿ãåŠçã§ããããšã確èªããŠãã ããã
- ããŒã¿ç ŽæïŒ
- åé¡ïŒéä¿¡äžã«ããŒã¿ãç ŽæããŠããŸãã
- 解決çïŒã±ãŒãã«ã®å質ãããŒã¬ãŒããããã³ããªãã£èšå®ã確èªããŠãã ãããããŒã¿ãšã³ã³ãŒãã£ã³ã°ãæ£ããããšã確èªããŠãã ããã
- é
å»¶ã®åé¡ïŒ
- åé¡ïŒã¢ããªã±ãŒã·ã§ã³ã§é«ãé å»¶ãçºçããŠããŸãã
- 解決çïŒJavaScriptã³ãŒããæé©åããã·ãªã¢ã«ããã€ã¹ã§ã®ããŒã¿åŠçãæžãããããŒã¿ãããã¡ãªã³ã°ãæå°éã«æããŸãã
ã¢ããªã±ãŒã·ã§ã³äŸãšãŠãŒã¹ã±ãŒã¹
Web Serial APIã¯ãWebã¢ããªã±ãŒã·ã§ã³ããããŒããŠã§ã¢ãšå¯Ÿè©±ããããã®å¹ åºãå¯èœæ§ãéããŸãã以äžã¯ãå®éã®ã¢ããªã±ãŒã·ã§ã³ã®äŸã§ãïŒ
- 3Dããªã³ã¿ãŒã®å¶åŸ¡ïŒWebãã©ãŠã¶ããçŽæ¥3Dããªã³ã¿ãŒãå¶åŸ¡ããã³ç£èŠããŸãã
- ããããå·¥åŠïŒããããããã®ä»ã®èªåã·ã¹ãã ãå¶åŸ¡ããããã®WebããŒã¹ã®ã€ã³ã¿ãŒãã§ãŒã¹ãéçºããŸãã
- ç£æ¥ãªãŒãã¡ãŒã·ã§ã³ïŒWebãã©ãŠã¶ããç£æ¥æ©åšãç£èŠããã³å¶åŸ¡ããŸãã
- ããŒã¿ãã®ã³ã°ïŒã»ã³ãµãŒããã®ä»ã®ããŒã¿ååŸããã€ã¹ããããŒã¿ãåéããã³åæããŸãã
- æè²ããŒã«ïŒé»åå·¥åŠãããã°ã©ãã³ã°ã«ã€ããŠåŠã¶ããã®ã€ã³ã¿ã©ã¯ãã£ããªæè²ããŒã«ãäœæããŸãã
äŸïŒ3Dããªã³ã¿ãŒãå¶åŸ¡ããããã®WebããŒã¹ã®ã€ã³ã¿ãŒãã§ãŒã¹ãéçºããŠããäŒæ¥ã¯ãWeb Serial APIã䜿çšããŠããªã³ã¿ãŒã«Gã³ãŒãã³ãã³ããéä¿¡ããã¹ããŒã¿ã¹æŽæ°ãåä¿¡ãããããããŸãããã·ãªã¢ã«éä¿¡é床ãæé©åããããšã§ãããªã³ã¿ãŒããŠãŒã¶ãŒã®ã³ãã³ãã«è¿ éã«å¿çãããŠãŒã¶ãŒã€ã³ã¿ãŒãã§ãŒã¹ãå¿çæ§ãç¶æããããšãä¿èšŒã§ããŸãã
çµè«
ããã³ããšã³ãã®Web Serialéä¿¡ãæé©åããããšã¯ãããŒããŠã§ã¢ãšå¯Ÿè©±ããå¿çæ§ãé«ãä¿¡é Œæ§ã®é«ãã¢ããªã±ãŒã·ã§ã³ãæ§ç¯ããããã«äžå¯æ¬ ã§ããããŒã¬ãŒããé å»¶ããããã¡ãªã³ã°ããããŒå¶åŸ¡ãããŒã¿ãšã³ã³ãŒãã£ã³ã°ããšã©ãŒãã³ããªã³ã°ãªã©ã®èŠçŽ ãæ éã«æ€èšããããšã§ãWeb Serialã¢ããªã±ãŒã·ã§ã³ã®é床ãšå¹çãæå€§åã§ããŸãããã®ã¬ã€ãã¯ãæé©ãªã·ãªã¢ã«éä¿¡é床ãéæããããã®æè¡ãšãã¹ããã©ã¯ãã£ã¹ã®å æ¬çãªæŠèŠãæäŸããŸããç¹å®ã®ã¢ããªã±ãŒã·ã§ã³ãšããŒããŠã§ã¢ç°å¢ã«æé©ãªæ§æãèŠã€ããããã«ãããŸããŸãªèšå®ããã¹ãããã³å®éšããããšãå¿ããªãã§ãã ããã
Web Serial APIãé²åãç¶ããã«ã€ããŠãæ°ããæé©åæè¡ãšãã¹ããã©ã¯ãã£ã¹ãç»å Žããã§ããããã¢ããªã±ãŒã·ã§ã³ãæé©ãªããã©ãŒãã³ã¹ãæäŸãç¶ããããã«ãWeb Serialæè¡ã®ææ°ã®ååã«ã€ããŠåžžã«æ å ±ãå ¥æããŠãã ããã