前端页面直接和连接到 PC 上的设备通信的方法 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 I 生成的内容
yewuya
V2EX    程序员

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

  •  
  •   yewuya 2022-06-07 15:05:38 +08:00 2039 次点击
    这是一个创建于 1224 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

    以前做过类似场景.
    网页先 jsonp 请求本地一个地址. 如果不成功, 则认定为未安装客户端.
    如果成功, 则走 webshell://协议取尝试启动客户端, 从而启动 websockert 服务.
    最后网页尝试连接 websocket 服务.
    KagurazakaNyaa
        6
    KagurazakaNyaa  
       2022-06-07 15:25:15 +08:00
    chrome 倒是有相关的接口,pixel 刷机就是走的 webusb 我记得
    https://web.dev/i18n/zh/usb/
    td width="10" valign="top">
    sunbreak
        7
    sunbreak  
       2022-06-07 16:56:52 +08:00
    个人推荐用 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  
       2022-06-08 10:55:04 +08:00
    以前做过一个虚拟币的加密钥匙,好像用的 chrome.hid
    MyouiSouth
        9
    MyouiSouth  
       2022-06-08 11:32:53 +08:00
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     985 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 23ms UTC 22:29 PVG 06:29 LAX 15:29 JFK 18:29
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86