1.USB扫描枪
  USB接口的扫描枪相当于键盘输入,在Windows或者Linux下,在成功安装驱动的前提下,打开文件编辑器如word、txt等。扫描枪读出到条码数据时,数据即被捕获到光标处。

2.Linux下读取数据

2.1扫描枪设备
  USB扫描枪相当于一个键盘输入设备,Windows或者Linux下都集成相关驱动,或者免驱动。基于ARM下的Linux系统,接入扫描枪,在“/dev/input”目录下可以查看该事件设备,如图,我这边的是“event1”。

2.1读取扫描枪数据
  基于Linux的“一切皆文件”的思想,通过上面的“event1”设备,即可获取USB扫描枪返回的数据。

#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <linux/input.h>#define SCANNER_DEV "/dev/input/event1"struct input_event buff;
int fd;
int read_nu;int main(int argc, char *argv[])
{fd = open(SCANNER_DEV, O_RDONLY);//打开usb扫描枪设备if (fd < 0){ perror("can not open device usbscanner!"); exit(1); } int i = 0;printf("--fd:%d--\n",fd);while(1){while(read(fd,&buff,sizeof(struct input_event))==0){;}printf("type:%d code:%d value:%d\n",buff.type,buff.code,buff.value); }close(fd); return 1;
}

其中关键结构体input_event,在“linux/input.h”中有定义

struct input_event
{
struct timeval time;
__u16 type;
__u16 code;
__s32 value;
};

type:设备类型,如0表示是键盘,1表示是鼠标,和其他等;
code:键码值;
value:对于不同的类型设备,该值有不同的含义;对于键盘设备来说,0表示未按下(松开),1表示按下,2表示一直按下。
详细的“input_event”参考后面参考链接文章。

3.参考

[1] http://blog.csdn.net/bingqingsuimeng/article/details/8178122

Linux下读取USB扫描枪数据相关推荐

  1. python获取usb扫描枪数据_GitHub - RobinGitHub/USB4ScanGun: USB扫描枪识别,已获取对应扫描枪返回值的测试程序...

    USB4ScanGun PS:最近在测试点东西,要看这个项目的朋友麻烦用稍早前的版本.之后测试结果也会写在这里,或者博客中的.--2014年9月28日 USB扫描枪识别,已获取对应扫描枪返回值的测试程 ...

  2. 使用c#捕获usb扫描枪扫描二维码、条形码结果

    关于扫描枪对包含中文的二维码扫描的处理,请参考使用c#捕获usb扫描枪扫描二维码.条形码结果(支持中文版),本文之后的评论不再回复关于中文扫码的问题 另外,请仔细阅读本文,因为中文支持博文仅修改了本文 ...

  3. linux怎么读取群辉数据,Linux下读取群晖SHR/RAID硬盘组 Data Recovering of Synology DSM SHR/RAID Volume...

    背景 昨天DSM的pgsql坏了,修复的时候一时手贱把群晖的libc.so给弄坏了,彻底瘫了,想到的解决办法如下: linux下读取系统区(DSM下所有初始化过的sata硬盘的头两个分区组的raid) ...

  4. *Linux下的USB总线驱动 u盘驱动分析*

    Linux下的USB总线驱动(三) u盘驱动分析 版权所有,转载请说明转自 http://my.csdn.net/weiqing1981127 https://www.xuebuyuan.com/13 ...

  5. WinCC读取串口扫描枪案例

    目录 一 MSComm控件注册 二 准备微软脚本调试器 三 WinCC画面制作 四 创建全局脚本VBS 五 项目启动前的配置 六 关于USB扫描枪和串口扫描枪 本文以WinCC通过VBS脚本进行串口通 ...

  6. 如何编写Linux 下的 USB 键盘驱动

     如何编写Linux 下的 USB 键盘驱动 1. 指定 USB 键盘驱动所需的头文件: #include <linux/kernel.h>/*内核头文件,含有内核一些常用函数的原型定 ...

  7. Linux下的USB总线驱动 mouse

    Linux下的USB总线驱动(03)--USB鼠标驱动 usbmouse.c USB鼠标驱动 usbmouse.c 原文链接:http://www.linuxidc.com/Linux/2012-12 ...

  8. 手动制作linux live,Linux下Live USB如何制作

    Linux下Live USB如何制作?Linux系统下该如何制作Live USB呢?下面小编就给大家介绍几种方法.一起去看看吧! 1.UNetbootin 这是创建Live USB最流行的工具之一.U ...

  9. 使用c#捕获usb扫描枪扫描二维码、条形码结果(支持中文版)

    之前在18年写过一个使用c#捕获usb扫描枪扫描二维码.条形码结果,当时我是没有遇到需要使用中文的情况,因为二维码都是我自己控制生成的,如果遇到中文,我会提前进行编码编程unicode编码,所以,没有 ...

最新文章

  1. codevs——1576 最长严格上升子序列(序列DP)
  2. 机器狗常州巡逻防疫,喊话“不扎堆不聚集”,网友:给孩子安个狗头吧
  3. CTFshow 爆破 web21
  4. 有三AI第一批10个研究小组上线
  5. 【快速幂】小明解密码 (jzoj 2146)
  6. python3-matplotlib基本使用(以折线图为例)
  7. mysql 按月建表_MySQL之存储过程按月创建表
  8. Entity Framework 4.1 CodeFirst实例
  9. Mercurial:Hg缓存更改的文件和打patch
  10. LCD(六)显示控制器、framebuffer驱动、s3c-fb.c中probe函数分析
  11. 关于使用开源版urule决策引擎优化性能和配置客户端集群同步生效的问题
  12. 同时使用SVN和Git进行版本控制
  13. 学习金字塔 理论的一个应用
  14. ASP.Net Core 发布在IIS部署出现502.5错误的解决办法
  15. 设计模式七大原则之合成/聚合复用原则(CARP)
  16. 动物电子耳标阅读器|识读器|读卡器L8600系列Modbus RTU通讯协议与二次开发说明
  17. 通俗理解极大似然估计
  18. 基于php的网吧管理系统,基于ssh/bs/java/asp.net/php/web/安卓的网吧会员消费管理系统...
  19. 多个PDF怎么合并到一起?分享两种好用的合并方法
  20. 密码暴利破解工具Hydra(海德拉)使用详解

热门文章

  1. windows常用dos(cmd)命令
  2. 氢气球条幅广告的介绍
  3. ajax动态拼接复选框样式,JavaScript 通过Ajax 动态加载CheckBox复选框
  4. Zed-Unity插件中代码注释——ZEDManager.cs
  5. ROS开发系列(6)- zed深度信息与darknet的boundingbox信息融合
  6. 数值微分法(DDA)详解
  7. HTTP协议报文解析
  8. pygame 飞机大战子弹的编写(七)花样年华
  9. phpcms v9 ckeditor编辑器右下角增加一键排版按钮插件
  10. 9000字通俗易懂的讲解下Java注解,你还看不明白?,linux操作系统基础与应用答案