首页 > 其他分享 >网页接入硬件交互通信方案

网页接入硬件交互通信方案

时间:2023-06-01 09:44:17浏览次数:32  
标签:方案 浏览器 接入 硬件 WebSocket 网页 交互

我们都知道,网页直接接入硬件并与硬件交互并不那么方便,如果硬件由网络功能还可以通过网络通信实现(一般是socket),但大多数情况下硬件还是直接通过usb/串口等硬接线接入。很早以前有一种解决方案是Active-X,但只支持IE浏览器,尤其现在2023年IE已经并入Edge浏览器,这一方案已经过时。那么有没有一种更好更通用的方案可供选择呢?答案是肯定的。

我们都知道H5现在已经非常普遍了,各大浏览器对H5的实现程度已经很高,不用担心不一致的问题。我们可以利用H5里面的WebSocket特性,实现网页与硬件通信。

方案示意图如下:

就是我们的主机既充当WebSocket客户端,也充当WebSocket服务端,不同的是我们把WebSocket服务端封装成了Windows Service。浏览器通过发出WebSocket请求,本机的Windows服务接口到请求之后进行处理(一般是准备对应硬件的操作),然后再发出硬件操作的命令,处理完毕后将硬件处理结果通过WebSocket发回浏览器端,这样就完成了整个通信的过程。实现了浏览器端直接操作硬件的功能。

这一方案的优点:

1. 方案通用。不论原有硬件提供什么样的sdk,都可以通过这一方案接入。

2. 实现容易。WebSocket双向通信还是比较方便的。

这一方案的缺点:

1. 占用端口号。WebSocket通信时需要提供一个port,这个port最好不要设置常用的端口号,建议设置一个较冷门的端口。比如12345。

2. 解决方案是迂回的思路,会多很多中转的部分。比如上图中,我们不仅要开发WebSocket Server/Client端,还要开发Windows Service。多一些开发工作量。

 

通过这一思路,我们实际接入过RFID桌面发卡器(读写)、RFID工业型读写器(群读)、RFID打印机(打印写码)等通过USB接入的硬件并实现网页操作。

标签:方案,浏览器,接入,硬件,WebSocket,网页,交互
From: https://www.cnblogs.com/guwei4037/p/17448033.html

相关文章

  • 利用JSP交互式打印表格
    问题:在客户端输入要打印表格的行数rows和列数cols,然后经过服务端处理打印rows*cols的表格,打印数据为i*j。html部分:文件名:input.html<html><head><title>Hello</title></head><body><formaction="input.jsp"method="post"><tablebord......
  • 常见控件交互方法
    点击方法element.click()输入操作element.send_keys('appium')设置元素的值element.set_value('appium')清除操作element.clear()是否可见element.is_displayed()返回True/False是否可用element.is_enabled()返回True/False是否被选中element.is_selected()返回True/Fal......
  • 网页常见的渗透方法以及解决方法
    方式一:弱口令弱口令(weakpassword)没有严格和准确的定义,通常认为容易被别人(他们有可能对你很了解)猜测到或被破解工具破解的口令均为弱口令。弱口令指的是仅包含简单数字和字母的口令,例如“123456”、“abc”等,因为这样的口令很容易被别人破解,从而使用户的计算机面临风险,因此不......
  • HUAWEI-配置line接入方式
    HUAWEI-配置line接入方式编纂者:PLENGONG、QWX1、华为基础命令system-view//从用户视图进入系统视图sysnameR1//修改设备名为R1interfaceGigabitEthernet0/0/0//进入接口GigabitEthernet0/0/0ipaddress12.0.0.124//配置IP地址return//返回用户视图quit//放回......
  • 海康、大华、tplink监控摄像头和硬盘录像机接入GB28181平台配置细节
    海康、大华、tplink等各种型号监控摄像头或硬盘录像机(NVR/HVR)接入GB28181平台,配置过程都非常简单明了,但有些细节需要注意,避免走弯路踩泥坑。首先要说明一点的是,只要监控设备和GB28181平台的网络是连通的,都可以顺畅的接入,不需要为监控设备配置外网地址,更不需要做任何映射操作。本文......
  • 开源软件架构总结之——Bash(readline做输入交互式,词法语法分析,进程交互)
    第3章TheBourne-AgainShellBash的主要组件:输入处理,解析,单词展开(wordexpansion)和其他命令处理,管道(pipeline)中的命令执行。这些组件构成一个流水线(pipeline),从键盘或脚本中获取字符,然后逐步转化为命令。图3.1Bash组件结构 3.7.经验教训3.7.1.什么是重要的参与到Bash项目......
  • wireshark解析RTSP交互
    RTSP信令交互RTSP协议即实时流协议(RealTImeStreamingProtocol,RTSP)是一种网络应用协议,用以控制流媒体服务器信息交互。大多数RTSP服务器使用实时传输协议(RTP)和实时传输控制协议(RTCP)结合媒体流传输。即客户端和服务器先进行RTSP交互,获取服务端可用命令,以及媒体参数;之后传输数据......
  • 数据的新时代:可交互大屏展现数字孪生的奇妙效果
    可交互的数字孪生数据大屏依赖于强大的数据可视化技术。通过将大量的数据转化为可视化的图表、图形和动画,大屏能够直观地展示数据的关联性、趋势变化和异常情况。这种视觉化的展示方式使得人们能够更快速地理解数据,洞察数据中的规律和价值。 在山海鲸可视化中,将3D模型导入可视......
  • MobTech MobLink|小程序、网页跳转App的原理
    从不同的渠道,如小程序、二维码、网页等,直接跳转到App内对应的页面,并传递相关的参数信息,已经由移动还原解决方案MobLink实现了。本文将详细介绍多样化跳转技术的原理。MobLink的功能架构MobLink的功能架构如下图所示:从图中可以看出,MobLink主要涉及三个部分:客户端、服务器和网页。客......
  • 谷歌浏览器在用户与Document无交互时无法播放声音问题 - 记录
    谷歌禁止声音播放处理方式1、设置google浏览器,点击地址前面的图标,选择网站设置,找到声音,设置允许,需要用户配合设置2、使用window.AudioContext,需要自己写代码 接口参考地址:https://developer.mozilla.org/zh-CN/docs/Web/API/AudioContext3、使用组件,如:soundman......