M5StickC_FINGER
指紋センサF1020SCを内蔵するStickC用指紋認証モジュールです。
モジュール単体で指紋の登録、削除、一致確認ができ、セキュリティ向上に役立ちます。

wired(obniz, {tx, rx, gnd})
obnizデバイスと接続します。
もしM5StickCを使用している場合、ピン指定を省略することができます。
// JavaScript Examples
var sensor = obniz.wired("M5StickC_FINGER");
その他のデバイスの場合は、ux,rxを指定してください
| name | type | required | default | description | 
|---|---|---|---|---|
| tx | number(obniz Board io) | 
yes | uartのtxとなる端子です | |
| rx | number(obniz Board io) | 
yes | uartのrxとなる端子です | |
| gnd | number(obniz Board io) | 
no | gndとなる端子です | 
// JavaScript Examples
var sensor = obniz.wired("M5StickC_FINGER", {tx:0, rx:26});
以下の一部の関数は返り値としてACKを返します。ACKには以下の種類があります。
ACK |内容 |意味
---|---|---SUCCESS |0x00 |実行に成功しましたFULL |0x04 |内部データが満杯ですNOUSER |0x05 |合致する指紋データが存在しませんUSER_EXIST |0x07 |既に登録済みの指紋ですTIMEOUT |0x08 |通信がタイムアウトしました
これらの値には以下のようにアクセスできます。
// JavaScript Examples
var sensor = obniz.wired("M5StickC_FINGER", {tx:0, rx:26});
console.log(sensor.ack.SUCCESS); // 0
[await] getUserNumWait()
モジュールに登録されている指紋の数を一度だけ取得します。
取得に失敗した際は255(0xFF)が返却されます。  
// JavaScript Examples
var sensor = obniz.wired("M5StickC_FINGER", {tx:0, rx:26});
var userNum = await sensor.getUserNumWait();
console.log("userNum: " + userNum);
[await] addUserWait(userNum, userPermission)
センサで読み取った指紋をモジュールに追加します。
指紋の有効性を高めるため、関数内部で3度指紋を読み取ります。そのため、実行に時間がかかります。userNumにはgetUserNumWait()で取得した値を渡してください。userPermissionには1~3の整数を入れてください。ユーザ権限としてモジュール内に登録されますが、数値の意味は開発者が定義します。
返り値はACKのうちSUCCESS、TIMEOUTのいずれかです。
// JavaScript Examples
var sensor = obniz.wired("M5StickC_FINGER", {tx:0, rx:26});
var userNum = await sensor.getUserNumWait();
console.log("userNum: " + userNum);
var res = await sensor.addUserWait(userNum, 1);
if (res == sensor.ack.SUCCESS) {
    console.log("successfully registered.")
}
[await] deleteUserWait(userNum)
指定した指紋をモジュールから削除します。
引数userNumによって指紋を指定してください。
成功するとACKSUCCESSを返します。
// JavaScript Examples
var sensor = obniz.wired("M5StickC_FINGER", {tx:0, rx:26});
await sensor.deleteUserWait(0);
if (res == sensor.ack.SUCCESS) {
    console.log("fingerprint " + 0 + " was successfully deleted.");
}
[await] deleteAllUserWait()
モジュールに登録してある全ての指紋を削除します。
成功するとACKSUCCESSを返します。
// JavaScript Examples
var sensor = obniz.wired("M5StickC_FINGER", {tx:0, rx:26});
await sensor.deleteAllUserWait();
if (res == sensor.ack.SUCCESS) {
    console.log("all fingerprints were successfully deleted.");
}
[await] compareFingerWait()
センサで読み取った指紋がモジュールに登録してある指紋のいずれかに合致するかどうか比べます。
合致する指紋があった場合、ユーザ権限1~3を返します。
合致する指紋がなかった場合はACKのうちNOUSER、TIMEOUTのいずれかを返します。
// JavaScript Examples
var sensor = obniz.wired("M5StickC_FINGER", {tx:0, rx:26});
var res = await compareFingerWait();
if (res == 1 || res == 2 || res == 3) {
    console.log("you are registered user. welcome!");
}
[await] getUserPermissionWait(userNum)
指定した指紋のユーザ権限を取得します。
引数userNUmによって指紋を指定してください。
ユーザ権限1~3を返します。  
// JavaScript Examples
var sensor = obniz.wired("M5StickC_FINGER", {tx:0, rx:26});
var perm = await getUserPermissionWait(0)
console.log("user permission: " + perm);
[await] setAddModeWait(mode)
このモジュールには2つの指紋追加モードがあります。
同じ指紋を何度でも追加できる「重複許可モード(0)」と、重複した指紋の追加を禁止する「重複禁止モード(1)」の2つです。デフォルトでは重複禁止モードになっています。
この関数では、mode引数に0か1を指定することで指紋追加モードを変更できます。
成功するとACKSUCCESSを返します。
// JavaScript Examples
var sensor = obniz.wired("M5StickC_FINGER", {tx:0, rx:26});
sensor.setAddModeWait(0);
[await] readAddModeWait()
現在の指紋追加モードを取得できます。
重複許可モードを表す0か、重複禁止モードを表す1を返します。
// JavaScript Examples
var sensor = obniz.wired("M5StickC_FINGER", {tx:0, rx:26});
var mode = sensor.readAddModeWait();
console.log("mode: " + mode);
[await] setSecurityLevelWait(level)
このモジュールには0~9のセキュリティレベルが存在し、値が大きいほど指紋の比較が厳密になります。デフォルトレベルは5です。
この関数では、level引数に0~9の整数を指定することでセキュリティレベルを変更できます。
成功するとACKSUCCESSを返します。
// JavaScript Examples
var sensor = obniz.wired("M5StickC_FINGER", {tx:0, rx:26});
sensor.setSecurityLevel(6);
[await] readSecurityLevelWait()
現在のセキュリティレベルを取得できます。0~9の整数を返します。
// JavaScript Examples
var sensor = obniz.wired("M5StickC_FINGER", {tx:0, rx:26});
var level = sensor.readSecurityLevelWait();
console.log("security level: " + level);
[await] sleepWait()
モジュールをスリープ状態にします。
成功するとACKSUCCESSを返します。  
// JavaScript Examples
var sensor = obniz.wired("M5StickC_FINGER", {tx:0, rx:26});
sensor.sleepWait();
                      Supported from: obniz.js 3.5.0

                        
                                    
                                    
                                        