ここではAndroid SDKで使用可能なAPIについて説明します。
MTC通信プロトコルオブジェクトを初期化するには、シリアルノードパスを渡す必要があります。モジュールがマウントされていない場合、呼び出しは失敗します。このとき、上位層はリトライ処理を実装いただく必要があります。
インターフェースの定義
public int mtcInit(String path)
parameter:
path:シリアル通信用の接続ノード。デバイスに複数のシリアルポートノードがある場合は、初期化の前に、使用するノードがSenseEngineが配置されているノードであるかどうかを確認する必要があります。例えば/dev/ttyACM0です。
return:
ホストコンピューターとSenseEngineAIModuleの間でmtcプロトコルが正常かどうかを確認します。
インターフェースの定義
public int mtcPing( )
parameter:
なし
return:
再初期化する場合は、既存のインスタンスを破棄する必要があります。これは安全な命令であり、インスタンスが初期化されずに破棄されても異常ではありません。
インターフェースの定義
public void mtcDestroy( )
parameter:
なし
return:
なし
特定のカメラからのビデオストリーム出力
インターフェースの定義
public int mtcDeviceCameraSwitch(int cammraId)
parameter:
return:
FPSのデータ幅は10から25です。
インターフェースの定義
public int mtcDeviceFpsSet (int fps)
parameter:
return:
FPSのデータ幅は10から25です。
インターフェースの定義
public int mtcDeviceFpsGet ()
parameter:
なし
return:
インターフェースの定義
public int mtcDeviceScreenSizeSet(int screenSize)
parameter:
return:
インターフェースの定義
public int mtcDeviceUvcSet(int mode)
parameter:
return:
IR フィルライトは熱を発するため、30秒間顔を検出しないと自動的にOFFになります。
インターフェースの定義
public int mtcDeviceIrLedSet(int brightness)
parameter:
return:
インターフェースの定義
public int mtcDeviceIrLedGet( )
parameter:
なし
return:
LEDライトの状態をONまたはOFFに設定します。ライト自体は電源のライトです。
インターフェースの定義
public int mtcDeviceStatusLedSet (int brightness)
return:
return:
カメラの動作状態を取得します。
インターフェース定義
public int mtcDeviceCameraStatusGet(int cameraId)
parameter:
return:
カメラ動作状態を設定します。
インターフェースの定義
public int mtcDeviceCameraStatusSet(int mode, int cameraId)
parameter:
return:
現在の感光性の値を取得します。
インターフェースの定義
public int mtcDeviceBrightnessSensorGet( )
parameter:
なし
return:
アルゴリズムを設定します。
インターフェースの定義
public static String mtcAiConfig (MREOConfig mREOConfig)
parameter:
return:
インターフェースの定義
public int mtcAiStatusGet ( )
parameter:
なし
return:
インターフェースの定義
public int mtcAiIDCountGet( )
parameter:
なし
return:
インターフェースの定義
public int mtcAiStartRecognize(int reco_mode, int face_mode)
parameter:
return:
インターフェースの定義
public int mtcAiStartVerify(int reco_mode, int face_mode, byte[ ] imageBytes, String Id)
parameter:
return:
mtcAiPauseで停止させた認証を再開します。
インターフェースの定義
public static int mtcAiResume ()
parameter:
なし
return:
インターフェースの定義
public static int mtcAiPause ( )
parameter:
なし
return:
インターフェースの定義
public int mtcAiControlAutoUploadAiInfo(int mode)
parameter:
return:
インターフェースの定義
public int mtcUploadFrameAiInfo (int mode)
parameter:
return:
インターフェースの定義
public static int mtcAiAddImageByCamera (String Id)
parameter:
return:
インターフェースの定義
public static int mtcAiAddImageFromExternal (byte[ ] imageBytes,String Id)
parameter:
return:
インターフェースの定義
public static int mtcAiDelUserImageById (String Id)
parameter:
return:
インターフェースの定義
public static int mtcAiClearAllImage ( )
parameter:
なし
return:
ベースライブラリにIDが入っているかどうか確認します。
インターフェースの定義
public static int mtcAiQueryId (String Id)
parameter:
return:
データベースへfeatureを取り込みます。
インターフェースの定義
public static int mtcAiAddFeature (byte[ ] featureDatas,String Id)
parameter:
return:
ID照会によりfeatureを取得します。 ※照会できなかった場合はnullが返却されます。
インターフェースの定義
public static byte[] mtcAiQueryFeature (String featureId)
parameter:
return:
特定の画像をライブラリ内の人物と比較することに使用し、データベース内でもっともマッチした顔データを返却します。
インターフェースの定義
public String mtcAiStaticVerify(int mode, byte[ ] imageBytes)
parameter:
return:
ファームウェアアップグレードパッケージを取り込みます。
※UART送信のバッファ制限により、アップグレードパッケージデータをセグメント単位でアップロードするには、このコマンドを周期的に呼び出す必要があります。
インターフェースの定義
public int mtcSystemUploadUpgradePackage (int position,byte [ ] data,int dataLength)
parameter:
return:
取り込んだファームウェアアップグレードパッケージを適用します。適用が成功するとデバイスは再起動します。
インターフェースの定義
public int mtcSystemApplyUpgradePackage (String fileMD5)
parameter:
return:
再起動モードが設定されます。 ※factoryモードを選択すると、カメラ再起動後にこのSDKでカメラに接続することはできません。
インターフェースの定義
public int mtcSystemReboot(int mode)
parameter:
return:
インターフェースの定義
public String mtcGetDeviceSN( )
parameter:
なし
return
インターフェースの定義
public String mtcSystemVersionInfoGet( )
parameter:
なし
return:
コールバックインターフェースを登録すると、認証結果がリアルタイムで返送されます。カスタムインターフェイス関数で独自の処理ロジックを実装できます。なお、認証結果が失われる可能性があるためコールバックの処理操作に時間がかかりすぎないように注意してください。
インターフェースの定義
public void setReceiveCallback(IReceiveCallback callback)
parameter:
コールバックに関するインターフェースプロトタイプは以下の通りです。
CAMERAをホストコンピューターに接続した後、デバイス自体をシリアルデバイスノードとして認証する必要があります。接続先となるホストコンピューターはACMをサポートする必要があります。デバイスマウント後のデフォルトノードパスは/ dev / ttyACM0です。アクセス後にデバイスが通信できない場合は、正常にマウントされているか、ノードに読み取り/書き込み/実行権限があるかどうかを確認してください。
以下は確認するための実行コマンドの一例です。
Status Code
Remark
0
成功
1
未初期化
-2
繰り返し不可能な初期化
-3
シリアルノードを開くことができません
-4
シリアルノード通信モードを設定できません
-5
シリアルノードのプロパティを設定できません
Status Code
Remark
0
成功
-8
返却された値が無効
-13
レスポンスタイムアウト
Name
Status Code
Remark
cammraId
0
RGBカメラ
1
IRカメラ
Status Code
Remark
0
成功
1
実行失敗
-1
無効な命令
-13
レスポンスタイムアウト
Name
Remark
fps
ビデオストリームのフレームレート(fps)は10~25
Status Code
Remark
0
成功
-1
無効な命令
-13
レスポンスタイムアウト
1
実行失敗
Status Code
Remark
0
成功
-13
レスポンスタイムアウト
1
実行失敗
Name
Remark
Screen size
1
360p
0
720p
Status Code
Remark
0
成功
1
実行失敗
-1
無効な命令
-13
レスポンスタイムアウト
Name
Remark
mode
0 (Turn on)
ONにします
1 (Turn off)
OFFにします
Status Code
Remark
0
成功
1
実行失敗
-1
無効な命令
-13
レスポンスタイムアウト
Name
Remark
brightness
0~200
0はオフです。デフォルト設定は200で、30秒以内に顔を検出しないと自動的にOFFになります
Status Code
Remark
0
成功
1
実行失敗
-1
無効な命令
-13
レスポンスタイムアウト
Status Code
Remark
> 0
成功
-14
実行失敗
-13
レスポンスタイムアウト
Name
Remark
brightness
0(Turn off)
ONにします
1(Turn on)
OFFにします
Status Code
Remark
0
成功
1
実行失敗
-1
無効な命令
Status Code
Remark
0
1
実行失敗
-1
無効な命令
-13
レスポンスタイムアウト
Name
Remark
cameraId
0
RGBカメラ
1
IRカメラ
Status Code
Remark
0
OFFにします
1
ONにします
-14
実行失敗
-1
無効な命令
-13
レスポンスタイムアウト
Name
Remark
cameraId
0
RGBカメラ
1
IRカメラ
mode
0
カメラをONにします
1
カメラをOFFにします
Status Code
Remark
0
1
実行失敗
-1
無効な命令
-13
レスポンスタイムアウト
Status Code
Remark
> 0
成功
-14
実行失敗
-1
無効な命令
-13
レスポンスタイムアウト
Name
Remark
mREOConfig
アルゴリズム設定パラメーター
Status Code
Remark
0
成功
-14
実行失敗
-1
無効な命令
-13
レスポンスタイムアウト
Status Code
Remark
0
ONにします
1
OFFにします
-1
無効な命令
-13
レスポンスタイムアウト
Status Code
Remark
>= 0
成功
-14
実行失敗
-1
無効な命令
-13
レスポンスタイムアウト
Name
Remark
reco_mode
0
認証
1
認証&生体検知
face_mode
0
一つの顔
1
複数の顔
Status Code
Remark
0
成功
1
実行失敗
-1
無効な命令
-13
レスポンスタイムアウト
Name
Remark
reco_mode
0
認証
1
認証&生体検知
face_mode
0
一つの顔
1
複数の顔
imageBytes
画像データ
※画像データのサイズは4MB
Id
画像ID
※32bytesが上限
Status Code
Remark
0
成功
1
実行失敗
-1
無効な命令
-13
レスポンスタイムアウト
Status Code
Remark
0
成功
1
実行失敗
-1
無効な命令
-13
レスポンスタイムアウト
Status Code
Remark
0
成功
1
実行失敗
-1
無効な命令
-13
レスポンスタイムアウト
Name
Remark
mode
0
認証機能を含む自動レポート/認証画像/ライブラリ内の人物のfeatureをONにします
1
自動レポートをOFFにします
2
認証機能を含む自動レポート/認証画像をONにします
3
認証機能を含む自動レポート/ライブラリ内の人物のfeatureをONにします
4
認証機能を含む自動レポートをONにします
Status Code
Remark
0
成功
1
実行失敗
-1
無効な命令
-13
レスポンスタイムアウト
Name
Remark
mode
0 (Turn on)
ONにします
1 (Turn off)
OFFにします
Status Code
Remark
0
成功
1
実行失敗
-1
無効な命令
-13
レスポンスタイムアウト
Name
Remark
Id
画像ID
※最大32文字
Status Code
Remark
0
成功
0x01
顔情報無し
0x02
複数の顔情報
0x03
顔サイズが小さすぎます
0x04
アラインスコアが小さすぎます
0x05
横顔です
0x06
顔情報が曖昧すぎます
0x07
顔との距離が離れています
0x08
初期化失敗
0x09
不正なパラメーターの入力
0x0a
featureのファイルがありません
0x0b
暗号化チップエラー
0x0c
証明書の検証に失敗しました
0x0f
ライブラリ内のIDの数が上限に達しました
-1001
IDがnullです
-1002
IDの長さが最大を超えました
-1
無効な命令
-13
レスポンスタイムアウト
Name
Remark
imageBytes
画像データ
※画像データのサイズは4MB
Id
画像ID
※32bytesが上限
Status Code
Remark
0
成功
0x01
顔情報無し
0x02
複数の顔情報
0x03
顔サイズが小さすぎます
0x04
アラインスコアが小さすぎます
0x05
横顔です
0x06
顔情報が曖昧すぎます
0x07
顔との距離が離れています
0x08
初期化失敗
0x09
不正なパラメーターの入力
0x0a
featureのファイルがありません
0x0b
暗号化チップエラー
0x0c
証明書の検証に失敗しました
0x0f
ライブラリ内のIDの数が上限に達しました
-1001
IDがnullです
-1002
IDの長さが最大を超えました
-1
無効な命令
-13
レスポンスタイムアウト
Name
Remark
Id
画像ID
※32bytesが上限
Status Code
Remark
0
成功
1
実行失敗
-1
無効な命令
-13
レスポンスタイムアウト
-1001
IDがnullです
-1002
IDの長さが最大を超えました
Status Code
Remark
0
成功
1
実行失敗
-1
無効な命令
-13
レスポンスタイムアウト
Name
Remark
Id
画像ID
※32bytesが上限
Status Code
Remark
0
IDが存在します
1
IDが存在しません
2
照会失敗
-13
レスポンスタイムアウト
-1001
IDがnullです
-1002
IDの長さが最大を超えました
Name
Remark
featureDatas
featuredデータ
※featureの最大データサイズは4MB
Id
画像ID
※32bytesが上限
Status Code
Remark
0
成功
1
実行失敗
-1
無効な命令
-13
レスポンスタイムアウト
-1001
IDがnull
-1002
IDの長さが最大を超えました
-1003
featureデータがありません
-1004
featureデータが大きすぎます
-1005
IDに許可されていない文字が含まれています
Name
Remark
featureId
feature ID
※32bytesが上限
Status Code
Remark
null以外
成功
null
失敗
Name
Remark
mode
0
比較用にカメラで画像をキャプチャします
1
比較用にホストコンピューターから画像を取り込みます
imageBytes
画像データのサイズ
※modeが1の場合は画像サイズの上限は4MB、それ以外の場合はnull
Status Code
Remark
null以外
成功
null
失敗
Name
Remark
position
0から始まるファイルセグメントの位置を読み取ります
data
読み取ったアップグレードパッケージデータ
dataLength
データの長さ
※最大長は51200です
Status Code
Remark
0
成功
1
実行失敗
-1
無効な命令
-13
レスポンスタイムアウト
Name
Remark
fileMD5
アップグレードされたMD5チェック値
Status Code
Remark
0
成功
1
実行失敗
-1
無効な命令
-13
レスポンスタイムアウト
Name
Remark
mode
0
直接再起動
1
USBメモリによるユーザーモードで再起動
2
USBメモリ以外によるユーザーモードで再起動
3
USBメモリによるファクトリーモードで再起動
4
USBメモリ以外によるファクトリーモードで再起動
Status Code
Remark
0
成功
1
実行失敗
-13
レスポンスタイムアウト
Status Code
Remark
null以外
成功
null
失敗
Status Code
Remark
null以外
成功
null
失敗
Name
Remark
callback
登録されたコールバック関数