当硬币插入时,ccTalk硬币接收器没有反应

时间:2017-01-16 16:18:30

标签: python c serial-port uart cctalk

我编写了应该处理硬币插入的Linux应用程序(让我们说现在我需要在应用程序中识别插入了什么硬币)。我使用SCA1 Coin Acceptor(ICT)。我需要使用波兰硬币(货币 - 波兰兹罗提)。 我能够让PC和Coin Acceptor之间的通信工作,但我有一些问题。

我的设置的简要说明:

  • PC通过cc232协议通过RS232(+ USB转换器)连接到Coin Acceptor。
  • 开关座1:全部关闭,但是对于第10个开关,设置为ON(根据文档)
  • 开关座2:全部关闭
  • 我设置禁止状态以允许所有(来自手动文档)
  • 我设置了主禁止状态以启用设备(来自手动文档)

我能够从Coin Acceptor获取有关序列号,软件修订等的数据。简单的民意调查也可以。唯一的问题是关于插入硬币的实际信息。我发送“读缓冲信用或错误代码”(Header 229)命令 - 根据文档 - 每500ms左右,每次我得到结果0(字节等于0x00),结果都正确返回,它只是看起来就像我没有插入任何硬币一样。我试图使用抛光硬币以及10美分硬币。所有硬币都被“拒绝”,被拒绝我的意思是Coin Acceptor似乎不处理那些硬币(只是返回它们),另一方面,当我发送命令以获得被拒绝的硬币数量时,我再次获得0。

所以现在问你,你知道为了让它工作所需的任何其他设置(最好用波兰硬币)吗? 此外,默认情况下(假设硬币接收器未连接到PC,但是已通电)硬币接受器如何对插入的硬币做出反应?只是返回它们(就像在我的情况下)或“处理”它们然后返回它们或将它们放入“银行”?

我想我发布代码没有意义。我创建了两个不同的应用程序,问题是一样的。

一个在python中,我采用了https://github.com/Baldanos/ccTools的冒险,第二个应用程序是用C语言编写的,类似于:https://github.com/BitCoding/cctalk

设备坏了是值得怀疑的,因为我尝试使用其他设备而没有任何区别。此外,这些设备是全新的。

任何建议都会有所帮助。 提前谢谢。

1 个答案:

答案 0 :(得分:1)

我会把它写成评论,但我没有足够的声誉:

我还使用Baldanos的图书馆作为起点让我的硬币接受器工作。我会先替换

ser.read(50) 

time.sleep(0.01)          #give it time for all bytes to be in ser.in_waiting   
ser.read(ser.in_waiting)

因为,如评论中所述,您不知道该消息是否长50个字节。

那就是说,我设法让它工作而不改变太多东西。对我来说,硬币接收器已经设置为欧元。当您申请硬币ID时(发送“184”和1,16的范围),您的硬币接收器会返回什么?