java如何读取自助收费机信息

I_am_a_java_CaiNiao 2012-08-11 09:46:59
大家好,
需求:在某行政大厅中,有自助终端机,客户可以上去办理某项行政业务,填表格并打印出来,但打印之前,需要先付费,因此该机子上会有一个“塞钱”的入口,当然也可以找零,付款完毕后,系统才打印。用户填写的表格是java表单,“提交”后,等待用户付款,付完款后,java保存数据并打印。

问:据我所知,自助收费机是硬件实现的(如自助售饮料机),那么,java程序如何与这玩意互通?即,java如何能监听到收费系统的状态(如客户已准确付款、客户付款不够等)?

谢谢大家~
...全文
161 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
zqfddqr 2012-08-11
  • 打赏
  • 举报
回复
这个看设计硬件的人给你什么借口 他给你串口你就读串口 他给你u口你就读u口 并口 网口什么的

在商议一个协议,你俩就能通信了
anod 2012-08-11
  • 打赏
  • 举报
回复
没具体研究过,但提供下我自己的思路。
可以看到,这是个软硬结合的系统。系统的功能是软件功能和硬件功能的组合。那么,必须清楚地定义出软件实现什么,硬件实现什么。这就解决了系统设计的最基本问题:定义模块的接口。软件是模块,收钱的机器也是模块。
具体到收银机,就是把它看成一个黑盒子,那么他具有的接口就是:
1、接受一个钱数并启动收钱过程,包括检测真伪、找零等等;
2、提供一个接口用于外部调用者查询状态,可能的状态包括:空闲、正在收钱、收钱成功、收钱失败等等;
那么,收银机之外的系统所做的就是:
1、调用接口获取收银机状态,如果空闲,进行第二步。其它状态下,应该等待,并在等待时间结束后继续获取收银机状态知道其空闲。或者不等待,先使用者反馈状态并进行其它业务;
2、调用接口发给收银机一个钱数;
3、通过调用接口轮询收银机状态,此时关心的是收钱成功或者失败。
4、获取状态后在进行其它业务处理;

至于软件与设备的通讯,可用的接口很多。可能COM口是目前选择较多的。这主要取决于设备提供什么。当然,有的设备本身不提供任何外部接口,这就必须做改装了,难度可能很大。

另外,现在有通用的收银设备模块,可以考虑用来集成,而不要考虑使用成型设备,如自动售货机之类的来进行集成。
bojianyu 2012-08-11
  • 打赏
  • 举报
回复
厂商会给你对应的调用接口,你可以直接调用。如果给的是对应的Java接口,那么比较方便,如果是C接口,则需要用到JNI。

62,634

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