我正在使用Winform C#使用Hololens设备制作应用程序。
我希望我可以检查Hololens设备是否已连接到PC,以便可以在Hololens和PC之间传输数据。
我发现一种解决方案是检查是否可以访问Hololens内部存储,如果可以,则检查Hololens是否已连接到PC。
但是我发现即使可以在资源管理器中看到内部存储,我也无法获得Hololens内部存储,但是我无法获得Hololens内部存储的驱动程序(例如C:\或D:\)没有设备号。
我该怎么办?除了网络以外,还有什么更好的方法可以检查Hololens是否已连接并在Hololens和PC之间传输数据?
由于有一个名为ADB的附属项目,是否有必要开发类似ADB的项目?如果是这样,我应该如何开始?
----------------------------编辑------------------ -
我终于找到了可行的解决方案:
首先,在PC应用程序中,我使用了一个名为libusbDotNet
的库,该库可让您完全控制Hololens等USB设备,以向Hololens设备发送命令
第二,在Hololens平台上,编写一个UWP应用程序,该应用程序可以通过usb电缆从PC接收数据,并将响应数据发送回PC
答案 0 :(得分:1)
从讨论开始。实际的问题是如何从远程PC访问HoloLens文件系统。
可以通过Windows Device Portal REST API解决。
但是我建议使用WindowsDevicePortalWrapper。您应该通过USB或WiFi连接到设备,并提供对其的访问权限。
简单代码,可读取一个已知文件夹的内容。
static void Main(string[] args1)
{
string DeviceAddress = "http://127.0.0.1:10080/";
DevicePortal Portal = new DevicePortal(new DefaultDevicePortalConnection(DeviceAddress, "user", "pass"));
Portal.ConnectAsync().Wait();
var folders = Portal.GetKnownFoldersAsync().Result.Folders;
var rootDirOfFirstFolder = Portal.GetFolderContentsAsync(folders[0], null).Result.Contents;
Console.WriteLine($"First known folder is {folders[0]}. It contains:");
foreach(var file in rootDirOfFirstFolder)
{
Console.WriteLine($"\t{file.Name}");
}
Console.WriteLine("Press ANY key to continue.....");
Console.ReadKey();
}
类似的人员用于在设备上读取/写入文件。