![](/img/trans.png)
[英]Are functions on navigator.serial and SerialPort in Serial API unimplemented?
[英]Serial communication via the serialPort web API
我在 Angular 做一個項目,我需要通過串行輸入(數據輸入和輸出)連接到秤。 我正在使用串行端口 web API。
我已經啟用了我的瀏覽器的實驗性 web 平台功能。 Chrome 版本是 86.0.4240.198。
我的系統正在顯示可用的條目。 但是,當我執行 an.open 時,它無法建立連接。
這是我的代碼:
...
reader: ReadableStreamDefaultReader;
writer: WritableStreamDefaultWriter;
encoder = new TextEncoder();
decoder = new TextDecoder();
...
async init() {
if ('serial' in navigator) {
try {
const port = await (navigator as any).serial.requestPort();
await console.log(port)
await port.open({ baudrate: 4800 });
this.reader = port.readable.getReader();
this.writer = port.writable.getWriter();
this.verificacao = true;
} catch(err) {
console.error('There was an error opening the serial port:', err);
this.verificacao = false;
}
} else {
console.error('Web serial doesn\'t seem to be enabled in your browser. Try enabling it by visiting:')
console.error('chrome://flags/#enable-experimental-web-platform-features');
console.error('opera://flags/#enable-experimental-web-platform-features');
console.error('edge://flags/#enable-experimental-web-platform-features');
}
}
...
我可以識別串行輸入:
但是會發生這個錯誤:
無法在“SerialPort”上執行“open”:所需成員 baudRate 未定義。
選擇串行輸入時,端口變量返回:
我自己仍在尋找一個干凈的解決方案。 @Otavia Koike 設置波特率的問題是因為變量已從波特率重命名為波特率。 所以, await port.open({ baudRate: 4800 });
會讓他們克服這個特殊的障礙。
即使我不確定我是否可以在我的環境中使用它,這里有一個鏈接到 serialport.io 在 GitHub 上的示例電子串行端口項目。 希望這可以幫助某人,任何人!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.