如何使用 Winform C# 应用程序通过 USB 数据线将数据传输到 Hololens 设备?
How to use Winform C# app to transfer data to Hololens device with USB cable?
我正在使用 Winform C# 为 Hololens 设备制作应用程序。
我希望能检查一下Hololens设备是否连接到PC,这样我就可以在Hololens和PC之间传输数据了。
我找到一个解决方案是检查我是否可以访问 Hololens 内部存储,如果可以检查,则 Hololens 已连接到 PC。
但我发现我无法获取Hololens内部存储,即使我可以在资源管理器中看到内部存储,但我无法获取驱动程序(如 C:\ 或 D:\ ),Hololens内部存储没有设备编号。
我该怎么办?有没有更好的方法来检查Hololens是否已连接并在除网络之外的PC之间传输数据?
既然有ADB这样的smilar项目,有必要开发类似ADB的东西吗?如果可以,我应该如何开始?
----------------------------编辑---------------- ----
我终于找到了可行的解决方案:
首先,在 PC 应用程序中,我使用了一个名为 libusbDotNet
的库,它允许您完全控制 Hololens 等 USB 设备,以向 Hololens 设备发送命令
其次,在Hololens平台,编写一个UWP应用程序,可以通过usb数据线从PC接收数据,并将响应数据发送回PC
来自讨论。实际问题是如何从远程 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();
}
类似的工作人员针对设备上的 reading/writing 个文件。
我正在使用 Winform C# 为 Hololens 设备制作应用程序。
我希望能检查一下Hololens设备是否连接到PC,这样我就可以在Hololens和PC之间传输数据了。
我找到一个解决方案是检查我是否可以访问 Hololens 内部存储,如果可以检查,则 Hololens 已连接到 PC。
但我发现我无法获取Hololens内部存储,即使我可以在资源管理器中看到内部存储,但我无法获取驱动程序(如 C:\ 或 D:\ ),Hololens内部存储没有设备编号。
我该怎么办?有没有更好的方法来检查Hololens是否已连接并在除网络之外的PC之间传输数据?
既然有ADB这样的smilar项目,有必要开发类似ADB的东西吗?如果可以,我应该如何开始?
----------------------------编辑---------------- ----
我终于找到了可行的解决方案:
首先,在 PC 应用程序中,我使用了一个名为 libusbDotNet
的库,它允许您完全控制 Hololens 等 USB 设备,以向 Hololens 设备发送命令
其次,在Hololens平台,编写一个UWP应用程序,可以通过usb数据线从PC接收数据,并将响应数据发送回PC
来自讨论。实际问题是如何从远程 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();
}
类似的工作人员针对设备上的 reading/writing 个文件。