The Mixed Reality Forums here are no longer being used or maintained.
There are a few other places we would like to direct you to for support, both from Microsoft and from the community.
The first way we want to connect with you is our mixed reality developer program, which you can sign up for at https://aka.ms/IWantMR.
For technical questions, please use Stack Overflow, and tag your questions using either hololens or windows-mixed-reality.
If you want to join in discussions, please do so in the HoloDevelopers Slack, which you can join by going to https://aka.ms/holodevelopers, or in our Microsoft Tech Communities forums at https://techcommunity.microsoft.com/t5/mixed-reality/ct-p/MicrosoftMixedReality.
And always feel free to hit us up on Twitter @MxdRealityDev.
Sending a barcode to a software on my pc (wifi available)
Hi guys,
I'm a starting programmer on the Microsoft Hololens. I would like to scan a barcode with the Hololens and then send it as string or int to my PC an put it in another software. Is this possible and how should I do this ?
Thanks in advance!
Best Answer
-
mtaulty ✭✭
Hi,
Yes. This is possible. In terms of scanning a barcode, there are a number of ways of doing it with perhaps the first option being to take a look at this document which talks about using the built-in UWP BarcodeScanner class with image frames from the HoloLens web camera in order to scan barcodes.
This works on HoloLens. One challenge though (if I remember correctly) is that this document assumes you want a 2D UI using the system's preview capability. On HoloLens, you are perhaps working in a 3D/Unity environment and you probably don't need to preview what's coming from the camera because you can already see it! I wrote some code around that idea here although it could now be a little out of date but might give you some pointers.
If you now have a barcode, how to get it to your PC? There are lots of ways that you could do this. You could use traditional networking techniques like having a datagram/stream socket between the two devices. You could use something like Bluetooth to advertise the data & pick it up. You could combine the two techniques and I have some old code here which you might repurpose to do just that.
You could use a cloud mechanism like an Azure queue. You could have both devices connect to a cloud service (like a SignalR implementation) and pass the information that way. You could use something like "Project Rome" to invoke a remote 'app service' on another device.
I hope that helps a little - the main thing is that this is definitely achievable, you just need to pick the way that's best for your scenario.
5
Answers
Hi,
Yes. This is possible. In terms of scanning a barcode, there are a number of ways of doing it with perhaps the first option being to take a look at this document which talks about using the built-in UWP BarcodeScanner class with image frames from the HoloLens web camera in order to scan barcodes.
This works on HoloLens. One challenge though (if I remember correctly) is that this document assumes you want a 2D UI using the system's preview capability. On HoloLens, you are perhaps working in a 3D/Unity environment and you probably don't need to preview what's coming from the camera because you can already see it! I wrote some code around that idea here although it could now be a little out of date but might give you some pointers.
If you now have a barcode, how to get it to your PC? There are lots of ways that you could do this. You could use traditional networking techniques like having a datagram/stream socket between the two devices. You could use something like Bluetooth to advertise the data & pick it up. You could combine the two techniques and I have some old code here which you might repurpose to do just that.
You could use a cloud mechanism like an Azure queue. You could have both devices connect to a cloud service (like a SignalR implementation) and pass the information that way. You could use something like "Project Rome" to invoke a remote 'app service' on another device.
I hope that helps a little - the main thing is that this is definitely achievable, you just need to pick the way that's best for your scenario.
@mtaulty
I tried to make a connection by sending a string with sockets (TCP). It works in Unity but when I want to build my solution to visual studio 2017 there are some build errors due to System. Net is not supported by unity. I tried to insert an asset 'System.Net.dll' but it doesn't work. Do you have a solution for this?
public void Click()
{
client = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
IPAddress ip = IPAddress.Parse("10.10.3.118");
IPEndPoint remotePc = new IPEndPoint(ip, 7001);
client.Connect(remotePc);