[英]Chrome extension: how to use serial port (now that apps are sunsetting)?
目標:我正在嘗試編寫一個可以從我的瀏覽器與 Arduino 的 COM 端口通信的小“東西”。
問題:我的第一次嘗試是編寫擴展。 因此,我在清單文件中請求serial
權限。 通過開發人員模式加載未打包的擴展時,我收到以下錯誤: 'serial' is only allowed for packaged apps, but this is a extension.
我在這里看到packaged app
是一個過時的術語,我想它們只是指Chrome app
。 現在不幸的是,Chrome 似乎也停止了這些 Chrome 應用程序,正如 這里討論的那樣。
問題:那么我應該如何訪問 Chrome 應用程序/擴展程序/您想出的任何新名稱的serial
功能?
您可以繼續編寫 chrome 應用程序並使用 chrome.serial API,但使用 NW.js 作為應用程序的運行時。 它支持 Chrome 應用程序 API。 本質上,您只需編寫 Chrome 應用程序,而不是在 Chrome 中打開它,而是在 NW.js 可執行文件中打開它。
或者您可以使用 Node.js 包(例如 serialport)來訪問您的 COM 端口
https://github.com/EmergingTechnologyAdvisors/node-serialport
在這種情況下,您可以將其編寫為 NW.js 應用程序或 Electron 應用程序。 電子最近很流行。 您可以訪問節點模塊生態系統以及 Chromium - Chrome 網絡瀏覽器的開源部分,因此您仍然可以執行您想要的所有 HTML/JavaScript/CSS。
https://github.com/electron/electron
這也是 Google 建議的路徑之一: https : //developer.chrome.com/apps/migration#native
“Web Serial API”, navigator.serial
,可能是最好的展望方式。 自 chrome 77 以來,它已在chrome://flags
的#enable-experimental-web-platform-features
標志后面可用。它將進入 Origin 試驗 80-82,然后在 83 中發貨。
Web Serial API 允許直接來自漸進式 Web 應用程序的串行接口。 https://codelabs.developers.google.com/codelabs/web-serial/#0有一個很好的教程
您可能應該避免使用僅在 chrome 應用程序中可用的舊版chrome.serial
,因為從 2020 年 6 月開始,將不再支持 Windows、Mac 和 Linux 上的 Chrome 應用程序。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.