Arduino sending serial data to Hololens 2(Unity) via USB C - c#

im trying to find my Arduino on my hololens with the Windows.Devices.Enumeration.DeviceWatcher.Added event but it doesnt come up, on my pc the uwp console app works and i can read the arduino serial data.
DeviceInformation.FindAllAsync(SerialDevice.GetDeviceSelector()) also does not work as it only returns the hololens itself. Looking specificly for the device using its VID an PID also returns device.Count == 0:
string selector = SerialDevice.GetDeviceSelectorFromUsbVidPid(vid,pid); DeviceInformationCollection devices = await DeviceInformation.FindAllAsync(selector, null);
all these methods work and have been tested on pc, Hololens seems to not add the arduino to the DeviceInformation list. the weird thing is when you go to Setting/Devices on the hololens you can see the arduino even with name(Seeeduino nano in my case) but it gets disconnected and reconnected every other second.
also when you put this in the uwp Package.appxmanifest the unity app wont start on the hololens, but this has nothing to do with finding the device in the list only with creating the SerialDevice.
<DeviceCapability Name="serialcommunication"/>
Does anyone know if it is possible to read the serial data from arduino using usb c connected to the hololens?

Currently, it is recommended you try to communicate with Arduino over Network such as Bluetooth or Wi-Fi. Besides, you can provide more information about your request and submit a feature request via feedback hub on new feature request to be considered in future releases of HoloLens OS and devices. If it's a hot impacted feature, it will be possible to be given priority to jump in the development schedule.
For how to post feedback request, you can follow this doc: Send feedback to Microsoft with the Feedback Hub app.

Related

Bluetooth Call Receive with 32feet.net and c#

I need to perform two task in c#
1) with USB cable
2) with Bluetooth
i want to dial and receive calls from smart android mobile. Mobile can be connected with USB cable or Bluetooth. I can dial and receive calls using USB cable by AT commands. Android mobile is connected as USB GSM Modem (Virtual com port). AT+CLIP=1 give a number information along with RING when someone is calling. So i can attend call by viewing a specific number. This part is working Well.
The second part is same thing with Bluetooth. I used 32feet.net for dialing a call. I am able to make a call after going through these forums links
Bluetooth dial with 32feet.net and c#
Bluetooth communication from PC to mobile phone, use laptop speaker and mic during voice call
Get Data from Bluetooth device in C#
now i am not able to get any information when anyone is calling on Bluetooth
i am using hand free profile as using serial port i get an error may be my mobile not support Bluetooth virtual com port.
can anyone point out me how i can get information that which one is calling or invoke some function when anyone call. I need to get a number which one is calling that help me in decision to accepting or rejecting a call.
Bluetooth: use HandsFree Profile. It runs RFCOMM control channel that allows your application to place a call, handle incomming calls, 3-way calling and other things using AT commands (HFP is well documented so you can find all the commands in its specification). However Windows standard Bluetooth driver from Microsoft does not support connection to HFP Audio Fateway. You can do it with BlueSoleil only.
USB: There is no USB HFP profile. Android supports only DUN through USB so it can act as USB GSM Modem only and supports only modem commands. No voice and no other commands.

using arduino input in mobile

I need to know how hard will it be to get input from a heartbeat sensor connected to arduino to a android running a unity made app. Im making for my degree final project a vr system that take a real time heartbeat input to effect the unity game, and i need to decide if i want a simple android vr or oculus (which is less common and more expensive). The plan is to connect the arduino via usb and call the serial port, but i think it may be more complicated then that. Since I have no prior experience in arduino i would love to get your advice in what I will need to do to make it work.
The easiest way is to send the collected data through Bluetooth controller. You can buy an HC-05 Wireless Bluetooth Serial Transceiver Module for 3 US dollars. You can connect the device to Rx and Tx terminals on Arduino. See this link for details on how to use HC-05 with Arduino.
In android device side Install or create an android application which can send data through Bluetooth serial terminal. You can find lot of BT serial port terminal applications in play store. I think some of the applications are open source and you can use their code in your own application.

Communicating with multiple BLE devices using WIndows 10 UWMP

