2017-01-16 4 views
1

コインの挿入を処理するはずのLinuxアプリケーションを書いています(今のところ、コインが挿入されていることをアプリケーションで認識する必要があります)。私はSCA1コイン受け入れ機(ICT)を使用します。私はそれを研磨貨幣(通貨ポーランドズロチ)で動作させる必要があります。 私はPCとCoin Acceptorの間の通信を得ることができましたが、いくつか問題があります。私のセットアップのccTalk coin acceptorコインを挿入したときの反応なし

概要:ccTalkプロトコルを介しRS232(+ USBコンバータ)を介してコインアクセプターに接続

  • PC。
  • スイッチブロック1:(マニュアルに従って)全てOFFが、ONに設定されている第10スイッチ用
  • スイッチブロック2:私は(手動ドキュメントからの)すべてを可能にする状態を阻害設定すべてOFF
  • 私は単純なポーリングが同様に動作などのソフトウェアリビジョン、私はシリアル番号についてのコインアクセプターからのデータを取得することができるよ

(マニュアルドキュメントから)、デバイスを有効にするために、マスタ禁止ステータスを設定。唯一の問題は、挿入されたコインについての実際の情報である。私は "バッファリングされたクレジットやエラーコードを読む"(ヘッダー229)コマンドを送信します - ドキュメントによれば - 500msごとに、そして結果0(バイトが0x00に等しい)が得られる度に、結果は正しく返されます。私が持っているとき、私はコインを挿入していないように。私は、10セントコインと同様に、磨きコインを使用しようとしました。すべてのコインは「拒否」され、拒否された場合、コイン・アクセプタはそのコインを処理していないように見えます(ただ戻します)。一方、拒絶されたコインの数を得るコマンドを送信すると、再び0になります。

ここであなたに質問します。それを稼働させるために必要な追加設定について知っていますか? また、デフォルトでは(コイン受付機はPCに接続されていないが、電源が供給されているとします)、コイン受け取り機は挿入されたコインにどのように反応すべきですか?それを返すだけで(私の場合のように)、またはそれらを「処理」してから返すか、またはそれらを「銀行」に入れますか?

私はコードを掲載している点はありません。私は2つの異なるアプリケーションを作成しましたが、問題は同じです。

私はhttps://github.com/Baldanos/ccToolsの冒険をしました、2番目のアプリケーションは、Cのように書かれています:https://github.com/BitCoding/cctalk

私は違いがない他のデバイスを使用しようとしたため、デバイスが壊れているのは疑いありません。また、デバイスは新品です。

提案が参考になります。 ありがとうございます。

+1

あなたの設定は妥当で、コインタイプは実際にプロトコルの問題ではないので、私たちは通常、十分にポーリングしなかったときにはccTalkに問題がありました。しかし、500msは大丈夫だと思われる。多分私たちにいくつかのコードを見せてくれる? LuaのccTalkを使用しています。 –

+1

@KevinDTimm、ccTalkは文書化されたプロトコルです。これはハードウェアから独立しています。 ccTalkを使ったことがありますか? –

+0

以前はccTalkを使用していませんでした。ここにpythonアプリがあります:http://pastebin.com/DTyJeP0y – smg628

答えて

1

私はコメントとしてこれを書いているだろうが、私は十分に定評がありません。私はまた私のコインアクセプターが動作するように取得するための出発点としてBaldanos'ライブラリを使用していた

を。コメントで言ったように、メッセージが50バイト長になる場合、あなたが知らない、ので、私は最初

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

ser.read(50) 

を置き換えます。

しかし、私はあまりにも多くのものを変更することなく動作させることができたと言いました。私にとっては、コイン受入れ機はすでにユーロに設定されていました。あなたがコインid( "184"と1,16の範囲を送信する)を要求すると、あなたのコイン受付は何を返しますか?

関連する問題