13 May 2013
We’ve recently been working on PsiLoc, a rather exciting biometrics project with Perception Sensors and Instrumentation. We didn’t write the face recognition code ourselves - we simply selected a third-party library based upon cost, ease of use and performance - but rather addressed the problem of converting some cool components into a fully functional device. The interesting challenge was to make everything just work out of the box without needing configuration and also to make the whole system - including administration and enrollment - work without needing any screens or input devices beyond the prox card reader built into the units. We’re pretty proud of the results, which we named Qui during the development cycle.
An aim for PsiLoc was always to make it useful either as a standalone unit or as a component in a larger system without compromising data security. To achieve the latter we designed Qui to publish interesting events over websockets. Together with a REST service which allows you to request additional information, it’s possible to hook Qui into whatever you like; simply watch for the events you’re interested in (successful verification, for example) and do whatever you like with them. Qui doesn’t allow you to inject data to it’s own store, though: If you want to modify a user or enrol someone you need to physically use PsiLoc with the appropriate control cards; it’s all inherently secured through the same biometrics that you’re using for day-to-day use.
Qui publishes events over a log channel with a fairly simple semicolon delimited format. Rather than just document this, we thought it’d be most useful to systems integrators to provide a reference implementation and a handy API. Quiche is the result - an open source C# API which makes integration easy. The main Quiche readme documents the underlying protocol, so if you’re using a different language you can roll your own solution.
As well as consuming the published information, Quiche provides an easy way to read and write prox cards using the USB prox device which Perception also provides.
Again, the data format on the cards is fully documented so if you want to roll your own solution you can.
QuiRing, included in the Quiche project, is an example application showing how to use Quiche to author cards, monitor and log events fired by Qui and maintain a local cache of interesting data. For small sites, QuiRing is probably all you’re going to need. It’s cross-platform, so should run on whatever OS you need it to and, like the rest of Quiche, is completely free to use for whatever you like.
If you have any issues with Quiche, or really need it to do something else, file tickets over on Github. To get hold of a development kit, including a PsiLoc terminal and card reader, or for full systems for deployment contact either Perception or their local distributor.
Quiche is built on some excellent open source software which we heartily recommend:
Qui also uses: