看我如何让手机秒变扫码枪

简介: 为解决无扫码枪问题,作者受到微信小程序“超级扫码枪”启发,决定自制手机扫码到电脑的应用。项目需求是手机扫描条形码或二维码后实时传送到电脑。实现步骤包括:电脑端用Java Swing和Robot模拟键盘输入,手机端H5调用摄像头扫码(借助html5-qrcode库),并通过WebSocket服务将结果发送至电脑。项目源码及演示视频链接提供。

工作中偶尔需要使用扫码枪进行扫码到电脑上,但是手头又没有扫码枪,跟老板说买一把,老板觉得这东西不常用。于是想着是否可以利用手机扫码功能…到微信小程序里搜索“扫码枪”,发现里面有一个叫“超级扫码枪”的小程序,当看完它实现的功能,瞬间想起“贫穷限制了你的想象力”这句话。下面是关于超级扫码枪的介绍:

超级扫码枪是一款通过小程序扫码(条形码,二维码)后,实时发送到电脑(PC)的轻应用。适用于扫商品包装上的条形码或二维码、扫快递单号、扫发票二维码等等。

我就在琢磨它的实现原理,我自己是否也可以实现它的功能。再者说,一款软件有它的优点自然也有它的缺点,我要实现该软件的基本功能就得比它更简单、更安全、更易使用。于是,立项,开干!!!

需求

实现手机变扫码枪,调用手机摄像头扫码后实时发送到电脑(PC)的文本框内。

任务解析

  • 首先要想电脑(PC)端怎么模拟键盘录入信息
  • 其次手机端怎么调用摄像头并扫码
  • 最后手机端要把扫码结果发送到电脑(PC)端

实战

  1. 电脑(PC)端写个Java客户端Swing程序,并利用Robot模拟键盘录入。Java客户端的实现借鉴了两个项目:
    https://gitee.com/wmazh/easytodo
    https://gitee.com/s2689763871_admin/sftptool
  2. 手机端写个H5页面调用手机摄像头并扫码【注意:用html5-qrcode 要求web服务器必须https协议访问,如果不是的话,是不能使用webRTC的,也就没有获取摄像头的权限了。】
    使用了这个前端类库:https://github.com/mebjas/html5-qrcode
    这是H5的示例:https://github.com/mebjas/html5-qrcode/tree/master/examples/html5
    结合它提供的线上实例:https://blog.minhazav.dev/research/html5-qrcode.html
  3. 电脑(PC)端起WebSocket服务,手机端连接该服务并实时发送消息【该方案的局限性,手机端和电脑端必须在一个wifi下才可以进行通讯发送消息】

演示效果

PC端效果

手机端扫码效果

资源链接

项目源码地址:https://gitee.com/zkool/h5-barcode-gun
电脑(PC)端下载地址:H5扫码枪 V1.0 · zkool/h5-barcode-gun
视频介绍地址:https://www.bilibili.com/video/BV1CH4y1L78Z

目录
相关文章
VSPD虚拟串口软件安装及使用
VSPD虚拟串口软件安装及使用
5604 0
|
关系型数据库 MySQL Nacos
nacos数据库使用PostgreSQL及集群配置
从Nacos2.2版本开始,Nacos提供了数据源扩展插件,以便让需要进行其他数据库适配的用户自己编写插件来保存数据。
|
11月前
|
XML 语音技术 Android开发
Android中TextToSpeech的使用
本文介绍了在Android开发中使用TextToSpeech(TTS)实现语音合成的功能。通过实例代码展示了TTS的初始化、语言设置、语音播放及队列模式的选择,并提供了将语音保存为音频文件的方法。项目中包含一个简单的按钮触发朗读功能,适合初学者学习和实践。代码示例完整,涵盖Activity生命周期管理与XML布局设计。
734 4
|
API Android开发 容器
33. 【Android教程】悬浮窗:PopupWindow
33. 【Android教程】悬浮窗:PopupWindow
2428 2
|
消息中间件 存储 负载均衡
2024消息队列“四大天王”:Rabbit、Rocket、Kafka、Pulsar巅峰对决
本文对比了 RabbitMQ、RocketMQ、Kafka 和 Pulsar 四种消息队列系统,涵盖架构、性能、可用性和适用场景。RabbitMQ 以灵活路由和可靠性著称;RocketMQ 支持高可用和顺序消息;Kafka 专为高吞吐量和低延迟设计;Pulsar 提供多租户支持和高可扩展性。性能方面,吞吐量从高到低依次为
6255 1
|
Web App开发 Go iOS开发
【IOS】教你如何在手机端轻松安装 ipa 文件 -(安装器已失效 21.10)
【IOS】教你如何在手机端轻松安装 ipa 文件 -(安装器已失效 21.10)
|
Java Maven 容器
Maven使用IDEA自带工具打包,同时将lib下的jar包打入,双击jar包可直接运行
使用IntelliJ IDEA的Artifacts功能,可以将项目依赖的第三方jar包打包进jar文件中,实现双击jar包即可直接运行。
Maven使用IDEA自带工具打包,同时将lib下的jar包打入,双击jar包可直接运行
|
移动开发 资源调度 JavaScript
Vue移动端网页(H5)预览pdf文件(pdfh5和vue-pdf)
这篇文章介绍了在Vue移动端网页中使用`pdfh5`和`vue-pdf`两个插件来实现PDF文件的预览,包括滚动查看、缩放、添加水印、分页加载、跳转指定页数等功能。
10931 1
Vue移动端网页(H5)预览pdf文件(pdfh5和vue-pdf)