我编写了用于处理硬币插入的Linux应用程序(假设目前我需要在应用程序中识别已插入的硬币)。我使用SCA1硬币受体(ICT)。我需要使它与波兰硬币(货币波兰兹罗提)工作。我能够让PC和硬币接受者之间的沟通工作,但我有一些问题。
对我的设置的快速描述:
我能够从硬币接收者那里提取有关序列号、软件修改等的数据。简单的民意测验也是如此。唯一的问题是关于插入硬币的所有信息。我每500 is左右发送一次“读取缓冲的信用或错误代码”(头229)命令--根据文档--每次我得到结果0(字节等于0x00)时,结果就会正确地返回,就好像我没有插入任何硬币。我试着用波兰硬币和10美分硬币。所有的硬币都是“被拒绝的”,我的意思是接受硬币的人似乎没有处理这些硬币(只是把它们还回去),另一方面,当我发出命令得到被拒绝的硬币的数量时,我会再次得到0。
那么,现在的问题是,您是否知道任何额外的设置是必要的,以使它的工作(更喜欢与波兰硬币)?另外,在默认情况下(假设硬币接收者没有连接到PC,但是是有电源的),硬币接收者应该如何对插入的硬币做出反应?只需返回它们(就像我的例子中那样)或“处理”它们,然后返回它们或者将它们放入“银行”?
我想我没有必要发布代码。我创建了两个不同的应用程序,问题是相同的。
其中一个是python,我喜欢https://github.com/Baldanos/ccTools,第二个应用程序是用C编写的,类似于:https://github.com/BitCoding/cctalk。
这个设备是否坏了是值得怀疑的,因为我试图使用其他设备而没有区别。而且,这些设备都是全新的。
任何建议都会有帮助。提前谢谢你。
发布于 2017-04-03 10:26:36
我本来会写这篇评论的,但我没有足够的声誉:
我还以巴尔达诺斯的图书馆为起点,让我的硬币接受者开始工作。我首先要取代
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)时,您的硬币接收方返回什么?
https://stackoverflow.com/questions/41680647
复制相似问题