imei extraction through USB - usb

Is there a way programmatically (using C++ or another language) to extract IMEI through USB? We need it instead of typing the IMEI number manually.

Related

Registering a network video stream as a virtual camera

So I've tried to tackle this problem for the last couple of weeks but come to a bit of a standstill. I'm trying to registering an RTSP stream from an IP address as a virtual webcam for use in another application (could be skype or similar). What I need is for my computer to add a virtual webcam to its device list. This should preferably be done through a C# script as devices could be added dynamically through a .NET program.
I have found similar questions on StackOverflow, but many of these are outdated, use Linux, or receives another stream format/protocol.
My approach so far has been using DirectShow filters and so far that has worked to a degree. Using Graphedit I can see my incoming stream by using an RTSP source filter. However, there are some problems:
The source filter was a trial, the full version is paid and pretty expensive
I have no experience with DirectShow filter programming
I only showed the stream through GraphEdit, there was no virtual driver registered so e.g Skype couldn't use the stream
So I guess my question boils down to:
Is my approach with DirectShow the only way to acheive what I'd like?
Is a filter the correct approach to use if Windows should list the stream as a webcam device?
Is vcam still the best example to look at to implement something like this?
Does any one know of similar, open source programs that acheive what I describe?
Anyway, I appreciate any help I can get!
Thanks.
The diagram below explains the applicability of virtual cameras:
You are trying to somehow mount a lower green or blue box so that it reads data from RTSP.
Note that more and more applications like new Skype are Media Foundation based (top right box on the diagram) and your filter based source is less and less applicable.
Creating a virtual camera which is recognized by various software assumes you are supplying a driver (red box). Even though such packages exist, I am not aware of any open source or even free which let you quickly start on this route.
DirectShow filter based sources (and you are yet to implement RTSP client there) will only be see by DirectShow based applications of the same bitness.

How can I debug a USB HID device that does not come with a driver?

I have a single button USB controller, but it did not come with any drivers (simply a Windows program that communicates with it directly for its intended purpose).
USB Fidget
Vendor ID: 0x1d34
Product ID: 0x0001
Product name: DL100A Dream Cheeky Generic Controller
So, I would like to be able to read whether or not the button is being pressed. My main development environment is Mac, but I'd like the solution to run on Windows too. So ideally a cross platform solution would be best.
I can find pieces of code for other devices by the same manufacturer but there are differences in Product ID so the code does not work and I lack understanding to change anything other than the vendor/product.
As far as I understand it I need to poll the USB device with a feature request packet?
Is there some software I can use to "watch" the USB device so I can see what is actually happening when I press the button? If not, how would I go about writing some myself?
basically on MacOs very huge amount of usb devices work through IOUserClient. This standart class provide to user mode programs ability to control device without kernel mode driver (by using usermode part of IOKit framework). To sniff for usb packets you can use USB Prober, start from this article http://developer.apple.com/library/mac/#qa/qa1370/_index.html
On windows standart way - standart USB driver + standart HID driver, no need in specific vendor driver if they not develop some additional functionality over standart. You can use any of commercial or freeware tools to sniff usb packets - like this one http://www.hhdsoftware.com/usb-monitor
I don't know of any cross platform way to handle it. This is the presentation I point people to for how to create a driver app for a random piece of HID hardware:
https://developer.apple.com/videos/wwdc/2011/?id=207
For testing / accessing HID devices, i.e.
Get Feature Report (matt's original question)
Sending Feature Reports
Sending Output Reports
Receiving Input reports
I'd suggest the "HIDAPI Test Tool" / "testgui" included in the great cross-platform HID library from signal11/hidapi.
On Windows you require an additional 3rd party package to compile the testgui application, but it was pretty easy and the GUI tool was more straightforward that other code examples and tools I saw. (I could cross-check if I am maybe allowed to publish a VS2008 compiled version of this.)
Another free option for sending output reports and receiving input reports, is our own "Docklight" tool (in evaluation mode, unlimited time, just no storing), see Docklight Scripting HID USB.

Can i write my own firmware for a scanning device in vb.net?

i was wondering if it was possible to write my own firmware that will run on a device im making. This device is very similar to the price portable price checkers you see in grocery stores. it scans the barcode which returns an id number. More information about my device and about the big project im working on can be found here:
My Idea For A New Type Of WCP (Wireless Connection Protocol)
I'd like to write this firmware in VB.net because im Very Familiar with it, however if another language would be better please specify which one and where i should start.
An example of what i want the scanning firmware to be like is the iphone/ipod touch application called Qrafter. it allows you to scan any QR code and depending on what its value is, act accordingly.
Firmware Spec Requirements:
Essentially, i want this firmware to get the value of the QR code that the scanner reads, and compare the value to the ID that is stored as a variable in the firmware itself. when i make more devices ill assign each one a unique device ID that corresponds with a QR code to match.
The device you are making surely is using some type of microcontroller. You will need to write the firmware in the language the microcontroller supports.
If you are still in the vaporplanning stages, you can start looking at Netduino microcontrollers that uses the .NET Micro Framework
Some blog posts on Netduino:
http://www.hanselman.com/blog/TheNETMicroFrameworkHardwareForSoftwarePeople.aspx
http://10rem.net/blog/2010/09/02/first-experiences-with-netduino-and-the-net-micro-framework

NXT mindstorm drawing robot

I am a high school student and am thinking of making a robot that draws using different colored markers. I would like some guidance as to where I should start with this program.
What I want to do is to construct a program on the computer where you could draw the path you want the robot to draw and then using the bluetooth dongle and the bluetooth developer kit I would send the command to the robot to draw the path for real.
Well, that isn't exactly easy. But, I would presume the easiest way to do this is with the Mindstorm's kit. I have seen that you can code for the Mindstorm using C++, but I don't know the kit that well to say what or where to get the libraries. I only played with it a long time ago. Then, I assume what it would do is setup a virtual COM port on your computer through bluetooth that you could use to communicate with the kit.
At least, that is in theory.
Another option is to have a program on the PC (written in a language of your choice) that generates a text file containing details about each line segment. This could then be sent to the robot via a USB cable.
A program on the brick could then parse the text file, and move accordingly.
There's no real need to use bluetooth here.

Capturing IR Data using VB.NET

Just found an old IR reciever (Microsoft eHome Infared Transceiver) and i'm trying to write an application that can use data it captures...
Any examples or jumping off points for this are appreciated.
Looks like it's a USB HID device. As such, you should be able to use Win32 API to talk to it - similar to other USB HID devices.
I think the Microsoft eHome Infared Transceiver is a Human Interface Device (HID), so I'd start with The HID Page.
This has a VB.NET sample on it.