O SDK da facePrint se encontra na sua segunda versão e, portanto, contemplamos duas formas de conexão, sendo que mantivemos a primeira forma.
Esta, que será apresentada
a seguir, realiza a comunicação direta com o dispositivo facePrint, sendo necessário informar os parâmetros: Endereço IP e Porta da facePrint:
//Instância do objeto
FacePrintConnection device = new FacePrintConnection IPAddress.Parse("192.168.0.1"),2609)
//Realiza o cadastro do usuário na facePrint
//@param: userId , printerId
device.RegisterUser("1","8xxx25365");
//Realiza a deleção do usuário na facePrint
//@param: userId , printerId
device.DeleteUser("1","8xxx25365");
Nesta versão, possuímos duas formas de conexão:
//Evento que monitora a rede para encontrar um novo dispositivo
FacePrintService.OnFoundNewDevice += NewDevice;
//Evento que monitora a rede para detectar se um dispositivo saiu da rede
FacePrintService.OnLostDevice += LostDevice;
Os métodos NewDevice e LostDevice podem ser implementados para registrar os dispositivos em uma lista de List<FacePrintDevice> listFoundDevices. Ex.:
void NewDevice(FacePrintDevice device)
{
FacePrintDevices.Add(device);
}
void LostDevice(FacePrintDevice device)
{
FacePrintDevices.RemoveAll(a => a.SerialNumber == device.SerialNumber);
}
FacePrintDevice device = listFoundDevices.Where(a => a.SerialNumber == "xxxxxxxxx").First();
Caso não utilize esses métodos para monitorar, siga o seguinte padrão:
//Inicie o serviço de monitoramento
FacePrintService.Init();
//Realiza a busca do dispositivo na lista de dispositivos encontrados a partir da instância FacePrintService
FacePrintDevice device = FacePrintService.Instance.FoundDevices.Where(a => a.SerialNumber == "xxxxxxxxx").First();
Para a comunicação broadcast, deve-se setar o serial e a senha de comunicação com o dispositivo.
Para realizar a comunicação direta, deve-se criar um objeto do tipo FacePrintDevice:
FacePrintDevice printModel = new FacePrintDevice
{
IPAddress = 123.456.789.000,
Port = 111111
SerialNumber = “Serial”,
Password = “Password”,
ConnectionType = ConnectionType.Direct
};
//Este objeto FacePrintDevice deverá ser utilizado para criar uma conexão com o dispositivo através do FacePrintConnection:
FacePrintConnection device = new FacePrintConnection(printModel);
Nesta versão implementamos duas formas de utilização das funcionalidades disponíveis em nosso SDK: comunicação somente com a facePrint (conforme apresentado na comunicação com versão 1) e comunicação com facePrint e com o faceAccess:
Para criar as instâncias dos objetos da interface Athena, veja nossa documentação do SDK.
//Instancia do objeto faceAccess
Device faceAccess = new Device();
//Instancia do objeto UserData, contendo as informações do usuário
UserData user = new UserData();
//Utilizando o dispositivo recuperado da lista de dispositivos encontrados:
//Realiza o cadastro do usuário tanto na facePrint quanto no faceAccess
device.RegisterUser(faceAccess, user);
//Realiza a exclusão do usuário tanto na facePrint quanto no faceAccess
device.DeleteUser(faceAccess, "userId");
//Nesta versão também foi inclusa a função de realizar o reset de fábrica da faceprint.
device.FactoryReset();
//Nesta versão também foi incluída a atualização de Firmware.
device.SendFirmwareUpdate(“FIRMWARE_PATH”);
//Retorna a lista de usuários cadastrados na facePrint.
List<String> listaUsuarios = device.ReadUsers();
//Nesta versão também foi incluídos os métodos de configuração de porta, ativação e inativação do modo de comunicação broadcast
//Habilita a comunicação broadcast
device.EnableBroadCast();
//Desabilita a comunicação broadcast
device.DisableBroadCast();
/Altera a porta de comunicação com o dispositivo
device.ChangePort(PORTA);
Para baixar a última versão do SDK FacePrint clique aqui.
Disponibilizamos também o nosso Sample para realizar os devidos testes. Clique aqui para baixar.