1

[ 解決済み] 以下のアップデートでの解決策

解決策を探してみましたが、現時点ではどこに問い合わせればよいかわかりません。誰かが次のことで私を助けることができれば。

Raspberry Pi Zero をGT-511C3 指紋スキャナーに接続していますが、応答を取得した後、常に同じエラー コードが表示されます。問題が自分のコードにあるのか、デバイスにあるのかはわかりません。この時点では、デバッグ方法もわかりません。

これが私がすることです:

import wiringpi as wp
from struct import *

signal = pack('<BBHIH', 0x55, 0xAA, 0x01, 0x00, 0x03)
chk = sum(map(ord, list(signal)))
chk = map(chr, [chk % 256, chk / 256])
signal += chk[0] + chk[1]

wp.wiringPiSetup()
serial = wp.serialOpen('/dev/ttyAMA0', 9600)
wp.serialPuts(serial, signal)

res = []
while True:
    ack = wp.serialGetchar(serial)
    if ack == -0x01:
        break
    res.append(ack)
print res

応答があります: ['0x55', '0xaa', '0x01', '0x00', '0x0f', '0x10', '0x00', '0x00', '0x31', '0x00', '0x50', '0x01']。構造の内訳は取扱説明書の6ページに記載されていますが、簡単に言うとコメント付きのNACK回答です。DEV_ERRORここで何がうまくいかないのかわかりません。

何か案は?

更新 1:

ボードをArduino Unoで動作させましたが、R-Piには以前と同じ問題があり、常に受信NACK_DEV_ERRしています。問題は R-Pi または私のコードにあると言って差し支えないと思います。更新します...

更新 2:

問題は、ルーチンのリトルエンディアンとビッグエンディアンの組み合わせであったと思いますpath-一部のバイトがスワップされました(チェックサムを含む)。なぜ間違ったチェックサムやコマンド コードが を返すのかわかりませんNACK_DEV_ERR。もっと調べてみます。

更新 3:

問題は間違いなくコマンド シーケンスです。どうやら、間違ったチェックサム、間違ったコマンド、間違ったパラメーターが返される可能性NACK_DEV_ERRがあります-なぜ特定のエラーがないのかわかりません。また、エラー コードには他にも多くの矛盾があることに気付きました。

興味のある方は、作業コードがGitHubにあります。

4

0 に答える 0