【Raspberry Pi】指紋センサ ZFM-20
【 2020/06/27 追記】
Buster 版の記事を公開しました!
rasp.hateblo.jp
以下は、wheezy 版の記事です。
* * * * * * * * * *
Raspberry Piで指紋センサ「ZFM-20」を使うために2日間ググりまくったのでメモ。
1, ライブラリのインストール
↓海外の方がArduinoのライブラリをpythonで書き換えているのでそれを使用します。
Sicherheitskritisch | Fingerprint sensor for Raspberry Pi and Debian Linux (Update 8)
~$ echo "deb http://apt.pm-codeworks.de wheezy main" | sudo tee -a /etc/apt/sources.list ~$ wget -O - http://apt.pm-codeworks.de/pm-codeworks.de.gpg.key | sudo apt-key add - ~$ sudo apt-get update ~$ sudo apt-get install python-fingerprint ~$ sudo usermod -a -G dialout pi ~$ sudo reboot
2, 指紋センサをRaspberry Piに繋げる
上のリンク先では、USB-TTL変換モジュールを使って、指紋センサと接続していますが、同様のやり方では上手くいかなかったので、Raspberry Piと指紋センサを直接繋げることにしました。
- 赤 5V ーーーーー GPIO 5V
- 緑 TX ーーーーー GPIO15 (RX)
- 白 RX ーーーーー GPIO14 (TX)
- 黒 GND ーーーーー GPIO GND
3, Raspberry Pi UART 設定
Raspberry Pi側で、UARTによるシリアル通信を可能にするための設定を行います。
↓参考にしたのは下記のブログ
備忘録 Raspberry PiでUART、シリアル通信
~$ sudo vi /boot/cmdline.txt # 下記の通りに変更 dwc_otg.lpm_enable=0 rpitestmode=1 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 rootwait
~$ sudo vi /etc/inittab #下記をコメントアウト #T0:23:respawn:/sbin/getty -L ttyAMA0 115200 vt100
変更できたら再起動してください。
4, ライブラリのプログラム変更
・参考
pi 2 - Unable to integrate Fingerprint sensor in Raspberry Pi2 - Raspberry Pi Stack Exchange
~$ cd /usr/share/doc/python-fingerprint/examples/
~$ sudo vi example_index.py
'/dev/ttyUSB0'の部分を'/dev/ttyAMA0'に変更します。
# f = PyFingerprint('/dev/ttyUSB0', 57600, 0xFFFFFFFF, 0x00000000) f = PyFingerprint('/dev/ttyAMA0', 57600, 0xFFFFFFFF, 0x00000000)
5, プログラムの実行
python2 ./example_index.py
下記のように出力されたら成功!
Currently stored templates: 0 Please enter the index page (0, 1, 2, 3) you want to see:
他のプログラムも同じように変更をすれば、実行可能になります。