首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用JavaScript、HTML5或任何跨平台语言(支持Android)向USB写入数据

使用JavaScript、HTML5或任何跨平台语言(支持Android)向USB写入数据
EN

Stack Overflow用户
提问于 2013-03-20 21:47:38
回答 5查看 30K关注 0票数 13

我用HTML5和JavaScript编写了一个UI。我选择了这个实现,这样我就可以在Android和视窗8 RT之间共享相同的代码。

现在,我的下一个目标是将数据写入USB。我与之通信的设备被视为HID。我提到这个部分是为了防止有一种方法可以写到HID设备,而不是USB原始设备。

我在这件事上做了很多研究。但是,HTML5规范的变化太频繁了,可能我漏掉了什么。

**无论如何,我是否可以使用一种语言或实现来共享通用代码,以访问Android和Windows 8RT上的USB设备?

如果两者之间没有共享的方法,那么建议只在Android上进行USB通信如何?**

以下是我的研究和结论:

  • 银光:没有支撑。就web插件而言,Windows 8 RT或Android不支持它
  • 闪光灯:可能的选择。这两种操作系统都支持它,尽管它们通过发布Android 4.1 (Jelly )删除了对安卓系统的支持。
  • HTML5:不支持
  • 我看过gamepad API,但它似乎只支持从游戏垫读取。
  • 我查看了设备标记,但是这个标记在当前的草案中已经不存在了。我读到“导航器”对象在JavaScript中取代了它,但它似乎完全不同。此外,设备只针对获取视频和音频。
  • JavaScript:不支持。据我所知,这是因为这将是一个安全风险。
  • Chrome打包应用程序:不受支持。我不确定是否支持Windows 8RT。但是,Android Chrome也不支持它。
  • 存在一个USB API,它完全实现了我所需要的功能,但是这个API只适用于打包的应用程序。
  • Java :不受支持。我不确定是否支持Windows 8RT。但是,Android Chrome也不支持它。
  • 关于如何与USB设备通信,有许多可用的资源。但是,由于智能手机上不支持Java applets,因此最终不支持Java applets。
  • 几个有用的帖子
  • https://stackoverflow.com/questions/12543874
  • https://stackoverflow.com/questions/4564973/is-accessing-usb-from-a-web-application-for-cross-browser-cross-os-possible-at-a/4565076#4565076
  • https://stackoverflow.com/questions/4242153
EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2013-03-21 02:41:27

我真的想过怎么做类似的事情.

如果您控制了带有USB设备的计算机,那么有一种方法可以肯定地做到这一点:

让计算机与USB设备运行web服务器,如Apache和PHP。让它只听本地主机

然后,在被查看的HTML页面中,执行Ajax到localhost/somescript.php (或CGI或cfm等)。

在PHP/CGI脚本中,与USB设备通信,然后向浏览器返回一个JSON字符串,说明发生了什么事情。

另一种方法是使用自定义URL协议。您可以创建一个可执行文件,并在客户端计算机上“安装”它以及您的自定义URL协议。

然后,可以使用自定义URL协议从浏览器调用可执行文件。

票数 8
EN

Stack Overflow用户

发布于 2013-04-12 15:40:53

如果要控制的USB设备是条形码打印机,则可以使用jZebra

这是一个小程序,直接与本地连接的打印机通信。

票数 2
EN

Stack Overflow用户

发布于 2013-11-15 07:41:01

还有一种可供选择的网络Socket.Create,一种网络套接字服务器,它将访问本地系统中的usb设备。

使用web从Application.Web套接字连接您的Web服务器有标准的Api

你可以做这样的事

代码语言:javascript
复制
  var host = "wss://localhost:25000/test";

  Websokcet ws = new WebSocket(host);

您可以使用RFC 六四五五创建web sokcet服务器。

对于较旧的浏览器,您也可以想到http服务器。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15535409

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档