• 请不要在回答技术问题时复制粘贴 AI 生成的内容
yewuya
V2EX  ›  程序员

前端页面直接和连接到 PC 上的设备通信的方法

  •  
  •   yewuya · Jun 7, 2022 · 2826 views
    This topic created in 1612 days ago, the information mentioned may be changed or developed.

    大致就是电脑上 USB 插上遥控器,通过遥控器直接远程控制设备,需要前端读取遥控器发出的控制信号,信号解析已经搞定,但是不知道数据怎么直接发给前端

    9 replies  •  2022-06-08 11:32:53 +08:00
    liyang5945
    liyang5945
    Jun 7, 2022
    1
    需要开发一个桌面应用程序实现以下功能,1 、读取 usb 解析信号,2 、启动一个 websocket 服务,发送信号给前端
    yewuya
    yewuya
    OP
    Jun 7, 2022
    2
    @liyang5945 这个我想过,不过最好还是直连前端
    yewuya
    yewuya
    OP
    Jun 7, 2022
    3
    找到两个接口貌似可行,一个是 gamepad api 用来控制游戏手柄的,一个是 Web Serial API 用来 web 连接串口的
    Ediacaran
    Ediacaran
    Jun 7, 2022 via iPhone
    4
    以前找资料找到过 webusb api 这个接口,但是没试过,不清楚有没有坑
    snoopyhai
    snoopyhai
    Jun 7, 2022
    5
    前端是无法突破浏览器的, 或者考虑 electron 这种更开放的方式, 可能有方案能直连.

    以前做过类似场景.
    网页先 jsonp 请求本地一个地址. 如果不成功, 则认定为未安装客户端.
    如果成功, 则走 webshell://协议取尝试启动客户端, 从而启动 websockert 服务.
    最后网页尝试连接 websocket 服务.
    KagurazakaNyaa
    KagurazakaNyaa
    Jun 7, 2022
    6
    chrome 倒是有相关的接口,pixel 刷机就是走的 webusb 我记得
    https://web.dev/i18n/zh/usb/
    sunbreak
    sunbreak
    Jun 7, 2022
    7
    个人推荐用 Flutter Windows/macOS 来做,更接近底层,同时开发也足够方便

    https://github.com/woodemi/quick_usb

    或者用你说的 WebHID 或者 WebUSB 接口

    https://github.com/woodemi/web_usb.dart (这是 Dart 库,内有 WICG 文档链接)

    https://github.com/woodemi/web_hid.dart (这是 Dart 库,内有 WICG 文档链接)
    hellsnow
    hellsnow
    Jun 8, 2022
    8
    以前做过一个虚拟币的加密钥匙,好像用的 chrome.hid
    MyouiSouth
    MyouiSouth
    Jun 8, 2022
    9
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2690 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 34ms · UTC 13:14 · PVG 21:14 · LAX 05:14 · JFK 08:14
    ♥ Do have faith in what you're doing.