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

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

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

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

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

    以前做过类似场景.
    网页先 jsonp 请求本地一个地址. 如果不成功, 则认定为未安装客户端.
    如果成功, 则走 webshell://协议取尝试启动客户端, 从而启动 websockert 服务.
    最后网页尝试连接 websocket 服务.
    KagurazakaNyaa
        6
    KagurazakaNyaa  
       Jun 7, 2022
    chrome 倒是有相关的接口,pixel 刷机就是走的 webusb 我记得
    https://web.dev/i18n/zh/usb/
    sunbreak
        7
    sunbreak  
       Jun 7, 2022
    个人推荐用 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
        8
    hellsnow  
       Jun 8, 2022
    以前做过一个虚拟币的加密钥匙,好像用的 chrome.hid
    MyouiSouth
        9
    MyouiSouth  
       Jun 8, 2022
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   949 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 49ms · UTC 21:37 · PVG 05:37 · LAX 14:37 · JFK 17:37
    ♥ Do have faith in what you're doing.