V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
daiv
V2EX  ›  问与答

如何最简单实现: 扫码器(扫描二维码) > 访问相关 API(自己写的) > 控制热敏打印机打印 (门票/参会证)

  •  1
     
  •   daiv · 166 天前 · 1361 次点击
    这是一个创建于 166 天前的主题,其中的信息可能已经有所发展或是发生改变。

    简要前提

    • 类似大型展会入场口打印 参会证, 流程是: 扫码(观众手机) > 访问 API 验证获取打印信息 > 控制打印
    • 需要准备 10 台打印机, 所以是 10 套设备( 打印机 + 扫码器 + 笔记本/二手手机/ARM 主机等 )
    • 打印机已经定了, 不出意外暂不改动.
    • API 接口是自己的系统

    热敏打印机(基本已定)

    ZEBRA 斑马 ZD888T 热敏标签条码打印机 https://item.jd.com/100025791694.html

    扫码器:

    得力扫码盒子
    https://item.jd.com/100034046591.html

    笔记本/二手手机/ARM 主机等

    • 这个是最想了解的地方, 因为第一次弄扫码器, 所以来问问大家.
    • 根据了解, 扫码器算是一个输入设备, 那么第一反应是 笔记本上面跑 Python 来识别扫码等动作, 笔记本带屏幕是因为现场使用人员 可能需要选一些参数, 或者配置信息, 不可能放一个 N100 小主机, 然后外接屏幕键盘
    • 由于笔记本带屏幕, 例如 x230, 3-500 元一台, 但是有一点点笨重, 如果,Android 手机/ARM 一些带屏幕的小机器, 是不是更好, 但是跑 python 程序可能没那么方便了?

    希望有经验的给点建议, 方案, 优选 简单,易用, 部署方便, 价格第二(别超级贵即可)

    谢谢

    25 条回复    2024-07-02 08:39:30 +08:00
    drymonfidelia
        1
    drymonfidelia  
       166 天前 via iPhone   ❤️ 1
    前公司就是做这种方案的,ARM 主板,DHCP 获取 IP ,配置远程下发,再加块小彩屏,一套下来批发成本 50 不到,可以卖五六万
    drymonfidelia
        2
    drymonfidelia  
       166 天前 via iPhone
    @drymonfidelia 不包括打印机成本
    renmu
        3
    renmu  
       166 天前 via Android
    直接手机扫码然后蓝牙打印结束
    rabbbit
        4
    rabbbit  
       166 天前
    做过移动端 web 扫码。
    扫二维码效果很好。条形码体验不是很好,需要对准方向,能用。
    rabbbit
        5
    rabbbit  
       166 天前
    条形码扫码想速度快体验好应该要扫码枪
    rabbbit
        6
    rabbbit  
       166 天前
    不过我用的是开源的库,不清楚商业的效果怎么样。
    想成本便宜就移动端 web 扫码,省了手机的费用。为了信号稳定接自己的路由 wifi 。
    一台笔记本作为服务端,这样服务器的钱也省了。
    不清楚打印机支不支持 wifi ,不支持就上交换机挂到路由器底下。
    这样只需要 10 台打印机和一个路由的费用,路由搞个好点的例如 h3c 之类的
    daiv
        7
    daiv  
    OP
       166 天前
    @rabbbit 有人流高峰,要求要快。
    rabbbit
        8
    rabbbit  
       166 天前
    @daiv 需要快那还是推荐扫码枪
    rabbbit
        9
    rabbbit  
       166 天前
    @daiv 我见过有扫码,出小票一体的设备。但是你这个打印机定了的话没办法了。
    daiv
        10
    daiv  
    OP
       166 天前
    @rabbbit 我们打印 90mm*130mm ,克数 160-200 ,所以可能需要这个打印机
    daiv
        11
    daiv  
    OP
       166 天前
    @drymonfidelia #1 ARM 主板 加个触摸屏 不可能 50 元呀, 主板都要 200-300 了吧,
    billgong
        12
    billgong  
       166 天前
    其实用安卓手机和平板也行,OTG 供电 HUB 连接打印机同时给手机充电(还能根据需要连接局域网),单独写应用调用前置或后置摄像头扫码+请求 API+处理打印,用手机还自带主机+WiFi+4/5G 加成。

    用前置摄像头扫码的话,做的认真一点可以加个 GUI 和播放提示音引导用户。
    daiv
        13
    daiv  
    OP
       166 天前
    @billgong 还是一定需要 扫码枪/扫码器的, 手机去扫码太麻烦了
    busterian
        14
    busterian  
       166 天前
    @rabbbit 你确定?扫二维码对性能有要求的, 扫码枪的芯片算力能比得过手机?
    lbaob
        15
    lbaob  
       166 天前
    简单的接收扫码数据的方案是做一个输入框获取焦点
    rabbbit
        16
    rabbbit  
       166 天前
    @busterian
    没错,性能好的话肯定是手机。考虑楼主要出票,因此识别二维码只占整个流程的一小部分。
    手机扫码受环境影响,例如场景光线暗,反光。
    举个例子,扫码共享单车,光线暗,单车二维码上的遮盖板反光时,就会出现无法识别的情况。
    而扫码盒子因为光照固定,基本不存在这个问题,二维码扣上基本都能识别。
    aken29
        17
    aken29  
       166 天前
    刚帮你问了一下客服,貌似扫码盒子不支持直接接手机,也没有蓝牙。打印机也没有直接连接手机的。

    所以你可以直接做个 winform 程序或者做个 web 网页,打印机和扫码器连接电脑,网页做个输入框加个打印按钮,扫码器扫到内容就会填充到输入框(输入框获得焦点的时候),监听输入框有内容就激活打印按钮让员工点打印,这时调 API 校验信息后打印。

    如果想要自动,那就在上述基础,监听到输入框内容就调用 API 校验信息后调打印就行。hi-print 可以不用预览就直接打印(应该有其他方法)。

    扫码器一般会在扫码结束后自动加一些特殊符号,例如会在结尾加个回车,那就监听有回车就判定为扫码完成。
    drymonfidelia
        18
    drymonfidelia  
       166 天前 via iPhone
    @daiv 当然不是触摸屏,那种两三寸小屏
    ARM 主板很便宜
    retanoj
        19
    retanoj  
       166 天前
    扫码枪 --usb-- 笔记本 --网线-- 打印机
    前提是笔记本上的校验程序不需要联互联网,联网的话 wifi 或者现场拉线
    当然,还得有电源
    ma836323493
        20
    ma836323493  
       166 天前
    @rabbbit #6 可不敢只用一台电脑,万一这电脑突然死机了
    rabbbit
        21
    rabbbit  
       166 天前
    @ma836323493
    确实是个问题,保准点就扫码盒子单连笔记本,这样信号还稳定。
    daiv
        22
    daiv  
    OP
       166 天前
    @lbaob 目前基本要定了 扫码器 + 笔记本 + 打印机

    因为不去折腾 小主机, 手机等等了, 笨重一点, 稳定.

    我去查查如何获取焦点


    @aken29 要直接获取焦点, 然后自动打印, 不要人员去操作了


    @retanoj 对的, 现场有电源和网线的 环境
    virusdefender
        23
    virusdefender  
       166 天前
    要打印的内容包括什么,姓名之类的?可以提前打印好么
    daiv
        24
    daiv  
    OP
       165 天前
    @virusdefender 不能提前打印好, 不少人都是现场注册的
    aken29
        25
    aken29  
       162 天前
    @daiv 要直接获取焦点, 然后自动打印, 不要人员去操作了
    -------------------------
    那就前端写个定时器,在非打印和调用 API 期间就定时获取焦点就行了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3242 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 10:40 · PVG 18:40 · LAX 02:40 · JFK 05:40
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.