2017-05-01 25 views
0

我想編寫一個擴展chrome(而不是chrome應用程序)來控制串行端口,但chrome擴展不提供任何api來訪問它。 因爲chrome不允許直接訪問端口,所以我想我可以編寫控制串口的C代碼,然後在擴展中使用這個C代碼。我發現了幾種在chrome擴展中使用C代碼的方法。這些是;編寫擴展控件來控制串行端口

  • 辣椒API
  • Emscripten
  • 本地通信

我不想使用本機通信,因爲它需要第三方應用程序。

Emscripten是一種將c代碼轉換爲javascript代碼的工具。但我不能訪問Windows上的串口,因爲它不支持平臺特定的代碼,如「Windows.h」

Pepper API是鉻開發工具的一部分,但我不能看到任何可以訪問串口的API。也許我想念一些可能有用的東西。

有沒有什麼辦法可以在不使用第三方應用程序或使用chrome應用程序的情況下控制chrome擴展中的串口。

+0

emscripten無法正常工作,因爲這會將您的代碼編譯爲JavaScript,因此您具有javascript沙盒的所有限制。 – Lanting

+0

爲什麼你不能使用Chrome應用程序?本機Chrome支持被移除後,您將可以使用[NW.js](https://nwjs.io/)在Linux/Windows/Mac上運行它們。 –

回答

0

您可以使用chrome.runtime.connect API將您的Chrome擴展連接到Chrome應用程序。然後,您可以讓Chrome應用程序執行串行工作,同時仍然可以訪問該擴展程序中的界面(或者使用擴展程序的任何計劃)。

這確實需要安裝chrome擴展程序和chrome應用程序,但它確實可以實現您的目標。