I'm running Windows 10 IoT on Raspberry pi 3 and I have like 10 Arduino based BLE devices with which I need to communicate with.
I need my program to iterate through all the 10 BLE devices, send a command and receive a response.
I have done it on Android, but I'm don't know how to do it on Windows 10. Any help would be great.
Thank you
Not fully sure if you are wanting to plug 10 Arduinos into a Raspberry Pi, or if you want to communicate to 10 BLE enabled Arduinos wirelessly. If it's the latter, I can help. I'm assuming you have an understanding BLE fundamentals.
Overview: Basically you'll want to pair the bluetooth Arduinos with Win IoT, connect to each one of them, send and receive data using GATT Characteristics, then disconnect when finished.
Get a HCI BLE dongle form the list of supported BLE dongles for Win IoT.
You must then pair each BLE Arduino to Win IoT. This will allow the Pi to find the devices through your code.
To send data and receive responses form the wireless BLE devices, a connection must first be established.
I assume you'll have already programmed the Arduinos to have a Characteristic (possibly named "command"), in their GATT database with write access and another (possible named "response") with read access and notifications enabled. Characteristics are like sockets. Make sure your Arduinos have something similar to this set up.
In your Win IoT code, you'll have to discover these GATT Characteristics while connected to the Arduino. After discovery, data can be written to the "command" Characteristic.
Arduino can then respond by triggering the notification that data is waiting on the "response" characteristic. After the Pi has received this notification, it should then proceed to read the "response" Characteristic from the Arduino's GATT database.
Finally disconnect when finished and repeat on the next Arduino.

Accessing Apple IR Receiver with C# (Windows 7 in bootcamp)?

My school gave us MacBook Pros when we were accepted. I bought an IR remote for it later and I have the IR receiver (built in) working normally on itunes and other apps that accept input from it. I want to receive input from the remote in my own programs and I have no idea how to do that.
I've looked and a lot of examples talk about using the System.Net.Ports.SerielPort class but when I look under device manager it says that the IR receiver is connected via USB and I don't believe the SerielPort can access a USB device (although I know very little about the class).
What APIs are available that would help me receive input from the IR Receiver that's appearantly plugged into USB?
If it is an HID device (you should be able to confirm in the device manager)then you can look at this project for an example of how I used Windows API to access another USB HID device. You'll still need information on the IR receiver itself to know how it's commands work.

Getting a notification when my system freezes

I have a minor problem where my (new) computer tends to completely freeze up. Am not sure when it happens exactly but the 6 times that it did happen during the last 4 weeks, it could have been related to a very long rendering task that eats up lots of RAM. (Am actually pretty sure that this rendering engine is causing this problem.) Anyway, I don't really care about what causes the problem. I can repeat it by having the same image rendered again and waiting about 4 hours for it to finish. And I can avoid it by making a minor adjustment to the rendered image which somehow seems to solve it all. It's likely a bug in the rendering engine.
And when I say Freeze, I mean that everything stops responding. Keyboard, mouse, disks, they all just stop and the image on my screens are frozen. I don't get a BSOD or automated reboot.
I don't mind the freeze-up, but I would like to receive a warning when the system does freeze up. So I was thinking about a simple solution that should warn me when it does freeze up again. To do so, I want to use an old SmartPhone (HP IPAQ) which runs Windows Mobile 6 and connect it to my computer through one of the USB ports. It would just continue to communicate with my computer to check if it's still alive. When the computer doesn't respond for 5 minutes, it will assume the system is frozen and would have to send a signal to me. Basically, I want it to send me an SMS message to my other phone. Well, consider the SmartPhone to be a kind of lifeguard...
Anyways, I am quite familiar with software development, just don't know where to start with this application. I will be using the .NET Compact Framework and need some pointers in the right direction to do the following:
1) How to connect to a service on another PC using the USB connection and not some wireless Internet connection? (And definitely NOT any Internet over GSM options, since it's just a prepaid card that I'm using for this phone.)
2) How to send an SMS message from this phone to my other phone?
3) Are there already some existing solutions similar to this thing I just came up with, which could save me some time programming?
I used to have an iPaq pocket pc and based on what i remember when you hook them up to the pc they pick up an IP address.
That IP address is the key to your problem,
your computer could ping your pocket pc's ip as a heartbeat. that way you can be sure that you aren't going through GSM since the Desktop is calling the handheld. How to: Create a Socket Listener your socket listener would be listening on your pocket pc if it doesn't get any messages in a set period of time it would trigger the alert winch would send out your SMS.
You could also do the reverse, where your pocket pc would be pinging your desktop, just make sure that you are using the local IP to avoid traffic over GSM
Sending SMS using compact framework
Send SMS Sample
1) You can connect to a USB port as a COM port - many examples on how to do this especially around using GPS. Write an app for your pc to listen to USB for a message and respond. Write the app on the phone to periodically send a message to the PC and get a response.
2) There should be an API for the phone to send an SMS.
3) Not that I know of, the closest being anything that communicates on USB such as I mentioned with GPS-enabled devices.
Good luck - I know (since I have worked with all the technologies you are talking about) that I wouldn't have a problem making this, but for those without that experience it could get tricky.

Categories