I'm developing a Kinect program using the official SDK version 1.5. I was wondering whether it is possible to talk to an emulated kinect device? That would allow for faster coding and debugging, since I don't have to plugin the device but could replay some data.
Is that possible? if so, how do I get started?
I've only used the offical Kinect SDK for a few days, but recommend having a look at Kinect Studio. There's a good article on working with Kinect Studio on msdn to get started.
Related
So I've got a few Kinect v2s and am hoping to set up an array of them to get a 3D recording of an area in space (Eventual goal is to build a 360 image from multiple point clouds) But at the moment I can't even get one working on a machine.
I've installed the official SDK onto a windows 10 device and when opening the kinect studio I get nothing but a grey screen when connected to the kinect. Running the kinect configuration verfier says the USB controller is unknown and the system is waiting for the kinect to respond. The kinect itself does not light up, and it's cooling fan does not turn on.
I have reinstalled the SDK, tried 3 different kinects, tried various drivers and troubleshooting guides, and still cannot get anything out of the kinect.
The best answer I've found is that only some controllers are compatible, but every PC I have tried (currently 5 machines) have "Intel(R) USB 3.0 eXtensible Host Controller - 1.0 (Microsoft)" So basically do I really have to get a PCI USB controller or another machine, or is there any way to get the current system to work with the kinect v2 at all.
Also if I do need to buy a new device or PCI card are there any recommended for a setup that would idealy run 4-5 kinects?
Unfortunately, the Kinect V2 prevents you from simultaneously running more than one Kinect on a system:
Sensor Acquisition and Startup
Kinect for Windows supports one sensor, which is called the default sensor. The KinectSensor Class has static members to help configure the Kinect sensor and access sensor data.
Kinect API Overview
A workaround that I've used in the past is to have 1 computer for every Kinect (doesn't have to be fancy, just enough to run it) and then network all the machines together with a router. Designate one machine to be the controlling machine (handles turning on/off of other Kinects). Depending on what you plan on doing to the data, it may be helpful to have those other machines perform some pre-processing and leave the stitching off all the Kinects' feeds up to the controlling machine.
As far as the USB controller goes, I'm running Kinect v2 on that exact one, so other than that malfunctioning, I think you're fine. Have you tried running the "Kinect v2 Configuration Verifier" to see what it suggests? Kinect v2 Configuration Verifier
Has anybody found the specifications for the USB protocol used by the Xbox controllers? All I can find is the API documentation of Microsoft's implementation (Xinput). I'm trying to write a driver for OS X so Xinput controllers will appear as normal HID devices. Without the specs I'm pretty at a loss...
There is a linux driver here https://github.com/Grumbel/xboxdrv for the XBox that should get you a long way to getting it working on Mac. I don't think the spec is available legally without signing an NDA and paying Microsoft money.
I am creating a windows application which scans barcode and identifies the product. For it, I am planning to use a webcam temporarily. I want to know how can I interface my webcam with the application. The webcam is USB one.
The application is similar to the ones available these days on Smartphones.
Please help.
Thank You!
You can use either the WIA approach or the DirectShow, depending on your web cam driver. In both cases, unless you are very familiar with these 2 approaches, you might want to use a third-party library. We are using a third-party multimedia toolkit named leadtools to control our web cameras. You can check this forum post for further information.
Also, this toolkit supports reading barcodes. For more information, refer to this Tutorial
You need to make use of Windows Image Acquisition (WIA)
Here are several resources which you can use.
How to use a web cam in C# with .NET Framework 4.0 and Microsoft Expression Encoder 4
C# WebCam User Control Source
How do I connect to a USB webcam in .NET?
or DirectShow.Net
Webcam using DirectShow.NET
I wanted to start with the smartcard programming soon. Please help me the things required for starting the learning using javacard. Which IDE (If any IDE Supports), Software and Hardware related? Like Mobile phone simulator is there any smartcard simulator or else if I have to buy a smartcard specify those cards where and how I can get?
A general answer regarding smartcard programming is that you should be ready to navigate a confusing list of tools and technologies. Typically smartcard developers begin with a specific hardware platform in mind: more specific than simply javacard.
Since you've specifically mentioned javacard, we can focus on a few starting points.
Javacard SDK
You might begin with the javacard dev kit. I haven't used the most recent - I'm still using 2.0.2. This dev kit is very command-line oriented, so expect to be doing most of your work outside an IDE. However, the documentation is pretty helpful and should get you up to speed pretty quickly. At any rate, it's a good place to start, since it's official.
EclipseJCDE also looks interesting, but I haven't used it. I seem to recall another project aiming to build javacard Eclipse tools, but I may just be thinking of EclipseJCDE.
IBM Tools
At one time IBM published and maintained a set of JCOP tools that integrated with the Eclipse IDE. The great thing about this is that they would send you a package containing some dev tools and a couple of JCOP cards. The annoying thing is that an activation code was required. Have a look here. The download link is still good, good luck with the email address listed there. Also note that these tools require an older build of Eclipse. The build/debug support is very good, including a built-in javacard simulator.
Global Platform
If you plan on doing javacard programming, you should also get to know Global Platform. It's a smartcard standard, and in the context of javacard, you'll need to know about the GP spec when you need to load and manage javacard applets. This is required for working with JCOP cards. For the latest GP spec search for GlobalPlatform Card Specifications. You'll need to be very familiar with basic smartcard concepts, e.g. APDUs.
Hardware
Hardware choices are too varied for me to make useful recommendations, beyond the JCOP stuff above. As I mentioned, if you can use the IBM kit then you'll get a good JCOP/javacard simulator with the Eclipse tools. I'm sure there are other card simulators available.
etc.
Beyond that there is a long list of other technical specifications employed by smartcard programmers, and unfortunately many of them aren't freely available (ISO docs). If you'll be doing GSM programming, I think you can get to all of the GSM specs, search for ETSI GSM specifications. GSM 11.11 is particularly useful for learning more about APDU command/response, without access to ISO specs, e.g. ISO 7816-4.
Share two new Free tools that I am using to learn javacard here.Hope to help others get started with javacard easily.
JCIDE: It is an Integrated Development Environment designed specifically for the Java Card programming language.
PyAPDUTool: It is a handy tool which can communicate with the card via the reader connected to PC. It is a PC/SC compliant application.
Has anyone tried the new OVI SDK for Symbian development?
What are your experiences?
Do you believe that it can help Nokia get more programmers building applications for Symbian based devices, or do you consider Flash Lite, Java or Python to be best choices?
As I understand it the Ovi SDK is a web based framework similar to or built on WRT. This certainly fills a niche. My worry is that it will be tied to Nokia handsets only, and won't work with the other Symbian devices.
WRT, Python, Qt+Symbian C++ seem like safer bets for cross device compatibility.