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

关于排队叫号系统求问

  •  
  •   fengyunSmlie · 2016-03-03 19:20:38 +08:00 · 1978 次点击
    这是一个创建于 2985 天前的主题,其中的信息可能已经有所发展或是发生改变。
    这玩意怎么做啊?纯代码我还写得出来 现在要配合取号机, led 叫号 我一脸迷茫,没弄过硬件啊!求弄过的或了解的给点指导
    14 条回复    2016-03-04 15:44:57 +08:00
    gyteng
        1
    gyteng  
       2016-03-03 19:57:37 +08:00 via Android
    通常 LED 屏需要通过串口操作
    qiayue
        2
    qiayue  
       2016-03-03 19:59:57 +08:00
    硬件和服务器通过 TCP 连接传输数据,服务器写一个多线程的 Socket 服务即可
    fengyunSmlie
        3
    fengyunSmlie  
    OP
       2016-03-03 20:00:41 +08:00
    @gyteng 那取号和叫号机怎么操作呢?
    fengyunSmlie
        4
    fengyunSmlie  
    OP
       2016-03-03 20:01:10 +08:00
    @qiayue 主要是怎么对硬件操作 有点迷茫
    loading
        5
    loading  
       2016-03-03 20:02:40 +08:00 via Android
    关键字:树莓派 led
    不客气!
    qiayue
        6
    qiayue  
       2016-03-03 20:04:46 +08:00
    取号机开机联网之后,每次主动连接服务器(因为服务器有固定的 IP ,但是取号机没有), TCP 连接算是长连接,除非双方任意一方关闭连接,反正连接都由取号机来维护,取号机发现连接被关闭了,就再次重新连接,目的就是为了保证取号机时刻连接到服务器。
    在已经连接的基础上,就可以双向通信了。
    qiayue
        7
    qiayue  
       2016-03-03 20:05:46 +08:00
    取号机本身需要用单片机开发,一般写 C 程序,来控制硬件

    当然如果是玩一下,可以用树莓派之类的
    qiayue
        8
    qiayue  
       2016-03-03 20:08:07 +08:00
    二进制或者 ascii 码传输数据,服务器和取号机约定好数据格式(俗称协议)即可
    thinkif
        9
    thinkif  
       2016-03-03 20:54:46 +08:00
    通讯基本上通过串口都能解决, LED 和触摸屏都有驱动,无须编程控制,出小票的打印机也可以通过调用打印接口来控制,所以基本上跟写常规桌面程序一样的。

    机器可以跑 Windows 和 Linux ,不过一般为了便于客户维护,使用 Windows 系统。所以你就当写个正常的窗体程序就 ok 了,挑一个你顺手的语言。

    机器配置不用太高,主要是外型不能太丑,定制的话电脑带外壳一般两千到三千都搞定了。
    打印机的价格看档次,一般几百块的国产的就可以,热敏的那种。要求高点的也可以上东芝泰格、斑马这种,价格两三千起。
    zjqzxc
        10
    zjqzxc  
       2016-03-03 21:56:13 +08:00
    抽出一个最简单的模型,( led )--叫号机--取号机--(打印机)

    叫号机控制 led 的方法:最简单的请百度“单片机控制 8 位数码管”;如果愿意驱动一个 LCD 或者语音播报方法也类似
    叫号机和取号机通讯:如果只有一个取号机,直接用串口通信即可;如果有 n 个取号机( 10 个以内), I2C 通信(或者其他总线);以上这两种本身不用太复杂的控制协议,单片机完全扛得住。如果有>>10 个取号机,走网线上 tcp/ip 吧。
    取号打印:买支持串口的针式打印机,然后按着数据手册写程序

    以上只是大概思路。

    实践:
    如果想快速做一个基于单片机的原型, arduino uno*2 ;杜邦线若干, 8 位数码管两个(一个显示当前较的号,一个代替打印机显示当前取的号),面包板一块;以上总成本在百元以内( 50 左右)。
    有 C 语言基础的话大概 3 天之内可以搞定一个原型出来;
    aalska
        11
    aalska  
       2016-03-03 22:19:41 +08:00
    我想起了我偶尔之间知道了农行取号机的漏洞。然后每次都取别人的弃号。。
    dream7758521
        12
    dream7758521  
       2016-03-04 10:25:39 +08:00 via Android
    @aalska 弃号的话,取上也没用吧,已经叫过号没人办业务作废了,你去办肯定让你重新排队
    fengyunSmlie
        13
    fengyunSmlie  
    OP
       2016-03-04 15:44:04 +08:00
    @qiayue 网上搜索的取号机都是是带有自己系统的 他们有提供调用的接口吗? 能否推荐一个?谢谢
    fengyunSmlie
        14
    fengyunSmlie  
    OP
       2016-03-04 15:44:57 +08:00
    @zjqzxc 只有一个取号机,大概了解了 谢谢~
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   742 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 20:54 · PVG 04:54 · LAX 13:54 · JFK 16:54
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.