I happen to have an old RFID reader from Touchatag. It's pretty old already but it seems to work fine. Unfortunately, Touchatag has stopped their support for this device and besides, it required an internet connection which doesn't make it a very practical solution...
What I would like to do is to use this device without the need for an internet connection and inside an application that's written in C#. Don't know what this app is going to do, but right now I'm investigating all the options that are available for this device. So, does anyone know a good C# library and other sources that allow me to use this device?
(Btw, this is purely experimental.)
I don't know of any C# libraries of hand, but you can check out either:
IOTOPE
Java project that includes a low level library and a more high-level interface to the reader. You can probably adapt it to provide an interface to your C# application.
See http://blog.iotope.com/node/quick-starter/
libnfc
Low level NFC library. Mostly targeted for unix like systems, but could be put to work on windows as well.
See https://code.google.com/p/libnfc/
If you're experimenting with RFID, rather than works the bugs out of interfacing with a custom reader, you can buy a cheap USB RFID reader for around 10 £/$/€
A lot of them simply act like a keyboard and 'type' characters into your application (some even add a carriage return which is handy)
Related
I'm developping a SmartDevice application (Pocket PC 2003 template) in C# for a device with Windows Mobile 6.1. I need to use the camera of this device (photos, video); to do this work i tried using the CameraCaptureDialog class but it does not work for Pocket PC applications.
So, I documented on the internet and found that I probably refer to DirectShow API, but the problem is that I do not know where to start because I can't found a working/correct example.
My questions:
Is this the right way? Are there alternatives?
Where I can find a very good example that shows how to do this work?
You may try directshowbetcf: http://alexmogurenko.com/blog/directshownetcf/ if you really want to go with DirectShow and NetCF.
There's plenty of examples of directshow on the web. There is a site dedicated to converting the API over to C# which makes it a lot easier, maybe this was it http://directshownet.sourceforge.net/about.html. I struggled with DirectShow until I read the book "programming directshow" from microsoft press. About a third of that way through that book it all seemed incredibly easy and I was able to complete what I wanted. In the end it's a lot like referencing any library and using the classes from within that library. The added difficulty is that you need to add wrappers because they are all COM objects but that has been done for you.
This might be useful to you to understand the DirectShow technology. Basically gives a start to DirctShow and explains some of the important points. But its C++ not C#. Hope this help
Basic Video Capture
DirectShow is the video capture API in Windows Mobile 6. There is a Video Capture Filter there and all in all things are designed pretty much the same way they are in Windows.
The problem is that however that this is a native API, and not just in Windows Mobile. To develop in C# you need some bindings and they are missing. On desktop there is DirectShow.NET, which is a missing piece, but it does not seem to fit well for CE. Yet you still need to fill this gap in Windows Mobile.
To work it around you have a few ways, the first would be to go through DirectShow.NET and update it appropriately to start working on your device, strip parts missing in mobile OS etc. This would get you a twin for DS.NET but for mobile operating system.
Another option would be to do some C++ development and implement the minimal sufficient feature set in that domain, exposing the component via COM. Then you will reference this from managed code and things will get connected together. And another obvious option would be to use a third party solution which already does one of the mentioned above.
My project
I am working on a small program which has to set an alarm if the user locks the computer without removing the Smart Card from the computer.
I am using C# with WPF and .Net 4.0 and my smartcard is version V4.2C
My problem
I have all the functionality to work but I simply don't know how to detect if the Smart Card is in the Smart Card Reader.
I have tried to search on google but with no result so I hope some of you can help me.
Usually you would want to use the PC/SC framework for talking with a smart card, but it can be quite some work to implement from scratch yourself.
I would recommend to look into some existing project and get some ideas from there, as there are many projects that implements PC/SC in .NET.
Take this one from CodeProject for example.
Well, if I google for "C# smartcard" the first link which pops up is a code project article. It appears that the project provides events for detection of smartcard insertion/removal which is probably what you want.
Have a look at http://code.google.com/p/pcsc-sharp/
Works very well for me on 32bit and 64bit platforms, and supports mono too.
Besides the use of PC/SC to detect the presence of the card , from your description that doesn't seem very secure if the presence of the card in the reader is the sole condition for (un?)locking the PC without alarm, unless you scan periodically the card for some randomly generated data or some similar process which would ensure that the card isn't present since onbly the card could generate the right random sequence?
I am planning to verify the user input for my application using the biometric input. I did some research on net and came up with following options of biometric input:
Fingerprint
Facial Recognition
Retinal Scan
Iris Scan
Voice Recognition
Signature Verification
Out of which I felt the fingerprint as most suitable options. But the problem with this is the API of the fingerprint device will vary with its hardware. So most probably I think I will need to code against the multiple devices API, which I don't find friendly.
I intend to do the programming stuffs in C#. Is there any way out of this. As I am new to this I'm clueless. What is the way to attack this problem and how vast is the project scope and what should be my approach for this project.
The problem is not unique to fingerprint readers, it will apply to all other options in your list and many other peripherals. In fact a standard API is the exception.
So you will have to look for somebody selling a library for this or writing your own (COM and/or Interop). And rolling your own will usually not be small or simple project.
Your program will have a list of supported devices, excluding the rest.
A colleague of mine was tasked with building a biometric based staff clock-in system for the company we both worked for. We, IT, choose Fingerprints as the biometric source. He researched and used this library from Bayometric - Griaule Fingerprint SDK along with some cheap MS print readers. From what he showed me and talked about at the time, does lead me to believe that this .net library had a nice API and was easy to work with.
The biometric system is still being used today, some 5 years later.
I work in the biometric field, and I use C# for a lot of the fingerprint stuff I do. My company had to develop a fingerprint device abstraction library for this very reason. Consider that all fingerprint scanners only REALLY need one call: getImage. Knowing this, my company wrote a library which initializes and sets up each device, creates a generic wrapper, assigns a unique ID, and throws it into a big list that you can enumerate over.
Then from the C# side all you have to do is "pick" a device (all you have to go on is a unique ID and maybe a manufacturer) and then use it. The image data that comes back has to be decided on in advance so that you know what you're going to get every time
The main problem with this approach is that a lot of devices these days have various gimmicks (e.g. programmable flashing lights), and by abstracting the devices away you lost the ability to access these special abilities. Furthermore, some devices actually return multiple channels of data (various spectrums of light for example) and you have to throw away all but one channel so that the application can remain device agnostic, which is a hard decision.
Finally keep this in mind: if you do minutiae extraction, the device you use unfortunately WILL impact which minutiae are detected. Some devices are "tuned" for certain algorithms, and so enrolling with device A and matching with device B may not work at all despite having picture-perfect fingerprints.
There is a similar question here: finger print reader for .net windows forms / WPF or silverlight client
Check the links in the answers
I'm looking for a library for conference a/v streaming to a server, which multicasts to all other clients. I've looked at SIP and openh323, and both seem too specialized for voip telephony.
I want the app to be a cross platform Silverlight application (mac and windows), so I don't think I can use DirectSound, right?
Thanks in advance.
You may be mixing apples and oranges in your question. DirectSound provides an API for accessing sound cards; H.323 and SIP are standards for making a call out.
Silverlight 4 natively provides a couple of simplified APIs that are roughly equivalent to DirectSound, so that you can access the microphone, sound card and webcams. See http://msdn.microsoft.com/en-us/library/ff602282(VS.95).aspx for some details.
But once you've got the sound, you still need to encode it, transmit it, mix it, distribute it, and then receive it. That's where it gets complicated. Flash has support for all this natively; Silverlight doesn't. The best open source implementation right now for doing this was put together by SocketCoder and is available on CodePlex, but it uses a proprietary signaling/streaming protocol, a proprietary and very inefficient video codec, and a proprietary media server.
From what I can tell, the best option for doing what you want in Silverlight is a closed-source solution provided by StreamCoders. It's not open-source, but it supports a reasonable set of open standards, which means that you'd probably be able to use a third-party open-source media server. You'd want to test to make sure that it's what you need, of course.
Alternatively, you can try your hand at porting any of the various open-source solutions to C#. I've done this with the Speex pre-processor: it's complicated, but not as difficult as you'd think. You could presumably do something similar with openH323 and the various C-based codecs that are out there. You might even try your hand at modifying the Silverlight RTMP implementation by FluorineFx (http://www.fluorinefx.com/) to do what you need to do. None of this is likely to be simple, of course.
We are designing a solution that will be used on an internal network.
One of the requirements is to have an extra level of security beyond a simple user name and password.
Does anyone have information about how to implement a finger print reader in a .net application?
We have Thinkpads with a finger print reader.
you need an sdk (software development kit) to go with your hardware. Add that to your project references and you can communicate with the device.
It has to come from the hardware vendor.
I'm not sure which reader the Thinkpad has, so I can't give you specific information.
Have a look at the BioApi. They have a c# wrapper and if your device is BioApi compliant, you should be able to get it running. (Note, I had to modify the wrapper, but it is a fine base.)
The API can be found here: API
Also one can be found here: Not sure on compatibility